Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recordset en Dynaset avec requete SQL

1 réponse
Avatar
nenelle
Bonjour,

Je suis sous Access 2000, et j'ai un probl=E8me avec un=20
recordset que je veux cr=E9er en Dynaset (ou snapshot). Mais=20
dans les deux cas, ca ne marche pas.
Je veux baser ce recordset sur une requete.
Access dit qu'il attend une autre donn=E9e pour pouvoir=20
cr=E9er le Recordset.
Voil=E0 le code VBA :

Dim MyDatabase As Database
Dim MyRS As Recordset
Dim MyRecordset As Recordset
Dim SQLQuery As String
Set MyDatabase =3D CurrentDb()
Set MyRS =3D MyDatabase.OpenRecordset("CostStatement",=20
dbOpenTable)
MyRS.Index =3D "MN"
MyRS.Seek "=3D", [Membership Number]
If MyRS.NoMatch =3D False Then
SQLQuery =3D "SELECT FinancialOfficer FROM CostStatement=20
WHERE ((CostStatement.MembershipNumber) =3D=20
(Member_ContactBankDetails.[Membership Number]));"
Set MyRecordset =3D MyDatabase.OpenRecordset(SQLQuery,=20
dbOpenDynaset) 'Le probl=E8me est l=E0 !!
MyRecordset.MoveLast
MyRecordset.MovePrevious
Member_ContactBankDetails.txtOfficialName.Value =3D=20
MyRecordset!FinancialOfficer
MyRecordset.Close
End If
MyRS.Close
Me.Requery

Merci d'avance

1 réponse

Avatar
Philippe PONS
Salut,

As tu d'abord testé ta requête dans l'éditeur de requête?
Pour ça, faire exécuter le code en pas à pas jusqu'a l'affectation de
SQLQuery, récupérer sa valeur par un debug.Print SQLQuery, la copier et la
coller dans l'éditeur SQL, et tester.

HTH,

Philippe.

"nenelle" a écrit dans le message de
news:49dc01c376d5$9a984d50$
Bonjour,

Je suis sous Access 2000, et j'ai un problème avec un
recordset que je veux créer en Dynaset (ou snapshot). Mais
dans les deux cas, ca ne marche pas.
Je veux baser ce recordset sur une requete.
Access dit qu'il attend une autre donnée pour pouvoir
créer le Recordset.
Voilà le code VBA :

Dim MyDatabase As Database
Dim MyRS As Recordset
Dim MyRecordset As Recordset
Dim SQLQuery As String
Set MyDatabase = CurrentDb()
Set MyRS = MyDatabase.OpenRecordset("CostStatement",
dbOpenTable)
MyRS.Index = "MN"
MyRS.Seek "=", [Membership Number]
If MyRS.NoMatch = False Then
SQLQuery = "SELECT FinancialOfficer FROM CostStatement
WHERE ((CostStatement.MembershipNumber) (Member_ContactBankDetails.[Membership Number]));"
Set MyRecordset = MyDatabase.OpenRecordset(SQLQuery,
dbOpenDynaset) 'Le problème est là !!
MyRecordset.MoveLast
MyRecordset.MovePrevious
Member_ContactBankDetails.txtOfficialName.Value MyRecordset!FinancialOfficer
MyRecordset.Close
End If
MyRS.Close
Me.Requery

Merci d'avance