Extraction des données entre deux dates d'une table en VB6

Signaler
Messages postés
27
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
3 août 2014
-
Messages postés
27
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
3 août 2014
-
Bonjour
je voudrais extraire des données ce trouvant dans une table Access a l'aide de 2 Textbox puis les afficher dans Datgrid
mais seulement ça coince j'ai essayé tout sorte combinaison la dernière en date c'est ce code mais il Bug avec une erreur 13 incompatible a ce niveau :
rs1 = "Select * From TReglement WHERE [DateReglement] BETWEEN #" & StartDate & "# " And " #" & StopDate & "#"


Dim rs1 As String, rs2 As String
'On Error Resume Next
If StartDate = "" Then End
StartDate = Format(StartDate, "dd/mm/yyyy")
If StopDate = "" Then End
StopDate = Format(StopDate, "dd/mm/yyyy")
Set conn = New ADODB.Connection
conn.Provider = "Microsoft.jet.OLEDB.3.51"
conn.ConnectionString = App.Path & "\GRentes.mdb"
conn.Open
Set rsReglement = New ADODB.Recordset
rs1 = "Select * From TReglement WHERE [DateReglement] BETWEEN #" & StartDate & "# " And " #" & StopDate & "#"
rsReglement.Open rs1, conn, adOpenKeyset, adLockOptimistic, adCmdText
           If Not rsReglement.BOF Then
        MsgBox "Aucun Reglement pour cette période"
       Else
Set DataGrid1.DataSource = rsReglement
DataGrid1.Columns(0).Visible = False
DataGrid1.Columns(1).Visible = False
DataGrid1.Columns(2).Text = rsReglement!DateReglement
DataGrid1.Columns(3).Text = rsReglement!Rente
DataGrid1.Columns(4).Text = rsReglement!Nom
DataGrid1.Columns(5).Text = rsReglement!Prenom
DataGrid1.Columns(6).Text = rsReglement!Echeance
DataGrid1.Columns(7).Text = rsReglement!Annee
DataGrid1.Columns(8).Text = rsReglement!Montant

End If
End Sub

Merci d'avance pour ceux qui veulent bien m'aidé
FOU DES CODES

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

Oui, c'est normal : Ton And est ressorti de la la chaine.
Le And est un terme de SQL, pas de VB :
rs1 = "Select * " & _
      "  From TReglement " & _
      " WHERE [DateReglement] BETWEEN " & _
               "#" & StartDate & "# And #" & StopDate & "#"

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)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
PS : Tu te méfieras : Les dates doivent être au format US, le mois en premier.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Oh la vache, tu rigoles pas, toi :
If StartDate = "" Then End
Un peu expéditif !
Mieux vaudrait une belle MsgBox d'explication + un Exit Sub
Messages postés
27
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
3 août 2014

Bonjour le Forum
Salut Jack

c'est Bon j'ai réussi a le faire fonctionner Merci pour les conseils

Private Sub Command1_Click()
Dim rs1 As String
StartDate = Format(StartDate, "dd/mm/yyyy")
If StartDate = "" Then
MsgBox "Il vous faut une date de Début de Période"
Exit Sub
End If
StopDate = Format(StopDate, "dd/mm/yyyy")
If StopDate = "" Then
MsgBox "Il vous faut une date de Fin de Période"
Exit Sub
End If
If StartDate Format(StartDate, "dd/mm/yyyy") < StopDate Format(StopDate, "dd/mm/yyyy") Then
MsgBox "la Date de début Doit étre Superieur a la Date Fin"
Exit Sub
End If
Set conn = New ADODB.Connection
conn.Provider = "Microsoft.jet.OLEDB.3.51"
conn.ConnectionString = App.Path & "\GRentes.mdb"
conn.Open
Set rsReglement = New ADODB.Recordset
rs1 = "Select * From TReglement WHERE [DateReglement] BETWEEN #" & StartDate & "#  And  #" & StopDate & "#"
rsReglement.Open rs1, conn, adOpenKeyset, adLockOptimistic, adCmdTex
           If Not rsReglement.BOF Then
            rsReglement.MoveNext
Set DataGrid1.DataSource = rsReglement
DataGrid1.Columns(0).Visible = False
DataGrid1.Columns(1).Visible = False
DataGrid1.Columns(2).Text = rsReglement!Rente
DataGrid1.Columns(3).Text = rsReglement!Nom
DataGrid1.Columns(4).Text = rsReglement!Prenom
DataGrid1.Columns(5).Visible = False
DataGrid1.Columns(6).Text = rsReglement!Echeance
DataGrid1.Columns(7).Text = rsReglement!Annee
DataGrid1.Columns(8).Text = rsReglement!Montant
Else
MsgBox "Aucun Reglement Pour cette Période"
End If
End Sub


FOU DES CODES