Requête SQL avec fonctions date

Le
Georges
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
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
Michel__D
Le #17642191
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é) 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
Le #17643361
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é) > 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
Le #17644031
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é) > > 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
Le #17645451
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é) > > > 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.
> >


Publicité
Poster une réponse
Anonyme