Format de recherche d'un nom de jour à partir d'une date

Résolu
sisi81 Messages postés 13 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 23 janvier 2009 - 29 mars 2007 à 10:01
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 30 mars 2007 à 03:30
salut
je suis bloqué dans le travail d'un état d'heures d'employés par trimestre.
c'est compliqué d'expliquer et de comprendre ça mais j'espére que quelqu'un puisse m'aider:
cette état comporte donc 3mois et 31jours.je suis bloqué dans la partie que je doit comparer le jour de la date par le jour dimanche pour que l'employé n'ai pa d'heure dans ce jour car c'est un jour férié.donc je doit comparer une date sous format date jour/mois/année par le nom de jour dimanche j'ai fais trop d'essai mais sans resultat.
voici mon programme pour plus vous faire comprendre
  

For I = 1 To rs("nbre")
                 
                    If nb < rs("nbre") Then
                     X = Str(Rsnet("jour")) & "/" & Str(Mois) & " / " & Str(Me.txtAnnee)                       
                             If IsDate(X) Then  
                              Else      'si x n'est pas une date.exemple le 30fevrier n'es pa une date'               
                                  On Error GoTo Err2
                             End If                              sql2 "select * from FERIE WHERE jour" & SQLDate(X)
'SQLDate(X) est une fonction de format jj/mm/aaaa.
                              Set Rs2 = DBCOM.OpenRecordset(sql2, dbOpenDynaset)
                              If Rs2.RecordCount > 0  'et nom de jour de x = dimanche Then
                                
                                .Edit
                                Rsnet(0) = 0  'le mois par exemple janvier  pour trimestre 1
                                .Update
                                 'nb = nb + 2
                              Else
                                .Edit
                                Rsnet(0) = 2  'le mois
                                .Update
                                 nb = nb + 2
                              End If               
                                       
                   
                    
                      If nb < rs("nbre") Then
                         Mois = Mois + 1
                            X = Str(Rsnet("jour")) & "/" & Str(Mois) & " / " & Str(Me.txtAnnee)
                                If IsDate(X) Then
                                  Else
                                    On Error GoTo Err2
                                End If                            sql2 "select * from FERIE WHERE jour" & SQLDate(X)
                            Set Rs2 = DBCOM.OpenRecordset(sql2, dbOpenDynaset)
                            MsgBox Day(X)
                            If Rs2.RecordCount > 0  Then
                                
                                .Edit
                                Rsnet(1) = 0  'le mois par exemple fevrier pour trimestre1
                                .Update
                            Else
                            .Edit
                             Rsnet(1) = 2  'le mois
                            .Update
                            nb = nb + 2
                            End If         
                                           If nb < rs("nbre") Then
                        Mois = Mois + 1
                        X = Str(Rsnet("jour")) & "/" & Str(Mois) & " / " & Str(Me.txtAnnee)
                                If IsDate(X) Then
                                  Else
                                  
                                 On Error GoTo Err2
                                End If                            sql2 "select * from FERIE WHERE jour" & SQLDate(X)
                            Set Rs2 = DBCOM.OpenRecordset(sql2, dbOpenDynaset)
                            If Rs2.RecordCount > 0 Then
                            
                               .Edit
                               Rsnet(2) = 0  'le mois
                               .Update
                              Else
                             .Edit
                              Rsnet(2) = 2  'le mois
                             .Update
                             nb = nb + 2
                           End If                            
                       .MoveNext              
                                              
                           Else
                             If nb = rs("nbre") Then                               
                                X = Str(Rsnet("jour")) & "/" & Str(Mois) & " / " & Str(Me.txtAnnee)
                                 If IsDate(X) Then
                                 Else
                                 End If                                 sql2 "select * from FERIE WHERE jour" & SQLDate(X)
                                  Set Rs2 = DBCOM.OpenRecordset(sql2, dbOpenDynaset)
                                   If Rs2.RecordCount > 0 Then
                                    .Edit
                                    Rsnet(2) = 0  'le mois
                                    .Update
                                    Mois = Mois + 2
                                    .MoveNext
                                  Else
                                    .Edit
                                     Rsnet(2) = 1  'le mois
                                    .Update
                                     nb = nb + 1
                                 End If
                             End If
                      End If
                      Else
                        If nb = rs("nbre") Then
                              
                            X = Str(Rsnet("jour")) & "/" & Str(Mois) & " / " & Str(Me.txtAnnee)
                              If IsDate(X) Then
                               Else
                               End If                               sql2 "select * from FERIE WHERE jour" & SQLDate(X)
                               Set Rs2 = DBCOM.OpenRecordset(sql2, dbOpenDynaset)
                                 If Rs2.RecordCount > 0  Then
                                    .Edit
                                    Rsnet(1) = 0  'le mois
                                    .Update
                                    Mois = Mois + 2
                                    .MoveNext
                                  Else
                                    .Edit
                                     Rsnet(1) = 1  'le mois
                                    .Update
                                     nb = nb + 1
                                 End If
                                
                         End If
                      End If
                      Else
                       If nb = rs("nbre") Then                          
                           
                            X = Str(Rsnet("jour")) & "/" & Str(Mois) & " / " & Str(Me.txtAnnee)
                              If IsDate(X) Then
                               Else
                                   On Error GoTo Err2
                               End If                               sql2 "select * from FERIE WHERE jour" & SQLDate(X)
                               Set Rs2 = DBCOM.OpenRecordset(sql2, dbOpenDynaset)
                                 If Rs2.RecordCount > 0 'et nom de jour de x = dimanche Then
                                     .Edit
                                    Rsnet(0) = 0  'le mois
                                    .Update
                                    Mois = Mois + 2
                                    .MoveNext
                                  Else
                                    .Edit
                                     Rsnet(0) = 1  'le mois
                                    .Update
                                     nb = nb + 1
                                 End If
                             End If
                      End If
                  Mois = Mois - 2
    Next I

X = jj/mm/aaaa per exemple 24/01/2007
j'espere qu'il existe un format  pour la recherche direct de dimanche à partir d'une date

merciiiiii

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 mars 2007 à 11:40
comparaison avec "dimanche" !!!
vive la portabilité dans un autre pays... ^^

If weekday(TaDate) = vbSunday Then

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
29 mars 2007 à 10:32
C'est quoi ton problème au juste ? Savoir si une date est un dimanche ?

En utilisant la fonction format, tu peux directement le savoir :

if format(TaDate, "dddd") = "dimanche" then
    'TaDate est un dimanche
end if
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 mars 2007 à 03:30
Renfield, je mets celle-là dans un tiroir vide de mon cerveau, s'il y en a encore un...

MPi
0
Rejoignez-nous