Bonjour,
J'ai créé un formulaire sous Access 2003, VBA 6.3, Windows XP professionel qui s'appelle "F_Principal". Dedans, il y a une zone de texte "Texte1", un bouton "Commande30" et un sous-formulaire "SF_Test", dont les champs sont les n° de commande (champ numérique) et les prestations (champ texte).
Lorsque j'appuie sur le bouton, je souhaite réaliser une boucle qui va chercher le champ prestation égal au texte tapé dans la zone "Texte1" et qui la remplace par le texte "Bonjour".
Mon code est le suivant:
En testant, le message d'erreur "Erreur d'exécution '3021': Aucun enregistrement en cours apparaît." et la ligne Me.SF_Test.Form.Recordset.MoveNext est surlignée en jaune
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Commande30_Click() Me.SF_Test.Form.Recordset.MoveFirst Do While Forms!F_Principal!SF_Test![Numéro de commande] > 0 Dim c As String c = Me.Texte1 If Forms!F_Principal![SF_Test]![prestation] = c Then Forms!F_Principal![SF_Test]![prestation] = "Bonjour !" Else End If Me.SF_Test.Form.Recordset.MoveNext Loop End Sub
En essayant le même code dans un formulaire (et non plus un sous-formulaire), le code fonctionne bien.
Merci beaucoup de votre aide !
Partager