Bonjour à tous,
J'ai un formulaire assez "complexe" qui contient différents sous-formulaires, zones de texte de calcul se servant des sous-formulaires,...
Le problème que je rencontre est que je souhaiterai récupérer la valeur d'une des zone de texte pour l'ajouter dans une table, et ceci pour chaque enregistrement du formulaire :-)
J'avais donc fait un bout de code qui ressemble à ça :
Je ne suis pas sur que ce code soit très "bon", qu'en pensez-vous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub cmdAddTest_Click() Dim i, nb DoCmd.OpenForm "frmProduit" nb = DCount("[idPF]", "tblPxRevCorrespondance") For i = 0 To nb -1 ' il s'agit de la requête ajout qui récupère la valeur du formulaire pour l'ajouter à la table DoCmd.OpenQuery "qryAddTest" If i <> nb - 1 Then DoCmd.GoToRecord , , acNext Next i DoCmd.Close acForm, "frmProduit" End Sub
Et le principal problème est que chaque valeur ajoutée est "1", qui ne correspond pas au 267, 106, 18,...que j'attends et que j'obtiens lorsque je lance la requête en manuel après avoir ouvert le formulaire et attendu qu'il se charge complètement.
Il aurait donc été intéressant de s'assurer que le formulaire soit bien chargé avant d'exécuter la requête, c'est là que je bloque.
Par avance merci,
@+
P.S. j'ai testé http://access.developpez.com/faq/?page=system#sleep mais cela ne fonctionne pas car la pause se fait avant le chargement du forumlaire et empêche même ce chargement.
Partager