michaelkeul2
Messages postés2Date d'inscriptionmardi 7 septembre 2010StatutMembreDernière intervention 7 septembre 2010
-
7 sept. 2010 à 12:20
michaelkeul2
Messages postés2Date d'inscriptionmardi 7 septembre 2010StatutMembreDernière intervention 7 septembre 2010
-
7 sept. 2010 à 12:55
Bonjour,
J'ai un comportement assez bizarre d'access 2003 qui a probablement une raison d'être mais que j'ignore:
quand j'ouvre un recordset sur base d'une requete SQL dont la source est une requête access, le nombre d'élément récupéré n'est pas correct si la requête access ne fait pas l'objet d'un tri alphabétique par exemple.
Exemple:
Dim MyDB As Database
Dim Comptes As Recordset
Set MyDB = CurrentDb()
Set Comptes MyDB.OpenRecordset("SELECT * FROM Q_Comptes WHERE ID " & ID_Compte)
Admettons que ID_Compte est une variable que je récupère par une autre partie de code, que Q_Comptes est une requete access où je mixe l'info de plusieurs tables et dont le champs ID est la clé primaire.
Comptes.RecordCount ne me retourne la valeur exacte que si un champs (n'importe lequel) de ma requête access est trié d'une manière ou d'une autre (exemple: tri croissant).
Si j'enlève le tri de ma requete access, Comptes.RecordCount me retourne 1, ce qui est faut!
Je peux évidemment contourner le problème en triant systématiquement mes requêtes Access mais j'aimerais comprendre si c'est un bug ou non.