Comment utilisé les requette SQL avec vb6

Messages postés
2
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
5 décembre 2005
- - Dernière réponse : philippe laschweng 1
Messages postés
278
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
13 avril 2013
- 21 juil. 2005 à 14:10
je veut recevoir des des codes sources d'utilisation des requette SQL avec VB6
Afficher la suite 

2 réponses

Messages postés
101
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
19 avril 2006
0
Merci
et ben moi je veux rien te donné
mal poli on est a pas a tes ordres
Messages postés
278
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
13 avril 2013
1
0
Merci
Voila un petit exemple de requête SQL pour interroger et effacer une base de données ACCESS (Table nommée Q2400). Dans Command1_Click, je récupére toutes les infos de la database et je les affiche dans une listview (Mais base toit plutot sur Command2_Click ou je ne fais qu'effacer la database). Pour comprendre le fct c plus facile car quand tu récupéres c chaud à configurer la listview (probs d'indice) il faudrai ke t la même base de données

Public cnn As New ADODB.connection
Public rst As New ADODB.Recordset

'--------------------------------------------------------------------------------------

Private Sub Command1_Click()
connection 'Connection Base de Données

requetSQL = "SELECT * FROM Q2400;"
rst.Open requetSQL, cnn, adOpenForwardOnly, adLockReadOnly 'Recordset

'une fois requêtenvoyée il faut récupérer le résultat via le recordset
If (rst.RecordCount <> 0) Then 'Test si recordset n'est pas vide

If (rst.BOF = False) Then
rst.MoveFirst 'On se place sur le 1er enregistrement (= première ligne DataBase)


For i = 0 To 10

Set ObjListe = Form1.View1.ListItems.Add(, , i)
ObjListe.SubItems(1) = rst.Fields(i).Name

ValidateRect Form1.View1.hwnd, 0& 'API pour pas faire clignoter la Lisview

'-- Autorise le multi-tâche
DoEvents


Next i
InvalidateRect Form1.View1.hwnd, 0&, 0&

End If

End If
deconnection 'Deconnection Base de Données
End Sub

'--------------------------------------------------------------------------------------
'pour effacer la base
Private Sub Command2_Click()
connection
cnn.Execute "DELETE * FROM Q2400;"
deconnection
End Sub

'--------------------------------------------------------------------------------------
Public Sub connection()
'++++++++ Ouverture de la connection ++++++++
Set cnn = New ADODB.connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.Open "Data Source=" & App.path & "\BD_Valeurs.mdb"
'++++++++++++++++++++++++++++++++++++++++++++
End Sub


Public Sub deconnection()
'++++++++++ Fermeture de la connection ==++++++++
cnn.Close
End Sub

Il esxiste aussi en requête SQL:

Si tu veux insérer une nouvelle ligne dans la database (admettons que tu es 2 colonnes) avec lesvaleurs comprises dans text1.text et Text2.Text :
cnn.Execute "INSERT into Q2400 VALUES('" & Text1.Text & "','" & Text2.Text & "')'"
A chaque fois que tu exécutera cette commande tu remplira une nouvelle ligne (la dernière de la DB)

Si tu veux juste la mettre à jour (sans créer une nouvelle ligne) :
cnn.Execute "UPDATE Q2400 <Nom colonne1 Base de données ACCESS>='" & Text1.Text & "',<Nom colonne2 Base de données ACCESS>='" & Text2.Text & "'"

Bien faire attention à la syntaxe. Toutes les valeurs (Text1.Text ...) doivent être entourées du symbole ' ==> 'Text1.Text'

En espérant que ca puisse t'aider !!!!

hilippe