Syntaxe des requètes SQL sous VB6

lap2 Messages postés 36 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 9 novembre 2007 - 18 janv. 2007 à 15:52
lap2 Messages postés 36 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 9 novembre 2007 - 19 janv. 2007 à 11:36
Salut à tous,

J'ai décidemment des problèmes de syntaxe avec SQL. Mon problème est le suivant :

Additionner les données extraites d'une base Access dans un DataGrid, afficher le résultat dans un Label pour pouvoir faire des calculs par après. J'essaye ce qui suit :

LabelX.Caption = SELECT SUM(Champ) FROM Table

Quelqu'un peut-il me dire qu'elles sont les règles de cette syntaxe ?

@+

Lap2

4 réponses

Mew27 Messages postés 44 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 23 février 2008
18 janv. 2007 à 16:11
C'est quoi cette syntaxe horrible ?

Désolé :)

Tu dois exécuter ta requête sql avec ADO, mettre le résultat dans un recordset et ensuite dans ton label.

Tu peux trouver de nombreux exemple sur vbfrance comment exécuter une requête avec ADO
0
lilo44 Messages postés 174 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 15 février 2007 2
18 janv. 2007 à 16:49
C'est clair que c'est meme pas un probleme de syntaxe la ....

C'est un manque dec onnaissance ^^

un petite exemple rapido :

------------------------------

SQL = "SELECT SUM(Champ1) as toto FROM blopblop"

Set RecordstSQL = db.OpenRecordset(SQL, dbOpenDynaset)

if RecordstSQL.EOF = False then 'si il y a un resultat

LabelX.Caption = RecordstSQL.Fields("toto")

endif

---------------------

En sachant qu il faut déclaré et créer la connexion "DB"


Le mieux serait de prendre quelques cours de VB pour apprendre quelques bases.


Vous allez moins galérer après

Bonne chance pour la suite :)
0
lap2 Messages postés 36 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 9 novembre 2007
19 janv. 2007 à 08:31
Bonjour tous les deux,

Il est vrai que j'aurais dû vous donner l'extrait de code en entier pour que vous compreniez mieux la question. Il est bien évident que la connexion est établie et le recorset généré comme suit :

Private Sub Command1_Click()

Adodc1.ConnectionString = "provider=" &" microsoft.jet.oledb.4.0;" data source ="& App.Path & "\Registre.mdb"
Adodc1.recordSource = "SELECT *FROM Registre Where DateEnl between  # " & Format(DTPicker1.Value, "mm/dd/yyyy") & " # and # " & Format(DTPicker2.Value, "mm/dd/yyyy") & " # Order by DateEnl"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
' C'est ici que commençait ma question ... Comment extraire à partir du tri ci-dessus le total 'd'une colonne ?

J'espère être plus clair. En attendant je vais essayer la solution de lilo

@+

Lap2
0
lap2 Messages postés 36 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 9 novembre 2007
19 janv. 2007 à 11:36
Bon, pour l'instant j'en suis là :

 Le tri marche, la SUM marche pour toute la colonne.

Comment extraire la somme de la colonne après le tri ?
C'est à dire combiner les deux requettes ?

Private Sub Command1_Click()
Adodc1.ConnectionString = "provider=" & "microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "\Registre.mdb"
Adodc1.recordSource = "Select* from Registre Where DateEnl between # " & Format(DTPicker1.Value, "mm/dd/yyyy") & " # and # " & Format(DTPicker2.Value, "mm/dd/yyyy") & " # Order by DateEnl"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.Refresh
Adodc1.recordSource = "Select SUM(Coût)as CoûtTotal From Registre"
Adodc1.Refresh
 If Adodc1.Recordset.EOF = False Then
    Label4.Caption = Adodc1.Recordset.Fields("CoûtTotal")
 End If
End Sub

@+

Lap2
0
Rejoignez-nous