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

Retour d'enregistrements par Openrecordset

5 réponses
Avatar
Manu D.
Bonjour,

"Openrecordset" ne me retourne qu'un seul enregistrement d'une table qui en
compte pourtant plusieurs centaines. Je dois avoir une erreur de syntaxe
Sql...Voici le code utilisé (pour info, la table en question comprend une clé
primaire que je ne sollicite pas dans ma requête; y aurait-il un rapport?) :
...
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
...
Si j'utilise "Openrecordset(NomTable), tous les enregistrements sont bien
renvoyés.
Quelqu'un peut-il m'aider?

Merci d'avance.

5 réponses

Avatar
Thierry (ze Titi)
Bonjour Manu D. !

strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
rcd.MoveLast
rcd.MoveFirst

Peut-être ?

Message du mardi 18/09/2007

Bonjour,

"Openrecordset" ne me retourne qu'un seul enregistrement d'une table qui en
compte pourtant plusieurs centaines. Je dois avoir une erreur de syntaxe
Sql...Voici le code utilisé (pour info, la table en question comprend une clé
primaire que je ne sollicite pas dans ma requête; y aurait-il un rapport?) :
...
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
...
Si j'utilise "Openrecordset(NomTable), tous les enregistrements sont bien
renvoyés.
Quelqu'un peut-il m'aider?

Merci d'avance.


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Manu D.
Bonjour ze Titi et un grand merci!

Je suis débutant et j'aimerai bien comprendre pourquoi il a fallut en passer
par là...
Peux tu me dire pourquoi ma requête initiale était insuffisante?



Bonjour Manu D. !

strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
rcd.MoveLast
rcd.MoveFirst

Peut-être ?

Message du mardi 18/09/2007

Bonjour,

"Openrecordset" ne me retourne qu'un seul enregistrement d'une table qui en
compte pourtant plusieurs centaines. Je dois avoir une erreur de syntaxe
Sql...Voici le code utilisé (pour info, la table en question comprend une clé
primaire que je ne sollicite pas dans ma requête; y aurait-il un rapport?) :
...
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
...
Si j'utilise "Openrecordset(NomTable), tous les enregistrements sont bien
renvoyés.
Quelqu'un peut-il m'aider?

Merci d'avance.


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info






Avatar
Manu D.
Dans mon premier traitement, j'utilisais la méthode movenext pour un
traitement sur les enregistrements; le but étant de renseigner une liste
déroulante. Mais après Openrecordset(), la valeur de "rcd.RecordCount" était
toujours à 1... Qu'est-ce que je n'ai pas compris, SVP?
...
Set ctl = Forms!Réservations.Identité
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
' INFO DEBUG
' MsgBox ("Nombre d'enregistrements trouvés dans la table du personnel: "
& rcd.RecordCount)
' Création de la liste déroulante des employés
If rcd.RecordCount > 0 Then
For iLoop = 0 To rcd.RecordCount - 1
ctl.AddItem Item:=rcd.Fields!Nom & " " & rcd.Fields!Prénom
rcd.MoveNext
Next iLoop
Else
...
End If
...
Merci pour toute lumière apportée à ma pauvre vieille lanterne.

Bonjour ze Titi et un grand merci!

Je suis débutant et j'aimerai bien comprendre pourquoi il a fallut en passer
par là...
Peux tu me dire pourquoi ma requête initiale était insuffisante?



Bonjour Manu D. !

strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
rcd.MoveLast
rcd.MoveFirst

Peut-être ?

Message du mardi 18/09/2007

Bonjour,

"Openrecordset" ne me retourne qu'un seul enregistrement d'une table qui en
compte pourtant plusieurs centaines. Je dois avoir une erreur de syntaxe
Sql...Voici le code utilisé (pour info, la table en question comprend une clé
primaire que je ne sollicite pas dans ma requête; y aurait-il un rapport?) :
...
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
...
Si j'utilise "Openrecordset(NomTable), tous les enregistrements sont bien
renvoyés.
Quelqu'un peut-il m'aider?

Merci d'avance.


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info








Avatar
Thierry (ze Titi)
Le MoveLast force à parcourir tout le RecordSet, ça te permet d'être
certain d'avoir le bon compte. Par contre, te dire pourquoi Access se
comporte de la sorte n'est pas de mon ressort... Désolé...

