Bonjour,
Je suis dans un sous formulaire avec des textbox. Quand je modifie la valeur
de la textbox, un code vba est exécuté. Ce code effectue une requete SQL. Le
problème, c'est qu'au moment de la requete, la valeur dans la table est
toujours la vieille valeur donc access n'a pas encore enregistré ma saisie
dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
Bonjour, Je suis dans un sous formulaire avec des textbox. Quand je modifie la valeur de la textbox, un code vba est exécuté. Ce code effectue une requete SQL. Le problème, c'est qu'au moment de la requete, la valeur dans la table est toujours la vieille valeur donc access n'a pas encore enregistré ma saisie dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
Oublié de dire : Merci d'avance ;)
Bonjour,
Je suis dans un sous formulaire avec des textbox. Quand je modifie la valeur
de la textbox, un code vba est exécuté. Ce code effectue une requete SQL. Le
problème, c'est qu'au moment de la requete, la valeur dans la table est
toujours la vieille valeur donc access n'a pas encore enregistré ma saisie
dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
Bonjour, Je suis dans un sous formulaire avec des textbox. Quand je modifie la valeur de la textbox, un code vba est exécuté. Ce code effectue une requete SQL. Le problème, c'est qu'au moment de la requete, la valeur dans la table est toujours la vieille valeur donc access n'a pas encore enregistré ma saisie dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
Raymond [mvp]
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction: Forms!Formprincipal![sous-formulaire].Form.Dirty = False
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
Bonjour, Je suis dans un sous formulaire avec des textbox. Quand je modifie la valeur de la textbox, un code vba est exécuté. Ce code effectue une requete SQL. Le problème, c'est qu'au moment de la requete, la valeur dans la table est toujours la vieille valeur donc access n'a pas encore enregistré ma saisie dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction:
Forms!Formprincipal![sous-formulaire].Form.Dirty = False
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: 090B75FF-41C0-4CAD-96C8-649E80F2001C@microsoft.com...
Bonjour,
Je suis dans un sous formulaire avec des textbox. Quand je modifie la
valeur
de la textbox, un code vba est exécuté. Ce code effectue une requete SQL.
Le
problème, c'est qu'au moment de la requete, la valeur dans la table est
toujours la vieille valeur donc access n'a pas encore enregistré ma saisie
dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction: Forms!Formprincipal![sous-formulaire].Form.Dirty = False
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
Bonjour, Je suis dans un sous formulaire avec des textbox. Quand je modifie la valeur de la textbox, un code vba est exécuté. Ce code effectue une requete SQL. Le problème, c'est qu'au moment de la requete, la valeur dans la table est toujours la vieille valeur donc access n'a pas encore enregistré ma saisie dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
ccriniti
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en c, j'obtiens b. La requete a toujours un cran de retard par rapport a ma saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction: Forms!Formprincipal![sous-formulaire].Form.Dirty = False
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
Bonjour, Je suis dans un sous formulaire avec des textbox. Quand je modifie la valeur de la textbox, un code vba est exécuté. Ce code effectue une requete SQL. Le problème, c'est qu'au moment de la requete, la valeur dans la table est toujours la vieille valeur donc access n'a pas encore enregistré ma saisie dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je
modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en c,
j'obtiens b. La requete a toujours un cran de retard par rapport a ma saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction:
Forms!Formprincipal![sous-formulaire].Form.Dirty = False
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: 090B75FF-41C0-4CAD-96C8-649E80F2001C@microsoft.com...
Bonjour,
Je suis dans un sous formulaire avec des textbox. Quand je modifie la
valeur
de la textbox, un code vba est exécuté. Ce code effectue une requete SQL.
Le
problème, c'est qu'au moment de la requete, la valeur dans la table est
toujours la vieille valeur donc access n'a pas encore enregistré ma saisie
dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en c, j'obtiens b. La requete a toujours un cran de retard par rapport a ma saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction: Forms!Formprincipal![sous-formulaire].Form.Dirty = False
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
Bonjour, Je suis dans un sous formulaire avec des textbox. Quand je modifie la valeur de la textbox, un code vba est exécuté. Ce code effectue une requete SQL. Le problème, c'est qu'au moment de la requete, la valeur dans la table est toujours la vieille valeur donc access n'a pas encore enregistré ma saisie dans la table. Comment faire pour que l'enregistremetn soit imédiat ?
Raymond [mvp]
essaie de rajouter une fonction : DoEvents immédiatement après le Dirty.
fais un essai en mettant un point d'arret sur la ligne suivant le doevents et pendant l'arrêt, va voir dans la table quelle valeur tu as.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en c, j'obtiens b. La requete a toujours un cran de retard par rapport a ma saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction: Forms!Formprincipal![sous-formulaire].Form.Dirty = False
essaie de rajouter une fonction :
DoEvents
immédiatement après le Dirty.
fais un essai en mettant un point d'arret sur la ligne suivant le doevents
et pendant l'arrêt, va voir dans la table quelle valeur tu as.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: C0D806A7-84D7-41C4-8E8E-BE68C5B3755D@microsoft.com...
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je
modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en
c,
j'obtiens b. La requete a toujours un cran de retard par rapport a ma
saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction:
Forms!Formprincipal![sous-formulaire].Form.Dirty = False
essaie de rajouter une fonction : DoEvents immédiatement après le Dirty.
fais un essai en mettant un point d'arret sur la ligne suivant le doevents et pendant l'arrêt, va voir dans la table quelle valeur tu as.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en c, j'obtiens b. La requete a toujours un cran de retard par rapport a ma saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction: Forms!Formprincipal![sous-formulaire].Form.Dirty = False
ccriniti
en regardant dans la table pdt et juste après le doevents il y a toujours l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste avant la requete SQL qui donne la réponse eronnée
essaie de rajouter une fonction : DoEvents immédiatement après le Dirty.
fais un essai en mettant un point d'arret sur la ligne suivant le doevents et pendant l'arrêt, va voir dans la table quelle valeur tu as.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en c, j'obtiens b. La requete a toujours un cran de retard par rapport a ma saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction: Forms!Formprincipal![sous-formulaire].Form.Dirty = False
en regardant dans la table pdt et juste après le doevents il y a toujours
l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste avant
la requete SQL qui donne la réponse eronnée
essaie de rajouter une fonction :
DoEvents
immédiatement après le Dirty.
fais un essai en mettant un point d'arret sur la ligne suivant le doevents
et pendant l'arrêt, va voir dans la table quelle valeur tu as.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: C0D806A7-84D7-41C4-8E8E-BE68C5B3755D@microsoft.com...
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je
modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en
c,
j'obtiens b. La requete a toujours un cran de retard par rapport a ma
saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction:
Forms!Formprincipal![sous-formulaire].Form.Dirty = False
en regardant dans la table pdt et juste après le doevents il y a toujours l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste avant la requete SQL qui donne la réponse eronnée
essaie de rajouter une fonction : DoEvents immédiatement après le Dirty.
fais un essai en mettant un point d'arret sur la ligne suivant le doevents et pendant l'arrêt, va voir dans la table quelle valeur tu as.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
ça ne change a rien, la requete prend toujours l'ancienne valeur. Si je modifie a en b, la requete obtient toujours a. Si ensuite je modifie b en c, j'obtiens b. La requete a toujours un cran de retard par rapport a ma saisie.
Il te faut enregistrer les modifications faites dans ton sous-formulaire
avant de lancer ta requête, tu places la fonction: Forms!Formprincipal![sous-formulaire].Form.Dirty = False
Raymond [mvp]
après le dirty, rajoute la fonction: Forms!Formprincipal![sous-formulaire].Form.Refresh
si ça marche enlève le doevents. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
en regardant dans la table pdt et juste après le doevents il y a toujours l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste avant la requete SQL qui donne la réponse eronnée
après le dirty, rajoute la fonction:
Forms!Formprincipal![sous-formulaire].Form.Refresh
si ça marche enlève le doevents.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: DDC07833-FC0A-46F8-831E-EBDE60753E07@microsoft.com...
en regardant dans la table pdt et juste après le doevents il y a toujours
l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste
avant
la requete SQL qui donne la réponse eronnée
après le dirty, rajoute la fonction: Forms!Formprincipal![sous-formulaire].Form.Refresh
si ça marche enlève le doevents. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
en regardant dans la table pdt et juste après le doevents il y a toujours l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste avant la requete SQL qui donne la réponse eronnée
ccriniti
Non cela ne change rien. La valeur reste la meme.
après le dirty, rajoute la fonction: Forms!Formprincipal![sous-formulaire].Form.Refresh
si ça marche enlève le doevents. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
en regardant dans la table pdt et juste après le doevents il y a toujours l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste avant la requete SQL qui donne la réponse eronnée
Non cela ne change rien. La valeur reste la meme.
après le dirty, rajoute la fonction:
Forms!Formprincipal![sous-formulaire].Form.Refresh
si ça marche enlève le doevents.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: DDC07833-FC0A-46F8-831E-EBDE60753E07@microsoft.com...
en regardant dans la table pdt et juste après le doevents il y a toujours
l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste
avant
la requete SQL qui donne la réponse eronnée
après le dirty, rajoute la fonction: Forms!Formprincipal![sous-formulaire].Form.Refresh
si ça marche enlève le doevents. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
en regardant dans la table pdt et juste après le doevents il y a toujours l'ancienne valeur, ce qui est logique puisqu'on place le doevents juste avant la requete SQL qui donne la réponse eronnée
Raymond [mvp]
il y a autre chose.
avec le dirty false et le refresh, tu dois avoir la nouvelle valeur disponible. dernière précision, rapprelle-moi sur quels événements tu as mis tes fonctions.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
Non cela ne change rien. La valeur reste la meme.
il y a autre chose.
avec le dirty false et le refresh, tu dois avoir la nouvelle valeur
disponible.
dernière précision, rapprelle-moi sur quels événements tu as mis tes
fonctions.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: 6DC2DAB2-1A43-463B-9C23-A8D9714BBE1E@microsoft.com...
avec le dirty false et le refresh, tu dois avoir la nouvelle valeur disponible. dernière précision, rapprelle-moi sur quels événements tu as mis tes fonctions.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
Non cela ne change rien. La valeur reste la meme.
ccriniti
sur le textbox_Dirty()
Est-ce qu'il fallait mettre ailleur ?
il y a autre chose.
avec le dirty false et le refresh, tu dois avoir la nouvelle valeur disponible. dernière précision, rapprelle-moi sur quels événements tu as mis tes fonctions.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
Non cela ne change rien. La valeur reste la meme.
sur le textbox_Dirty()
Est-ce qu'il fallait mettre ailleur ?
il y a autre chose.
avec le dirty false et le refresh, tu dois avoir la nouvelle valeur
disponible.
dernière précision, rapprelle-moi sur quels événements tu as mis tes
fonctions.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: 6DC2DAB2-1A43-463B-9C23-A8D9714BBE1E@microsoft.com...
avec le dirty false et le refresh, tu dois avoir la nouvelle valeur disponible. dernière précision, rapprelle-moi sur quels événements tu as mis tes fonctions.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
Non cela ne change rien. La valeur reste la meme.
Raymond [mvp]
Il me semblait bien.
tu le mets sur l'évènement Form_AfterUpdate.
tu laisses la fonction dirty, refresh et doevents. ça lui fera du bien. regarde sur l'aide l'événement dirty, il ne se produit qu'une seule fois lors de la 1ere modif. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" a écrit dans le message de news:
sur le textbox_Dirty()
Est-ce qu'il fallait mettre ailleur ?
Il me semblait bien.
tu le mets sur l'évènement Form_AfterUpdate.
tu laisses la fonction dirty, refresh et doevents.
ça lui fera du bien.
regarde sur l'aide l'événement dirty, il ne se produit qu'une seule fois
lors de la 1ere modif.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ccriniti" <ccriniti@discussions.microsoft.com> a écrit dans le message de
news: 1007B6AB-FEC3-4DA2-9488-BAA1BCB99513@microsoft.com...
tu laisses la fonction dirty, refresh et doevents. ça lui fera du bien. regarde sur l'aide l'événement dirty, il ne se produit qu'une seule fois lors de la 1ere modif. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum