Bonjour,
Je débute dans le domaine des recordsets et j'ai quelques soucis.
Contenu de la base Test.mdb :
1 table « FichierClient » contenant 1 champ « NomFamille » et 1 champ « Prénom ».
Nombre d’enregistrements 9, dont 5 dont le « NomFamille » (nom de famille contenant deux lettres à chaque fois : aa, az, ae, ar et at) commencent par un « a ».
1ère question :
Dim MaBD As Database
Dim MonRS As Recordset
Dim StrSQL As String
Set MaBD = Workspaces(0).OpenDatabase("C:\Test.mdb", False, False)
StrSQL = "Select NomFamille FROM FichierClient WHERE NomFamille = 'a*' ; "
Set MonRS = MaBD.OpenRecordset(StrSQL, dbOpenSnapshot)
=> “MonRS” est vide. Pourquoi ? Est-ce une erreur sur le caractère générique ?
2ème question :
Dim MaBD As Database
Dim MonRS As Recordset
Dim StrSQL As String
Set MaBD = Workspaces(0).OpenDatabase("C:\Test.mdb", False, False)
StrSQL = "Select NomFamille FROM FichierClient WHERE NomFamille LIKE 'a*' ; "
Set MonRS = MaBD.OpenRecordset(StrSQL, dbOpenSnapshot)
=> “MonRS” contient bien les 5 noms de famille commençant par « a ». Pourquoi cette différence de fonctionnement entre le « = » et le « LIKE » ?
3ème question :
Dim MaBD As Database
Dim MonRS As Recordset
Dim StrSQL As String
Set MaBD = Workspaces(0).OpenDatabase("C:\Test.mdb", False, False)
StrSQL = "Select NomFamille FROM FichierClient WHERE NomFamille LIKE 'a*';"
Set MonRS = MaBD.OpenRecordset(StrSQL, dbOpenSnapshot)
Puis deux cas :
Merci à toutes et à tous pour votre aide,
Greutof
Je débute dans le domaine des recordsets et j'ai quelques soucis.
Contenu de la base Test.mdb :
1 table « FichierClient » contenant 1 champ « NomFamille » et 1 champ « Prénom ».
Nombre d’enregistrements 9, dont 5 dont le « NomFamille » (nom de famille contenant deux lettres à chaque fois : aa, az, ae, ar et at) commencent par un « a ».
1ère question :
Dim MaBD As Database
Dim MonRS As Recordset
Dim StrSQL As String
Set MaBD = Workspaces(0).OpenDatabase("C:\Test.mdb", False, False)
StrSQL = "Select NomFamille FROM FichierClient WHERE NomFamille = 'a*' ; "
Set MonRS = MaBD.OpenRecordset(StrSQL, dbOpenSnapshot)
=> “MonRS” est vide. Pourquoi ? Est-ce une erreur sur le caractère générique ?
2ème question :
Dim MaBD As Database
Dim MonRS As Recordset
Dim StrSQL As String
Set MaBD = Workspaces(0).OpenDatabase("C:\Test.mdb", False, False)
StrSQL = "Select NomFamille FROM FichierClient WHERE NomFamille LIKE 'a*' ; "
Set MonRS = MaBD.OpenRecordset(StrSQL, dbOpenSnapshot)
=> “MonRS” contient bien les 5 noms de famille commençant par « a ». Pourquoi cette différence de fonctionnement entre le « = » et le « LIKE » ?
3ème question :
Dim MaBD As Database
Dim MonRS As Recordset
Dim StrSQL As String
Set MaBD = Workspaces(0).OpenDatabase("C:\Test.mdb", False, False)
StrSQL = "Select NomFamille FROM FichierClient WHERE NomFamille LIKE 'a*';"
Set MonRS = MaBD.OpenRecordset(StrSQL, dbOpenSnapshot)
Puis deux cas :
1er cas :
MonRS.FindFirst "NomFamille='a' "
=> “MonRS” est vide. Ce qui est normal, car il n’y a pas de nom de famille = « a » dans la table
2ème cas :
MonRS.FindFirst "NomFamille='a* ' "
=> “MonRS” est vide. Pourquoi ? Le FindFirst n’utilise pas les caractères génériques comme le « * » ?
MonRS.FindFirst "NomFamille='a' "
=> “MonRS” est vide. Ce qui est normal, car il n’y a pas de nom de famille = « a » dans la table
2ème cas :
MonRS.FindFirst "NomFamille='a* ' "
=> “MonRS” est vide. Pourquoi ? Le FindFirst n’utilise pas les caractères génériques comme le « * » ?
Merci à toutes et à tous pour votre aide,
Greutof
Dernière édition: