Comment ouvrir un recordset sur une requete avec access2000?
Dim db As Database
Dim RstFichier As Recordset
Set db = CurrentDb
Set RstFichier = db.OpenRecordset("ReqFichier", dbOpenDynaset)
'ReqFichier est un requete généré dans access
ia pas d''erreur à la compilation
mais il m'indique
erreur d'execution '3061'
Trop peu de paramêtre. 1 attendu
et me ramene à cette ligne:
Set RstFichier = db.OpenRecordset("ReqFichier", dbOpenDynaset)
En fait tu continues a developper en utilisant la DAO donc il faut que tu le selectionnes dans la liste des references de ton projet VBA. Comme par defaut, access utilise l'ADO il y a confusion entre les deux librairies, pour eviter le cafouillage entre la classe recordset qui existe dans les deux librairies, il faut que tu precises que tu utilises les classes DAO comme suit :
Et ca marche. J'ai essaye.
Dim db As DAO.Database
Dim RstFichier As DAO.Recordset
Set db = CurrentDb
Set RstFichier = db.OpenRecordset("TABLE1", dbOpenDynaset)
alors dans ce cas ca veut dire que ReqFichier est une requete avec un parametre. Dans ce cas la, utilise les querydef pour acceder au parametre et executer la requete en recuperant le recordset.
Ta requete doit ressembler a celle-ci :
PARAMETERS machaine Text ( 255 );
SELECT Table1.*
FROM Table1
WHERE (((Table1.champ1)=[machaine]));
Le parametre machaine est de type text et necessite l'envoi d'une valeur.
utilises alors le code suivant :
Dim db As DAO.Database
Dim RstFichier As DAO.Recordset
Dim rqMaQuery As QueryDef
Set db = CurrentDb
Set rqMaQuery = db.QueryDefs("QUERY1")
rqMaQuery.Parameters(0) = MaValeur
Set rsfichier = rqMaQuery.OpenRecordset
........
j'aimerai comptais le nombre de ligne du recordset obtenu
recordcount ne fonctionne pas avec un recordset portant sur une requete?
Alors comment faire ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
si le recordcount=0 c'est que la requete n'a rien trouve. Si des enregistrements sont trouves alors recordcount=1 quelque soit le nombre reel. Pour determiner le nombre reel faire :
recordset.movelast
recordset.movefirst
la le recordset te donnera le nombre reel d'enregistrements dans ton recordset.