Requete

Sinsitrus Messages postés 855 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 - 3 févr. 2010 à 12:54
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 3 févr. 2010 à 15:54
Salut !

J'ai un problème avec ce bout de code.
J'essais de récupérer les valeurs de deux Tables (SortieCaisse, Verification)
et les afficher dans un Tableau MSFlexGrid depuis un bouton OK

Au click du OK
Dim SQT As String
Dim N As Integer

SQT = " SELECT * FROM SortieCaisse, Verification "
SQT = SQT + " WHERE SortieCaisse.Date AND SortieCaisse.NumAuto AND SortieCaisse.Montant AND "
SQT = SQT + " Verification.Date AND Verification.NumAuto AND Verification.Definitif "
SQT = SQT + " BETWEEN cdate('" & T_DateDe.Value & "') AND cdate('" & T_DateA.Value & "') "

DataR.DatabaseName = App.Path & "\DataBase.mdb"
DataR.RecordSource = SQT
DataR.Refresh

    If Not (DataR.Recordset.BOF And DataR.Recordset.EOF) Then
    DataR.Recordset.MoveLast
    DataR.Recordset.MoveFirst
    MSFlexGrid.Rows = DataR.Recordset.RecordCount + 1
    N = 1
    Do While Not DataR.Recordset.EOF
    'On Error Resume Next
    MSFlexGrid.TextMatrix(N, 0) = DataR.Recordset!Date
    MSFlexGrid.TextMatrix(N, 1) = DataR.Recordset!NumAuto
    MSFlexGrid.TextMatrix(N, 2) = Format(DataR.Recordset!Montant, "Standard")
    N = N + 1
    DataR.Recordset.MoveNext
    Loop

DataR.Refresh
Else
MSFlexGrid.Rows = 1
End If


Malheureusement il ne me donne aucun résultat alors qu'il y a des données dans les tables de la base de données.

- Les champs date sont en propriété Date
- Le champ montant et Definitif en Currency
- Les champs NumAuto en Text mais ce ne sont pas des cléAuto
- T_DateDe et T_DateA sont des un DTPicker

Pouvez vous m'aider svp ?

Merci

----------
OS : Windows XP SP3 et Vista 32
Platforme : VB 6.0 + SP6
Ok VB6.0 c'est pas net !

2 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
3 févr. 2010 à 15:50
Non
Comme pour le VB, il faut des expressions de comparaison complètes.
En VB, ceci n'est pas correct :
If A And B And C = 4012 Then
Il faut répéter chaque comparaison
If A 4012 And B 4012 And C = 4012 Then

Complète ta requète en conséquence.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
3 févr. 2010 à 15:54
PS : Tu fais un "Select *" sur plusieurs tables.
Comme il semble que tes deux tables comportent des champs de même nom, "NumAuto" par exemple, je ne sais pas comment le RecordSet va faire pour retrouver le bon !
Voir la structure SQL "As"
Select monChamp As [Nom a Utiliser]
0