Dans ton message
du mardi 18/09/2007 jour de Sainte Nadège, tu as pris l'initiative de
nous narrer les faits suivants:
Dans mon premier traitement, j'utilisais la méthode movenext pour un
traitement sur les enregistrements; le but étant de renseigner une liste
déroulante. Mais après Openrecordset(), la valeur de "rcd.RecordCount" était
toujours à 1... Qu'est-ce que je n'ai pas compris, SVP?
...
Set ctl = Forms!Réservations.Identité
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
' INFO DEBUG
' MsgBox ("Nombre d'enregistrements trouvés dans la table du personnel: "
& rcd.RecordCount)
' Création de la liste déroulante des employés
If rcd.RecordCount > 0 Then
For iLoop = 0 To rcd.RecordCount - 1
ctl.AddItem Item:=rcd.Fields!Nom & " " & rcd.Fields!Prénom
rcd.MoveNext
Next iLoop
Else
...
End If
...
Merci pour toute lumière apportée à ma pauvre vieille lanterne.

Bonjour ze Titi et un grand merci!

Je suis débutant et j'aimerai bien comprendre pourquoi il a fallut en passer
par là...
Peux tu me dire pourquoi ma requête initiale était insuffisante?



Bonjour Manu D. !

strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
rcd.MoveLast
rcd.MoveFirst

Peut-être ?

Message du mardi 18/09/2007

Bonjour,

"Openrecordset" ne me retourne qu'un seul enregistrement d'une table qui
en compte pourtant plusieurs centaines. Je dois avoir une erreur de
syntaxe Sql...Voici le code utilisé (pour info, la table en question
comprend une clé primaire que je ne sollicite pas dans ma requête; y
aurait-il un rapport?) : ...
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
...
Si j'utilise "Openrecordset(NomTable), tous les enregistrements sont bien
renvoyés.
Quelqu'un peut-il m'aider?

Merci d'avance.


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info







--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info




Avatar
Manu D.
Merci pour ta bonne volonté. Il n'y a pas a être désolé puisque tu m'as tout
de même sorti d'une impasse, alors merci.
Maintenant, à moi la joie frémissante de me précipiter vers de nouveaux
problèmes!

Cordialement.



Le MoveLast force à parcourir tout le RecordSet, ça te permet d'être
certain d'avoir le bon compte. Par contre, te dire pourquoi Access se
comporte de la sorte n'est pas de mon ressort... Désolé...

Dans ton message
du mardi 18/09/2007 jour de Sainte Nadège, tu as pris l'initiative de
nous narrer les faits suivants:
Dans mon premier traitement, j'utilisais la méthode movenext pour un
traitement sur les enregistrements; le but étant de renseigner une liste
déroulante. Mais après Openrecordset(), la valeur de "rcd.RecordCount" était
toujours à 1... Qu'est-ce que je n'ai pas compris, SVP?
...
Set ctl = Forms!Réservations.Identité
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
' INFO DEBUG
' MsgBox ("Nombre d'enregistrements trouvés dans la table du personnel: "
& rcd.RecordCount)
' Création de la liste déroulante des employés
If rcd.RecordCount > 0 Then
For iLoop = 0 To rcd.RecordCount - 1
ctl.AddItem Item:=rcd.Fields!Nom & " " & rcd.Fields!Prénom
rcd.MoveNext
Next iLoop
Else
...
End If
...
Merci pour toute lumière apportée à ma pauvre vieille lanterne.

Bonjour ze Titi et un grand merci!

Je suis débutant et j'aimerai bien comprendre pourquoi il a fallut en passer
par là...
Peux tu me dire pourquoi ma requête initiale était insuffisante?



Bonjour Manu D. !

strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
rcd.MoveLast
rcd.MoveFirst

Peut-être ?

Message du mardi 18/09/2007

Bonjour,

"Openrecordset" ne me retourne qu'un seul enregistrement d'une table qui
en compte pourtant plusieurs centaines. Je dois avoir une erreur de
syntaxe Sql...Voici le code utilisé (pour info, la table en question
comprend une clé primaire que je ne sollicite pas dans ma requête; y
aurait-il un rapport?) : ...
strSql = "SELECT Nom,Prénom FROM E0_Employés ORDER BY Nom,Prénom;"
Set rcd = CurrentDb.OpenRecordset(strSql)
...
Si j'utilise "Openrecordset(NomTable), tous les enregistrements sont bien
renvoyés.
Quelqu'un peut-il m'aider?

Merci d'avance.


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info







--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info