Requête sql sur requête sql en vba
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).
Code:
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) |
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...
Si vous voyez où ça cloche ou s'il y a un moyen plus élégant, faites moi signe!
Merci et bonne journée.