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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <ganaelle.antoine@orange.fr> a écrit dans le message de
news:49dc01c376d5$9a984d50$a101280a@phx.gbl...
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
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