Bonjour,
j'ai une erreur que je n'arrive pas à résoudre et que je n'ai pas trouvé dans les forums.
En fait, j'effectue une requête en passant en paramètre un champ du formulaire. Le problème c'est que ce champ se trouve dans un sous formulaire, et que lorque je change d'enregistrement, ce champ n'apparait pas forcément à l'affichage dans le sous formulaire, c'est à dire que le sous formulaire ne contient pas de données. Du coup, lorqu'il n'y a pas de données, ACCESS affiche une erreur '2427' : expression sans paramètre. Voici mon code VBA :
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Ouverture de la base
Dim db As DAO.Database
Set db = DBEngine.OpenDatabase("C:\Documents and Settings\Thomas\Bureau\UFR.mdb")
Dim sSQL As String
'selection de toutes les données de l'UE
sSQL = "Select * From UE Where UE_Libelle='" & [F_Somme_Cours_Hors_UE_SF]![UE_Libelle] & "'"
'Ouverture du recordset
Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
Dim sSQL2 As String
sSQL2 = "Select * From DEPARTEMENT Where Dep_Id=" & rst("UE_Dep_Id") & ""
'Ouverture du recordset
Set rst2 = db.OpenRecordset(sSQL2, dbOpenForwardOnly, dbReadOnly)
[F_Somme_Cours_Hors_UE_SF]![Texte13] = rst2("Dep_Libelle")
'End If
End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Ouverture de la base
Dim db As DAO.Database
Set db = DBEngine.OpenDatabase("C:\Documents and Settings\Thomas\Bureau\UFR.mdb")
Dim sSQL As String
'selection de toutes les données de l'UE
sSQL = "Select * From UE Where UE_Libelle='" & [F_Somme_Cours_Hors_UE_SF]![UE_Libelle] & "'"
'Ouverture du recordset
Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
Dim sSQL2 As String
sSQL2 = "Select * From DEPARTEMENT Where Dep_Id=" & rst("UE_Dep_Id") & ""
'Ouverture du recordset
Set rst2 = db.OpenRecordset(sSQL2, dbOpenForwardOnly, dbReadOnly)
[F_Somme_Cours_Hors_UE_SF]![Texte13] = rst2("Dep_Libelle")
'End If
End Sub
L'erreur se déclanche ici : sSQL = "Select * From UE Where UE_Libelle='" & [F_Somme_Cours_Hors_UE_SF]![UE_Libelle] & "'"
Je pense donc qu'ACCESS n'arrive pas à récupérer ce champ lorqu'il n'y a pas de données à l'affichage, car sinon il n'y a pas d'erreur.
Comment peut donc faire pour contourner cette erreur? J'ai déja essayé isNull mais ça ne marche pas.
Merci de vos réponses.
Partager