Bonjour à tous,
Afin d'intégrer des calculs dans une table de ma base de données, j'ai besoin de manipuler en VBA le resultat d'une requête paramétrée. J'aimerais pouvoir combiner cette requête avec une autre et la parcourir façon "Recordset".
J'ai une table où se trouve ma population : "Personnes".
J'ai un paramètre : "psIdentifiantContrat". (auquel j'ai attribué dans ce bout de code un numéro arbitraire).
La première requête passe bien mais pas la deuxième. Je reçois un message d'erreur '3078' comme quoi ma requête "mirs1" n'est pas définie...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Dim db As Database Dim mirs1 As Recordset Dim mirs2 As Recordset Dim sql1 As String Dim sql2 As String Set db = CurrentDb psIdentifiantContrat = "100000P0990000" sql1 = "SELECT Personnes.[Identifiant contrat] " _ & "FROM Personnes GROUP BY Personnes.[Identifiant contrat] HAVING (Personnes.[Identifiant contrat]=""" & psIdentifiantContrat & """);" Set mirs1 = db.OpenRecordset(sql1, dbOpenDynaset) sql2 = "SELECT mirs1.[Identifiant contrat], Personnes.Nom, Personnes.Prénom" _ & " FROM mirs1 INNER JOIN Personnes ON mirs1.[Identifiant contrat] = Personnes.[Identifiant contrat]" _ & " GROUP BY mirs1.[Identifiant contrat], Personnes.Nom, Personnes.Prénom;" Set mirs2 = db.OpenRecordset(sql2, dbOpenDynaset)
Si vous voyez où ça cloche ou s'il y a un moyen plus élégant, faites moi signe!
Merci et bonne journée.
Partager