Transfert de données vers un état ACCESS

bidule2409 Messages postés 23 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 28 février 2015 - 16 mars 2007 à 13:58
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 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

2 réponses

cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
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.
0
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
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).

Si celà peut t'aider!...
0
Rejoignez-nous