je tente de faire fonctionner la requête SQL suivante dans une fonction VBA
Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent ( Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " & CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables", "Variable='Exercice'")) & " AS DébutMois, Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" & DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" & DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));") MyQuery.Execute
Le problème c'est que les fonction de date renvoient la valeur 0 et je ne parviens pas à savoir ce qui ne va pas.
Merci de votre aide.
Cordialement Georges
Tu as essayé avec Date() au lieu de Date.
Georges
Bonsoir,
j'ai essayé mais le résultat est identique.
Merci de ton intérêt. Georges
"Michel__D" a écrit :
Bonjour,
Georges a écrit : > Bonjour, > > je tente de faire fonctionner la requête SQL suivante dans une fonction VBA > > Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent ( > Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " & > CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables", > "Variable='Exercice'")) & " AS DébutMois, > Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM > Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" & > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" & > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));") > MyQuery.Execute > > Le problème c'est que les fonction de date renvoient la valeur 0 et je ne > parviens pas à savoir ce qui ne va pas. > > Merci de votre aide. > > Cordialement > Georges
Tu as essayé avec Date() au lieu de Date.
Bonsoir,
j'ai essayé mais le résultat est identique.
Merci de ton intérêt.
Georges
"Michel__D" a écrit :
Bonjour,
Georges a écrit :
> Bonjour,
>
> je tente de faire fonctionner la requête SQL suivante dans une fonction VBA
>
> Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent (
> Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " &
> CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables",
> "Variable='Exercice'")) & " AS DébutMois,
> Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM
> Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" &
> DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND
> ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" &
> DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND
> ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));")
> MyQuery.Execute
>
> Le problème c'est que les fonction de date renvoient la valeur 0 et je ne
> parviens pas à savoir ce qui ne va pas.
>
> Merci de votre aide.
>
> Cordialement
> Georges
Georges a écrit : > Bonjour, > > je tente de faire fonctionner la requête SQL suivante dans une fonction VBA > > Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent ( > Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " & > CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables", > "Variable='Exercice'")) & " AS DébutMois, > Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM > Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" & > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" & > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));") > MyQuery.Execute > > Le problème c'est que les fonction de date renvoient la valeur 0 et je ne > parviens pas à savoir ce qui ne va pas. > > Merci de votre aide. > > Cordialement > Georges
Tu as essayé avec Date() au lieu de Date.
Chouette
Bonsoir,
Dans les sql de mes aplli, je transforme toujours les dates en dates américaines MMDDYYYY pour avoir un résultat correct.
C'est une suggestion... en espérant vous avoir donné une vraie piste...
cordialement, Ch.
"Georges" a écrit :
Bonsoir,
j'ai essayé mais le résultat est identique.
Merci de ton intérêt. Georges
"Michel__D" a écrit :
> Bonjour, > > Georges a écrit : > > Bonjour, > > > > je tente de faire fonctionner la requête SQL suivante dans une fonction VBA > > > > Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent ( > > Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " & > > CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables", > > "Variable='Exercice'")) & " AS DébutMois, > > Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM > > Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" & > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > > ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" & > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > > ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));") > > MyQuery.Execute > > > > Le problème c'est que les fonction de date renvoient la valeur 0 et je ne > > parviens pas à savoir ce qui ne va pas. > > > > Merci de votre aide. > > > > Cordialement > > Georges > > Tu as essayé avec Date() au lieu de Date. >
Bonsoir,
Dans les sql de mes aplli, je transforme toujours les dates en dates
américaines MMDDYYYY pour avoir un résultat correct.
C'est une suggestion... en espérant vous avoir donné une vraie piste...
cordialement, Ch.
"Georges" a écrit :
Bonsoir,
j'ai essayé mais le résultat est identique.
Merci de ton intérêt.
Georges
"Michel__D" a écrit :
> Bonjour,
>
> Georges a écrit :
> > Bonjour,
> >
> > je tente de faire fonctionner la requête SQL suivante dans une fonction VBA
> >
> > Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent (
> > Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " &
> > CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables",
> > "Variable='Exercice'")) & " AS DébutMois,
> > Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM
> > Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" &
> > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND
> > ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" &
> > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND
> > ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));")
> > MyQuery.Execute
> >
> > Le problème c'est que les fonction de date renvoient la valeur 0 et je ne
> > parviens pas à savoir ce qui ne va pas.
> >
> > Merci de votre aide.
> >
> > Cordialement
> > Georges
>
> Tu as essayé avec Date() au lieu de Date.
>
Dans les sql de mes aplli, je transforme toujours les dates en dates américaines MMDDYYYY pour avoir un résultat correct.
C'est une suggestion... en espérant vous avoir donné une vraie piste...
cordialement, Ch.
"Georges" a écrit :
Bonsoir,
j'ai essayé mais le résultat est identique.
Merci de ton intérêt. Georges
"Michel__D" a écrit :
> Bonjour, > > Georges a écrit : > > Bonjour, > > > > je tente de faire fonctionner la requête SQL suivante dans une fonction VBA > > > > Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent ( > > Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " & > > CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables", > > "Variable='Exercice'")) & " AS DébutMois, > > Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM > > Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" & > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > > ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" & > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > > ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));") > > MyQuery.Execute > > > > Le problème c'est que les fonction de date renvoient la valeur 0 et je ne > > parviens pas à savoir ce qui ne va pas. > > > > Merci de votre aide. > > > > Cordialement > > Georges > > Tu as essayé avec Date() au lieu de Date. >
Georges
Bonjour,
effectivement c'était la solution. J'ai utilisé une fonction trouvée sur web (je ne sais plus qui l'avait écrite :
Function DateUS(ByVal dt As Variant) If IsNull(dt) Then Exit Function DateUS = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) & "#" End Function
Merci beaucoup.
"Chouette" a écrit :
Bonsoir,
Dans les sql de mes aplli, je transforme toujours les dates en dates américaines MMDDYYYY pour avoir un résultat correct.
C'est une suggestion... en espérant vous avoir donné une vraie piste...
cordialement, Ch.
"Georges" a écrit :
> Bonsoir, > > j'ai essayé mais le résultat est identique. > > Merci de ton intérêt. > Georges > > "Michel__D" a écrit : > > > Bonjour, > > > > Georges a écrit : > > > Bonjour, > > > > > > je tente de faire fonctionner la requête SQL suivante dans une fonction VBA > > > > > > Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent ( > > > Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " & > > > CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables", > > > "Variable='Exercice'")) & " AS DébutMois, > > > Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM > > > Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" & > > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > > > ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" & > > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > > > ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));") > > > MyQuery.Execute > > > > > > Le problème c'est que les fonction de date renvoient la valeur 0 et je ne > > > parviens pas à savoir ce qui ne va pas. > > > > > > Merci de votre aide. > > > > > > Cordialement > > > Georges > > > > Tu as essayé avec Date() au lieu de Date. > >
Bonjour,
effectivement c'était la solution. J'ai utilisé une fonction trouvée sur web
(je ne sais plus qui l'avait écrite :
Function DateUS(ByVal dt As Variant)
If IsNull(dt) Then Exit Function
DateUS = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) & "#"
End Function
Merci beaucoup.
"Chouette" a écrit :
Bonsoir,
Dans les sql de mes aplli, je transforme toujours les dates en dates
américaines MMDDYYYY pour avoir un résultat correct.
C'est une suggestion... en espérant vous avoir donné une vraie piste...
cordialement, Ch.
"Georges" a écrit :
> Bonsoir,
>
> j'ai essayé mais le résultat est identique.
>
> Merci de ton intérêt.
> Georges
>
> "Michel__D" a écrit :
>
> > Bonjour,
> >
> > Georges a écrit :
> > > Bonjour,
> > >
> > > je tente de faire fonctionner la requête SQL suivante dans une fonction VBA
> > >
> > > Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent (
> > > Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " &
> > > CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables",
> > > "Variable='Exercice'")) & " AS DébutMois,
> > > Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM
> > > Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" &
> > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND
> > > ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" &
> > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND
> > > ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));")
> > > MyQuery.Execute
> > >
> > > Le problème c'est que les fonction de date renvoient la valeur 0 et je ne
> > > parviens pas à savoir ce qui ne va pas.
> > >
> > > Merci de votre aide.
> > >
> > > Cordialement
> > > Georges
> >
> > Tu as essayé avec Date() au lieu de Date.
> >
effectivement c'était la solution. J'ai utilisé une fonction trouvée sur web (je ne sais plus qui l'avait écrite :
Function DateUS(ByVal dt As Variant) If IsNull(dt) Then Exit Function DateUS = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) & "#" End Function
Merci beaucoup.
"Chouette" a écrit :
Bonsoir,
Dans les sql de mes aplli, je transforme toujours les dates en dates américaines MMDDYYYY pour avoir un résultat correct.
C'est une suggestion... en espérant vous avoir donné une vraie piste...
cordialement, Ch.
"Georges" a écrit :
> Bonsoir, > > j'ai essayé mais le résultat est identique. > > Merci de ton intérêt. > Georges > > "Michel__D" a écrit : > > > Bonjour, > > > > Georges a écrit : > > > Bonjour, > > > > > > je tente de faire fonctionner la requête SQL suivante dans une fonction VBA > > > > > > Set MyQuery = MyDB.CreateQueryDef("", "INSERT INTO DonnéesJoursPrésent ( > > > Matricule, DébutMois, JoursTravail ) SELECT Personnel.Matricule, " & > > > CDate("1/" & Month(Date) - 1 & "/" & DLookup("Num", "Variables", > > > "Variable='Exercice'")) & " AS DébutMois, > > > Val(JoursTrav([DteContrat],[Sortie],Month(Date())-1)) AS JoursTravail FROM > > > Personnel WHERE (((Personnel.DteContrat)<= " & CDate("31/12/" & > > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > > > ((Personnel.Sortie) Is Null Or (Personnel.Sortie)>= " & CDate("1/1/" & > > > DLookup("Num", "Variables", "Variable='Exercice'")) & ") AND > > > ((Personnel.Unité)<>'4970' And (Personnel.Unité)<>'4971'));") > > > MyQuery.Execute > > > > > > Le problème c'est que les fonction de date renvoient la valeur 0 et je ne > > > parviens pas à savoir ce qui ne va pas. > > > > > > Merci de votre aide. > > > > > > Cordialement > > > Georges > > > > Tu as essayé avec Date() au lieu de Date. > >