Erreur requete sql en VBA

Bonjour,

J'ai un probleme sur une simple requete selection, je vous passe mon code :

Private Sub Titre_AfterUpdate()
Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field
Dim sSQL As String
' Ouverture de la base de données
Set db = CurrentDb()
SQL = "Select * From T_Film WHERE T_Film.Titre = " & Me![Titre]
MsgBox sSQL
' Ouverture du recordset
Set rst = db.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly)
End Sub

Il me sort cette erreur : Erreur syntaxe (operateur absent) dans l'expression "T_Film.titre = la maison du diable"

Merci de votre aide

4 réponses

  1. Salut

    en SQL, les chaines de caractères doivent être délimitées par des apostrophes.
    donc la ligne avec la requete doit être
    SQL = "Select * From T_Film WHERE T_Film.Titre = '" & Me![Titre] & "'"
    ou
    SQL = "Select * From T_Film WHERE T_Film.Titre = " & chr(39) & Me![Titre] & chr(39)
    0
    1. Merci beaucoup ce fonctionne, une derniere question,

      Voici mon code

      Set rst = db.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly)
      rst.MoveFirst
      Me![Disponibilite] = rst("Disponibilite")
      rst.MoveNext
      Me![ID_Film] = rst("ID8Film")

      il me sort une erreur pour ID_FILM : les enregistrement de la table ne devrait pas se trouve cote 'un'

      Merci de votre aide
      0
      1. Bonjour,

        peut-être as-tu trouvé, mais voici deux remarques:
        Me![ID_Film] = rst("ID8Film") devrait être Me![ID_Film] = rst("ID_Film")

        Pourquoi un MoveNext au milieu ?
        Si ta requête se fait sur le titre du film, tu ne dois avoir qu'un enregistrement dans ton recordset. Le MoveNext te fait passer à l'enregistrement suivant...

        Gégé
        0
    2. Merci, mais ca ne resout pas mon probleme d'enregistrement de la table qui ne devrait pas se trouve cote 'un'...
      0
      1. Salut,

        Je pige pas ce qu'est ce "un" dont tu causes. Si c'est un élément de ton requêtage, pourquoi ne le voit-on nulle part ?
        Si la problématique concerne la logique de ta programmation ou des éléments du langage que tu utilises, pourquoi ne pas s'adresser aux spécialistes de la programmation dans le forum programmation ?
        0