Bonjour,
Quelqu'un conna=EEt-il une astuce pour g=E9n=E9rer
automatiquement un ensemble d'enregistrements de
calendrier, compris entre deux dates (par exemple un enr
pour tous les lundis du 01/01 au 31/12).
Merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"Stéphane Delvas" Quelqu'un connaît-il une astuce pour générer automatiquement un ensemble d'enregistrements de calendrier, compris entre deux dates (par exemple un enr pour tous les lundis du 01/01 au 31/12).
Une astuce, non... mais une ch'tit fonction... que tu appelle en spécifiant ou non l'année concernée.
Tu adapte les noms, bien sûr ;-)
Function fnFillDate(Optional dYear As Integer) Dim StartDate As Date Dim EndDate As Date Dim DB As DAO.Database Dim rs As DAO.Recordset Dim d As Date
If dYear = 0 Then dYear = Year(Date) End If StartDate = DateSerial(dYear, 1, 1) EndDate = DateSerial(dYear, 4, 31)
Set DB = CurrentDb Set rs = DB.OpenRecordset("tbl_Dates")
For d = StartDate To EndDate If WeekDay(d) = vbMonday Then rs.AddNew rs!LaDate = CDate(d) rs.Update 'Debug.Print Format(d, "dd/mm/yyyy") End If Next d
Set rs = Nothing Set DB = Nothing
End Function
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"Stéphane Delvas"
Quelqu'un connaît-il une astuce pour générer
automatiquement un ensemble d'enregistrements de
calendrier, compris entre deux dates (par exemple un enr
pour tous les lundis du 01/01 au 31/12).
Une astuce, non... mais une ch'tit fonction...
que tu appelle en spécifiant ou non l'année concernée.
Tu adapte les noms, bien sûr ;-)
Function fnFillDate(Optional dYear As Integer)
Dim StartDate As Date
Dim EndDate As Date
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim d As Date
If dYear = 0 Then
dYear = Year(Date)
End If
StartDate = DateSerial(dYear, 1, 1)
EndDate = DateSerial(dYear, 4, 31)
Set DB = CurrentDb
Set rs = DB.OpenRecordset("tbl_Dates")
For d = StartDate To EndDate
If WeekDay(d) = vbMonday Then
rs.AddNew
rs!LaDate = CDate(d)
rs.Update
'Debug.Print Format(d, "dd/mm/yyyy")
End If
Next d
Set rs = Nothing
Set DB = Nothing
End Function
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
"Stéphane Delvas" Quelqu'un connaît-il une astuce pour générer automatiquement un ensemble d'enregistrements de calendrier, compris entre deux dates (par exemple un enr pour tous les lundis du 01/01 au 31/12).
Une astuce, non... mais une ch'tit fonction... que tu appelle en spécifiant ou non l'année concernée.
Tu adapte les noms, bien sûr ;-)
Function fnFillDate(Optional dYear As Integer) Dim StartDate As Date Dim EndDate As Date Dim DB As DAO.Database Dim rs As DAO.Recordset Dim d As Date
If dYear = 0 Then dYear = Year(Date) End If StartDate = DateSerial(dYear, 1, 1) EndDate = DateSerial(dYear, 4, 31)
Set DB = CurrentDb Set rs = DB.OpenRecordset("tbl_Dates")
For d = StartDate To EndDate If WeekDay(d) = vbMonday Then rs.AddNew rs!LaDate = CDate(d) rs.Update 'Debug.Print Format(d, "dd/mm/yyyy") End If Next d
Set rs = Nothing Set DB = Nothing
End Function
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------