Bonjour,

Mon code ci-après ne fonctionne pas et je ne comprends pas pourquoi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field
Dim sSQL As String
Dim strSynt As String
 
    sSQL = Left(CurrentDb.QueryDefs("RqtForme").SQL, Len(CurrentDb.QueryDefs("RqtForme").SQL) - 3) & " WHERE (((IDBesoin)=3));"
 
    Set rst = CurrentDb.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
    If Not rst.EOF Then
    rst.MoveFirst
    Debug.Print rst.RecordCount
    rst.Close
    Exit Sub
    End If
J'ai une erreur sur rst.movefirst.
Ma chaine ssql est correcte (je fais un debug.print je récupère la chaine sql puis la colle dans la créateur de requête est le résultat de la requête est bien celui que j'attends. D'ailleurs, ce résultat me donne 3 enregistrements mais quand je passe avec mon code et que je fais un debug.print je ne récupère qu'un seul enregistrement...).

Quelqu'un peut-il m'aider ?

Autre élément étrange : j'utilise ce code pour d'autres besoin et il fonctionne très bien.

Merci