Erreur requete sql en VBA

Fermé
Euforia - 6 juil. 2010 à 02:08
 fiu - 7 juil. 2010 à 11:03
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

A voir également:

4 réponses

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
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
GégéLAMBERT Messages postés 615 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 24 octobre 2014 10
6 juil. 2010 à 17:53
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
Merci, mais ca ne resout pas mon probleme d'enregistrement de la table qui ne devrait pas se trouve cote 'un'...
0
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