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

aouaoua Messages postés 27 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 3 août 2014 - 24 juil. 2010 à 16:07
aouaoua Messages postés 27 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 3 août 2014 - 25 juil. 2010 à 10:55
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 juil. 2010 à 20:55
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)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 juil. 2010 à 20:56
PS : Tu te méfieras : Les dates doivent être au format US, le mois en premier.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 juil. 2010 à 21:00
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
0
aouaoua Messages postés 27 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 3 août 2014
25 juil. 2010 à 10:55
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
0
Rejoignez-nous