bidule2409
Messages postés23Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention28 février 2015
-
16 mars 2007 à 13:58
cs_jperre
Messages postés268Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention19 janvier 2017
-
16 mars 2007 à 17:02
Bonjour à tous,
Je suis en train de travailler sur une base de données et j'aurai une petite question.
Je suis en train de créer un formulaire appelé "Encaissement" avec, entre autre, un champ nommé "Date_Encaissement".
Si cette date est la date du jour présent, alors je dois afficher dans le formulaire tous les enregistrements qui ont été fait ce jour.
Si la date est différente de celle du jour présent, je dois alors rechercher tous les enregistrements d'hier et les envoyer vers un état qui aura pour non "Encaissement du " & date_d_hier.
Voilà ce que j'ai pour l'instant. Si quelqu'un peut m'aider à finir et à corriger mes erreurs, se serait super !!!!
Private Sub Form_Open(Cancel As Integer)
Dim db As Database
Dim rst As DAO.Recordset
Me.Date_Encaissement = Date
Set db = CurrentDb
Set rst = db.OpenRecordset("Encaissement", dbOpenTable)
With rst
Do Until .EOF
If Me.Date_Encaissement <> Date Then
.MoveFirst
.??????????
.MoveNext
Ici je dois envoyer les données trouvées vers l'état et enregistrer ce dernier
Else
.MoveFirst ???
.Move Last ???
.AddNew ou DoCmd.GoToRecord , , acNewRec
End If
Loop
DoCmd.GoToControl "Liste_Bureaux"
End With
rst.Close
End Sub
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 16 mars 2007 à 14:35
Dans un premier temps, je vois que tu ne filtre pas les enregistrements. C'est a dire que les enregistrements de rst sont ceux du jour et ceux des precedents jours, or toi tu voudrais simplement en soit l'un soit l'autre. Pour cela, je fé
rst.open "SELECT * FROM nom_table WHERE champ_date = date", currentproject.connection, adOpenDynamic, adLockOptimistic
pour les enregistrements d'aujourd'hui et :
rst.open "SELECT * FROM nom_table WHERE champ_date <> date", currentproject.connection, adOpenDynamic, adLockOptimistic
pour les autres
Malheurement c pour ado et pas dao car je connait pas mais il y certainement un equivalent.
cs_jperre
Messages postés268Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention19 janvier 20172 16 mars 2007 à 17:02
Microsoft Access gère automatiquement la liaison entre un état et une table ou requête.
Dans le cas présent, il suffit de mettre les deux chaînes SQL suivantes en source des états à imprimer.
"SELECT * FROM Encaissement WHERE Date_Encaissement<>#" & Format(Date(),"mm/dd/yyyy") & #;"
et
"SELECT * FROM Encaissement WHERE Date_Encaissement=#" & Format(Date(),"mm/dd/yyyy") & #;"
Deux points sont à retenir lorsque l'on passe une date en paramètre :
1 - la date ou l'heure doit être encadrée de signes #,
2 - la date doit être écrite au format anglais (mois/jour/année).