Bizarrerie ADO ou Form....

Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010 - 30 juil. 2010 à 16:23
Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010 - 31 juil. 2010 à 12:48
Bonjour,

Alors voilà le problème "bizarre" auquel je fais face.

J'ai sur un formulaire, divers boutons permettant de remplir automatiquement une zone texte avec la date.

Private Sub btnValidationEnd_Click()
txtValidationEnd.Text = Now
End Sub

Jusque là, c'est très simple. Là où cela se complique c'est lorsque je fais l'update de ma BDD (un bouton Save & Quit avec entre autre la commande "frmUpdateDoc.AdoInfoDoc2.Recordset.Update"). En effet, ce dernier ne se fait pas SAUF si après avoir cliqué le bouton, je donne le focus à n'importe quel composant de mon formulaire. Donc, afin de contourné le problème, je fais simplement

Private Sub btnValidationEnd_Click()
txtValidationEnd.Text = Now
txtValidationEnd.SetFocus
End Sub

Et l'update fonctionne. A part éventuellement remplir une zone texte cachée, n'y a-t-il pas moyen que l'update se fasse sans avoir donné un focus ?

Merci d'avance.

"There are 10 kinds of people. Those who understand binary notation, and those who do not."

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 juil. 2010 à 23:50
Salut
Un formulaire en VB6 ?
Je pense que tu es plutôt avec un VBA dans un des logiciel d'office.
Pense à bien choisir ta catégorie, les réponses peuvent être bien différentes.

Dans ton cas, je pense simplement que la commande n'a pas le temps de s'exécuter avant que tu ne quitte ton programme.
Si cela existe, une lecture de l'état (State) de ta commande pourrait permettre d'attendre qu'elle ait été exécutée.
Sinon, essaye en ajoutant un simple DoEvents, ou encore une petite boucle For-Next avec un DoEvents dedans pour attendre quelques pouillèmes de secondes, nécessaire à la fonction pour se terminer.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010
31 juil. 2010 à 12:48
Bonjour,

Merci pour ta réponse.

En fait de formulaire, je voulais surtout parler de feuille ou Form. En effet Formulaire viens surtout du VBA ;-)

Je vais essayer de mettre une temporisation.

Merci

"There are 10 kinds of people. Those who understand binary notation, and those who do not."
0
Rejoignez-nous