Date bihebdomadaire 2011 VB6
Question
Je suis en train de boucler pour obtenir toutes les dates 2011 bihebdomadaires en utilisant ce code dans VB6:
Dim HardDate As Date
Dim NumberOfDaysSince As Integer
Dim modulus As Integer
Dim DaysToNext As Integer
Dim nextpayday As Date
Dim x As Integer
x = 1
DateToday = Date
HardDate = Format(Now, "m/dd/yyyy")
Do While x <> 20
NumberOfDaysSince = DateDiff("d", HardDate, DateToday)
modulus = NumberOfDaysSince Mod 14
DaysToNext = 15 - modulus
nextpayday = Date + DaysToNext
Debug.Print nextpayday
HardDate = DateAdd("d", 1, nextpayday)
DateToday = DateAdd("d", 10, HardDate)
x = x + 1
Loop
Cependant, en utilisant ce code ci-dessus produit pas un jour en cours toutes les deux semaines ...
Toute aide serait génial!
Exemple de date
Pay Begin Date | Pay End Date | Check Date | Posts
-------------------------------------------------------------------
1/14/2011 | 1/24/2011 | 2/10/2011 | 2/3/2011
1/28/2011 | 2/10/2011 | 2/24/2011 | 2/17/2011
2/11/2011 | 2/24/2011 | 3/10/2011 | 3/3/2011
David
La solution
En supposant que vous connaissez la première date que vous voulez en 2011, et vous savez que vous voulez 26 quinzaines, le code peut être extrêmement simplifié. À titre d'illustration, ajouter une zone de texte « Texte1 » à un formulaire et définissez MultiLine = Vrai dans le concepteur. Nous allons utiliser 1/7/2011 pour notre date de début:
Dim HardDate As Date
Dim x As Integer
x = 1
HardDate = "1/7/2011"
Text1.Text = HardDate
Do Until x = 26
HardDate = DateAdd("d", 14, HardDate)
Text1.Text = Text1.Text & vbCrLf & HardDate
x = x + 1
Loop
La sortie qui montre dans les regards de zone de texte comme celui-ci:
1/7/2011
1/21/2011
2/4/2011
2/18/2011
3/4/2011
...
12/23/2011
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow