MoveNext ne marche pas sur VBA access - Microsoft 365
Résolu/Fermé
ggsemp
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021
-
13 avril 2021 à 18:41
ggsemp Messages postés 15 Date d'inscription jeudi 11 octobre 2018 Statut Membre Dernière intervention 30 avril 2021 - 14 avril 2021 à 12:24
ggsemp Messages postés 15 Date d'inscription jeudi 11 octobre 2018 Statut Membre Dernière intervention 30 avril 2021 - 14 avril 2021 à 12:24
2 réponses
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
1 461
13 avril 2021 à 19:49
13 avril 2021 à 19:49
bonjour,
que veux-tu dire par "Je reste sur le meme enregistrement"?
merci d'utiliser les balises de code quand tu partages du code, comme expliqué ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
et, pour du VBA, précise "basic"
je vois deux erreurs dans ton code:
1) tu peux faire
2) où se trouve
par ailleurs, supprime la ligne
je me demande pourquoi tu fais une boucle, alors que tu n'utilises que le dernier enregistrement.
que veux-tu dire par "Je reste sur le meme enregistrement"?
merci d'utiliser les balises de code quand tu partages du code, comme expliqué ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
et, pour du VBA, précise "basic"
je vois deux erreurs dans ton code:
1) tu peux faire
lsSQL = "Client"
2) où se trouve
GestError?
par ailleurs, supprime la ligne
on error, cela ne peut que te cacher des erreurs.
je me demande pourquoi tu fais une boucle, alors que tu n'utilises que le dernier enregistrement.
ggsemp
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021
14 avril 2021 à 08:40
14 avril 2021 à 08:40
Je voudrais faire une boucle sur tous les enregistrements (du 1er au dernier) capturés pas une requette.
Dans ma requette j’utilise les 4 tables liées suivantes issues de 4 bases de données:
1. Cheques_Imprimes
2. Client
3. Agence
4. Banque
Mon problème est qu’à l’exécusion de .MoveNext je reste sur le même enregistrement.
CODE COMPLET :
Dans ma requette j’utilise les 4 tables liées suivantes issues de 4 bases de données:
1. Cheques_Imprimes
2. Client
3. Agence
4. Banque
Mon problème est qu’à l’exécusion de .MoveNext je reste sur le même enregistrement.
CODE COMPLET :
Public Sub ImpressionCommandeCheque(ByVal BarreNonBarre As Integer, ByVal ChequeChequierOuCmde As Integer, ByVal LaPLanche As Integer, LeCodeBanque As String, ByVal LeCodeCmde As String, ByVal lsREfChequeChequier As String) Dim dbs As dao.Database Dim rsChequierCmde As dao.Recordset Dim lsSQL As String Dim lsFilter As String On Error GoTo GestError Set dbs = CurrentDb ''********************************************************************************************************* '' Criteres de sélection des enrégistrements de la COMMANDE à imprimer ''********************************************************************************************************* lsSQL = "SELECT Cheques_Imprimes.Type_Chequier, Cheques_Imprimes.BonLivraison, Cheques_Imprimes.Feuillet, Cheques_Imprimes.Ligne, Cheques_Imprimes.RIB_Complet, Client.Nom_Client, Client.Adresse, Cheques_Imprimes.Numero_Cheque, Cheques_Imprimes.ChequeOUlettre, Cheques_Imprimes.LigneCMC7, Cheques_Imprimes.Code_Banque, Agence.Code_Agence, Client.Numero_Cpte, Client.CleRIB, Agence.Nom_Agence, Agence.Adresse AS Adresse_Agence " _ & "FROM Banque INNER JOIN (Agence INNER JOIN (Client INNER JOIN Cheques_Imprimes ON Client.RIB_Complet = Cheques_Imprimes.RIB_Complet) ON Agence.Code_Agence = Client.Code_Agence) ON (Client.Code_Banque = Banque.Code_Banque) AND (Banque.Code_Banque = Cheques_Imprimes.Code_Banque) AND (Banque.Code_Banque = Agence.Code_Banque) " _ & "WHERE (Cheques_Imprimes.[ChequeOUlettre] ='1') And (Cheques_Imprimes.[Nr_Commande]='" + LeCodeCmde + "')AND(Cheques_Imprimes.[Code_Banque] ='" + LeCodeBanque + "')And (Client.[RIB_Complet] = Cheques_Imprimes.[RIB_Complet])" _ & "ORDER BY Cheques_Imprimes.Ligne, Cheques_Imprimes.Feuillet, Cheques_Imprimes.Numero_Cheque, Cheques_Imprimes.RIB_Complet ASC ;" Set rsChequierCmde = dbs.OpenRecordset(lsSQL) rsChequierCmde.MoveFirst With rsChequierCmde Do Until .EOF lsFilter = .Fields("Nom_Client") ' "[Cheques_Imprimes.Ligne]=" & rsChequierCmde.Fields("Ligne") MsgBox lsFilter .MoveNext Loop End With Set dbs = Nothing 'FERMETURE DE LA BASE DE SONNEES Exit Sub GestError: MsgBox Err.Number & " : " & Err.Description Resume Next End Sub
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
1 461
14 avril 2021 à 10:48
14 avril 2021 à 10:48
et ainsi?
Do Until rsChequierCmde.EOF lsFilter = rsChequierCmde.Fields("Nom_Client") ' "[Cheques_Imprimes.Ligne]=" & rsChequierCmde.Fields("Ligne") MsgBox lsFilter rsChequierCmde.MoveNext Loop
ggsemp
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021
>
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
14 avril 2021 à 11:23
14 avril 2021 à 11:23
Ça marche.
Merci infiniment.
Merci infiniment.
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
1 461
>
ggsemp
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021
14 avril 2021 à 11:34
14 avril 2021 à 11:34
comme tu le vois, ton utilisation de
peux-tu marquer la discussion comme résolue?
withempêchait l'effet du
movenext.
peux-tu marquer la discussion comme résolue?
ggsemp
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021
>
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
14 avril 2021 à 12:24
14 avril 2021 à 12:24
Thanks