Simple requete SQL

Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010 - 27 juil. 2010 à 17:08
Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010 - 27 juil. 2010 à 19:09
Bonjour à tous,

J'ai un problème qui me paraît tout simple mais qui me bloque. (ne riez pas je débute en VB6 (et oui, c'est le seul qui tourne sans ajouter de framework là où je bosse....))

J'ai une table tblInfoDoc dans la quelle se trouve un champ fldDocId, je voudrais qu'à l'ouverture d'un formulaire (frmUpdateDoc), il me soit demandé (via Inputbox) un numéro, ensuite, grâce à la requête SQL, j'affiche le document correspondant. Actuellement, je reçois comme message "Erreur de Syntaxe dans la clause FROM". sur mon formulaire se trouve un composant ADO (adoInfoDoc) pour lié un BD Access.
Voici ma procédure, merci d'avance

Private Sub Form_Load()
Dim intGetDocId As Integer
Dim strSQL As String

intGetDocId = InputBox("Which DOC Id do you want to update : ", "POC Doc", 1)



strSQL "SELECT * FROM tblInfoDoc WHERE tblInfoDoc.fldDocId " & intGetDocId
Label2.Caption = strSQL

frmUpdateDoc.AdoInfoDoc.RecordSource = strSQL

frmUpdateDoc.AdoInfoDoc.Refresh


End Sub

PS s'il est expliqué quelquepart comment utiliser correctement le composant ADO ( cela fonctionne nickel avec une méthode AddNew mais ensuite, difficile pour moi de savoir quelle méthode utiliser juste pour ouvrir par example)

8 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
27 juil. 2010 à 17:16
Salut
Tu as oublié un point virgule ; a la fin de ta
requete
0
Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010
27 juil. 2010 à 18:01
Salut,

Déjà merci pour cette réponse rapide mais malheureusement, le message reste le même.

Pour info, j'ai modifié comme ceci :

strSQL "SELECT * FROM tblInfoDoc WHERE tblInfoDoc.fldDocId " & intGetDocId & ";"

??
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
27 juil. 2010 à 18:30
Telles les chaînes doivent être entourées pas des guillemets pour être reconnues en VB, en SQL elles le sont par des apostrophes :

strSQL "SELECT * FROM tblInfoDoc WHERE tblInfoDoc.fldDocId '" & intGetDocId & "'"

Pour ce qui est du point-virgule il sert à séparer des instructions dans les procédures stockées.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010
27 juil. 2010 à 18:38
Merci aussi Mayzz mais j'avais aussi essayé mais j'ai eu le même résultat ??

Et Ok pour le point-virgule
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010
27 juil. 2010 à 18:53
Sauf erreur de ma part la propriété CommandType de mon composant ADO est bien 2-adCmdTable ?

"There are 10 kinds of people. Those who understand binary notation, and those who do not."
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
27 juil. 2010 à 19:01
Non c'est CommandText... Sans cela en effet ca ne fonctionnera pas...


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
27 juil. 2010 à 19:02
strSQL = "SELECT * FROM tblInfoDoc WHERE tblInfoDoc.fldDocId = '" & intGetDocId & "'"

En effet je dis des bétise, ton ID est de type Int et non nchar, nvarchar ou text... donc pas besoin d'apostrophes ici...

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Galaad9999 Messages postés 27 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 27 août 2010
27 juil. 2010 à 19:09
Alors, ça fonctionne, toutefois, avant de m'afficher mon InputBox, il me donne un message :
"Instruction SQL non valide; 'DELETE','INSERT','PROCEDURE','SELECT' ou 'UPDATE' attendus".
D'où cela peut-il provenir ?

"There are 10 kinds of people. Those who understand binary notation, and those who do not."
0
Rejoignez-nous