créer automatiquement les dates manquantes dans un intervalle

Le
access13090
Bonjour à tou(te)s

Dans une table, j'ai 2 champs de type date qui forment un intervalle du
style Date de début et Date de fin.

Je voudrais savoir s'il est possible de demander à Access de calculer
ou de créer automatiquement les dates manquantes de cet intervalle pour
ensuite les copier dans une autre table ?

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gloops
Le #16420091
Bonjour,

Une fois que la question sera complète, il sera facile d'y répondre : )
__________________________________________
access13090 a écrit, le 27/07/2008 10:32 :
Bonjour à tou(te)s

Dans une table, j'ai 2 champs de type date qui forment un intervalle du
style Date de début et Date de fin.

Je voudrais savoir s'il est possible de demander à Access de calculer ou
de créer automatiquement les dates manquantes de cet intervalle pour
ensuite les copier dans une autre table ?

Merci d'avance




Fabien
Le #16423371
Gloops a écrit :
Bonjour,

Une fois que la question sera complète, il sera facile d'y répondre :)
__________________________________________
access13090 a écrit, le 27/07/2008 10:32 :
Bonjour à tou(te)s

Dans une table, j'ai 2 champs de type date qui forment un intervalle
du style Date de début et Date de fin.

Je voudrais savoir s'il est possible de demander à Access de calculer
ou de créer automatiquement les dates manquantes de cet intervalle
pour ensuite les copier dans une autre table ?

Merci d'avance







Salut,
en attendant avec quelque chose comme

Sub complete(Date_debut As Date, date_fin As Date)
Dim I As Integer
Dim Rst As DAO.Recordset
Set Rst = currentdb.OpenRecordset("Tabledestination")
For I = 0 To diffdate("d", Date_debut, date_fin)
Rst.AddNew
Rst("Datecalcul") = DateAdd("d", I, Date_debut)
Rst.Update
Next I
Rst.Close
Set Rst = Nothing
End Sub
@+
3stone
Le #16431261
Salut,

"Fabien"
| >>
| >> Dans une table, j'ai 2 champs de type date qui forment un intervalle
| >> du style Date de début et Date de fin.
| >>
| >> Je voudrais savoir s'il est possible de demander à Access de calculer
| >> ou de créer automatiquement les dates manquantes de cet intervalle
| >> pour ensuite les copier dans une autre table ?
| >>
| >> Merci d'avance
| >>
| >>
| >
| Salut,
| en attendant avec quelque chose comme
|
| Sub complete(Date_debut As Date, date_fin As Date)
| Dim I As Integer
| Dim Rst As DAO.Recordset
| Set Rst = currentdb.OpenRecordset("Tabledestination")
| For I = 0 To diffdate("d", Date_debut, date_fin)
| Rst.AddNew
| Rst("Datecalcul") = DateAdd("d", I, Date_debut)
| Rst.Update
| Next I
| Rst.Close
| Set Rst = Nothing
| End Sub


On peut même simplifier la boucle... en bouclant directement
entre les deux dates... et même y ajouter un step x

Sub complete(Date_debut As Date, date_fin As Date)
Dim d As date
Dim Rst As DAO.Recordset
Set Rst = currentdb.OpenRecordset("Tabledestination")
For d = Date_debut To Date_fin
Rst.AddNew
Rst("Datecalcul") = d
Rst.Update
Next I
Rst.Close
Set Rst = Nothing
End Sub

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Fabien
Le #16431651
3stone a écrit :
Salut,

"Fabien"
| >>
| >> Dans une table, j'ai 2 champs de type date qui forment un intervalle
| >> du style Date de début et Date de fin.
| >>
| >> Je voudrais savoir s'il est possible de demander à Access de calculer
| >> ou de créer automatiquement les dates manquantes de cet intervalle
| >> pour ensuite les copier dans une autre table ?
| >>
| >> Merci d'avance
| >>
| >>
| >
| Salut,
| en attendant avec quelque chose comme
|
| Sub complete(Date_debut As Date, date_fin As Date)
| Dim I As Integer
| Dim Rst As DAO.Recordset
| Set Rst = currentdb.OpenRecordset("Tabledestination")
| For I = 0 To diffdate("d", Date_debut, date_fin)
| Rst.AddNew
| Rst("Datecalcul") = DateAdd("d", I, Date_debut)
| Rst.Update
| Next I
| Rst.Close
| Set Rst = Nothing
| End Sub


On peut même simplifier la boucle... en bouclant directement
entre les deux dates... et même y ajouter un step x

Sub complete(Date_debut As Date, date_fin As Date)
Dim d As date
Dim Rst As DAO.Recordset
Set Rst = currentdb.OpenRecordset("Tabledestination")
For d = Date_debut To Date_fin
Rst.AddNew
Rst("Datecalcul") = d
Rst.Update
Next I
Rst.Close
Set Rst = Nothing
End Sub



Salut 3stone,
ben ça alors !!! je pensais pas que VBA pouvait faire ça.
Et encore une astuce dans ma boite à outils : merci 3stone
@+
access13090
Le #16529101
Bonjour,
Merci beaucoup
@+
3stone a pensé très fort :
Salut,
en attendant avec quelque chose comme

Sub complete(Date_debut As Date, date_fin As Date)
Dim I As Integer
Dim Rst As DAO.Recordset
Set Rst = currentdb.OpenRecordset("Tabledestination")
For I = 0 To diffdate("d", Date_debut, date_fin)
Rst.AddNew
Rst("Datecalcul") = DateAdd("d", I, Date_debut)
Rst.Update
Next I
Rst.Close
Set Rst = Nothing
End Sub




On peut même simplifier la boucle... en bouclant directement
entre les deux dates... et même y ajouter un step x

Sub complete(Date_debut As Date, date_fin As Date)
Dim d As date
Dim Rst As DAO.Recordset
Set Rst = currentdb.OpenRecordset("Tabledestination")
For d = Date_debut To Date_fin
Rst.AddNew
Rst("Datecalcul") = d
Rst.Update
Next I
Rst.Close
Set Rst = Nothing
End Sub


Publicité
Poster une réponse
Anonyme