Probleme d'execution d'une instruction SQL sous VB6

medhmd83 Messages postés 9 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 28 novembre 2004 - 18 oct. 2004 à 23:07
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 18 oct. 2004 à 23:47
Bonjour
je débute en VB et j'ai un petit probleme pour executer ma requete
j'ai une BDD ou il y a une table que je souhaite extraire la valeur d'un enregistrement et l'affeceter a un controle text
ma BDD est exploiter grace a un dataenvironment que je le connecte via le jet provider 4.0 je l'ai fait sur le mode graphique donc j'ai pas besion de la refaire en ligne de code (je pense) alors voila ma requete que j'ai pas réussi a l'executer et au lieu d'avoir le resultat d'ai le texte de l'instruction (l'expression de l'instuction)

Private Sub DataCombo1_Click(Area As Integer)txtid_type_service.Text ("SELECT id_type_service FROM typserv WHERE desig_type_service '" & DataCombo1.Text & "'")
End Sub


j'explique : je souhaite avoir la valeur du ( id_type_service ) qui corespond a la valeur (DataCombo1.Text) a chaque click

merci d'avance :)

1 réponse

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 oct. 2004 à 23:47
WhawhawhaO stop.

Tu est sur la bonne voie mais c'est pas encore cela. en fait je trouve VB6 est déjà axé objets. Explication : Ta requette SQL n'est pas mauvaise mais mal placée, en fait il faut que tu déclare une database avec un objet (tu as le choix : AdoDB, AdoDC, DAO).
Ensuite c'est dans ce truc là que tu va envoyé ta requette SQL.
Et cet objet aura un objet interne nomé RecordSet, c'est lui qui contient ton ou tes résultats de ta requette SQL.
Pour les récupérer, vu ce que tu as noté dans ton texte, tu doit utiliser surement ADO, donc pour le récupérer, utilise par exemple :
ADODC.recordset.fields("Colonne") 'Colonne est le nom de la colonne qui contient l'info que tu veux.

Donc ton code ressemblerais à ça, place un control ADOdc sur ta form, met le en Visible=False. puis dans le code :

    AdoPers.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=Datas.mdb;Uid=Administrateur;Pwd=PASSWORD;"
    AdoPers.RecordSource = "select * from MaTable"
    AdoPers.CommandType = adCmdText
    AdoPers.Refresh


AdoPers est le Name du control ADOdc que tu as placer, ensuite ConnectionString est là pour dire quelle base ouvrir et comment...

RecordSource - La Requette SQL
CommandType - Définis le type de requette
Refresh - Met à jour ADOdc.

Pour récupérer ensuite ton info :

txtid_type_service.text=adopers.recordset.fields("id_type_service")

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
Rejoignez-nous