Bonjour
Je chercher à trier des enregistrements à l'aide d'une procédure
évenementielle, je dois avoir un problème de définition de valeurs...je me
demande si je ne mélange pas des carottes et des navets!
Sur la commande clic d'un bouton rechercher d'une boite de dialogue j'ai la
procédure qui suit qui fonctionne bien .
Je cherche pour une autre boite de dialogue à faire presque la même chose la
seule différence étant que je veux ajouter un critère autre que la date dans
mon filtre mais Hélas access m'affiche lors de l'execution de cette
procédure :Incompatibilité de type?????
Fonctionne:
Select Case Me!ChoixConsultation
Dim Filter As String
Case 1
Filter = "[DateRMN2]=Date()"
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
Case 2
Filter = "[DateRMN2]> Date()-8"
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
Case 3
If IsNull([DateDebut]) Or IsNull([DateFin]) Then
MsgBox "Vous devez taper une date de début et une date de fin."
DoCmd.GoToControl "DateDebut"
Else
If [DateDebut] > [DateFin] Then
MsgBox "La date de fin doit être postérieure à la date de
début."
DoCmd.GoToControl "DateDebut"
Else
Filter = "[DateRMN2]Between Forms![BdeD_RMN_C]![DateDebut]and
[Forms]![BdeD_RMN_C]![DateFin] "
End If
End If
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
End Select
Ne Fonctionne pas:
Dim Filter2 As String
Const ConstValeurInstrument = 4
Select Case Me!ChoixConsultation
Case 1
Filter2 = "[DateMS2]=Date()"
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
Case 2
Filter2 = "[DateMS2]> Date()-20" And
"[NumRefAppareil].value=ConstValeurInstrument"
'ouvre le rapport cahier MS sur les 20 derniers jours pour l'instrument 4
(NumRefAppareil étant la clé primaire de ma table)
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
Case 3
If IsNull([DateDebut]) Or IsNull([DateFin]) Then
MsgBox "Vous devez taper une date de début et une date de fin."
DoCmd.GoToControl "DateDebut"
Else
If [DateDebut] > [DateFin] Then
MsgBox "La date de fin doit être postérieure à la date de
début."
DoCmd.GoToControl "DateDebut"
Else
Filter2 = "[DateMS2]Between Forms![BdeD_LCQ_C]![DateDebut]and
[Forms]![BdeD_LCQ_C]![DateFin]"
End If
End If
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
End Select
Essaie ça Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=" & ConstValeurInstrument
Gilbert
"Sabine B." a écrit dans le message de news:4563e7cd$0$25921$
Bonjour Je chercher à trier des enregistrements à l'aide d'une procédure évenementielle, je dois avoir un problème de définition de valeurs...je me demande si je ne mélange pas des carottes et des navets! Sur la commande clic d'un bouton rechercher d'une boite de dialogue j'ai la
procédure qui suit qui fonctionne bien . Je cherche pour une autre boite de dialogue à faire presque la même chose la
seule différence étant que je veux ajouter un critère autre que la date dans
mon filtre mais Hélas access m'affiche lors de l'execution de cette procédure :Incompatibilité de type????? Fonctionne: Select Case Me!ChoixConsultation Dim Filter As String Case 1 Filter = "[DateRMN2]Úte()" DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter Case 2 Filter = "[DateRMN2]> Date()-8" DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter Case 3 If IsNull([DateDebut]) Or IsNull([DateFin]) Then MsgBox "Vous devez taper une date de début et une date de fin." DoCmd.GoToControl "DateDebut" Else If [DateDebut] > [DateFin] Then MsgBox "La date de fin doit être postérieure à la date de début." DoCmd.GoToControl "DateDebut" Else Filter = "[DateRMN2]Between Forms![BdeD_RMN_C]![DateDebut]and [Forms]![BdeD_RMN_C]![DateFin] " End If End If DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter End Select
Ne Fonctionne pas: Dim Filter2 As String Const ConstValeurInstrument = 4 Select Case Me!ChoixConsultation Case 1 Filter2 = "[DateMS2]Úte()" DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 Case 2 Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=ConstValeurInstrument" 'ouvre le rapport cahier MS sur les 20 derniers jours pour l'instrument 4 (NumRefAppareil étant la clé primaire de ma table) DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 Case 3 If IsNull([DateDebut]) Or IsNull([DateFin]) Then MsgBox "Vous devez taper une date de début et une date de fin." DoCmd.GoToControl "DateDebut" Else If [DateDebut] > [DateFin] Then MsgBox "La date de fin doit être postérieure à la date de début." DoCmd.GoToControl "DateDebut" Else Filter2 = "[DateMS2]Between Forms![BdeD_LCQ_C]![DateDebut]and [Forms]![BdeD_LCQ_C]![DateFin]" End If End If DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 End Select
Merci pour votre aide.
Sabine
Bonjour,
Essaie ça
Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=" &
ConstValeurInstrument
Gilbert
"Sabine B." <sabine.tois@internet-concept.com> a écrit dans le message de
news:4563e7cd$0$25921$ba4acef3@news.orange.fr...
Bonjour
Je chercher à trier des enregistrements à l'aide d'une procédure
évenementielle, je dois avoir un problème de définition de valeurs...je me
demande si je ne mélange pas des carottes et des navets!
Sur la commande clic d'un bouton rechercher d'une boite de dialogue j'ai
la
procédure qui suit qui fonctionne bien .
Je cherche pour une autre boite de dialogue à faire presque la même chose
la
seule différence étant que je veux ajouter un critère autre que la date
dans
mon filtre mais Hélas access m'affiche lors de l'execution de cette
procédure :Incompatibilité de type?????
Fonctionne:
Select Case Me!ChoixConsultation
Dim Filter As String
Case 1
Filter = "[DateRMN2]Úte()"
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
Case 2
Filter = "[DateRMN2]> Date()-8"
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
Case 3
If IsNull([DateDebut]) Or IsNull([DateFin]) Then
MsgBox "Vous devez taper une date de début et une date de fin."
DoCmd.GoToControl "DateDebut"
Else
If [DateDebut] > [DateFin] Then
MsgBox "La date de fin doit être postérieure à la date de
début."
DoCmd.GoToControl "DateDebut"
Else
Filter = "[DateRMN2]Between Forms![BdeD_RMN_C]![DateDebut]and
[Forms]![BdeD_RMN_C]![DateFin] "
End If
End If
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
End Select
Ne Fonctionne pas:
Dim Filter2 As String
Const ConstValeurInstrument = 4
Select Case Me!ChoixConsultation
Case 1
Filter2 = "[DateMS2]Úte()"
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
Case 2
Filter2 = "[DateMS2]> Date()-20" And
"[NumRefAppareil].value=ConstValeurInstrument"
'ouvre le rapport cahier MS sur les 20 derniers jours pour l'instrument 4
(NumRefAppareil étant la clé primaire de ma table)
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
Case 3
If IsNull([DateDebut]) Or IsNull([DateFin]) Then
MsgBox "Vous devez taper une date de début et une date de fin."
DoCmd.GoToControl "DateDebut"
Else
If [DateDebut] > [DateFin] Then
MsgBox "La date de fin doit être postérieure à la date de
début."
DoCmd.GoToControl "DateDebut"
Else
Filter2 = "[DateMS2]Between Forms![BdeD_LCQ_C]![DateDebut]and
[Forms]![BdeD_LCQ_C]![DateFin]"
End If
End If
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
End Select
Essaie ça Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=" & ConstValeurInstrument
Gilbert
"Sabine B." a écrit dans le message de news:4563e7cd$0$25921$
Bonjour Je chercher à trier des enregistrements à l'aide d'une procédure évenementielle, je dois avoir un problème de définition de valeurs...je me demande si je ne mélange pas des carottes et des navets! Sur la commande clic d'un bouton rechercher d'une boite de dialogue j'ai la
procédure qui suit qui fonctionne bien . Je cherche pour une autre boite de dialogue à faire presque la même chose la
seule différence étant que je veux ajouter un critère autre que la date dans
mon filtre mais Hélas access m'affiche lors de l'execution de cette procédure :Incompatibilité de type????? Fonctionne: Select Case Me!ChoixConsultation Dim Filter As String Case 1 Filter = "[DateRMN2]Úte()" DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter Case 2 Filter = "[DateRMN2]> Date()-8" DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter Case 3 If IsNull([DateDebut]) Or IsNull([DateFin]) Then MsgBox "Vous devez taper une date de début et une date de fin." DoCmd.GoToControl "DateDebut" Else If [DateDebut] > [DateFin] Then MsgBox "La date de fin doit être postérieure à la date de début." DoCmd.GoToControl "DateDebut" Else Filter = "[DateRMN2]Between Forms![BdeD_RMN_C]![DateDebut]and [Forms]![BdeD_RMN_C]![DateFin] " End If End If DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter End Select
Ne Fonctionne pas: Dim Filter2 As String Const ConstValeurInstrument = 4 Select Case Me!ChoixConsultation Case 1 Filter2 = "[DateMS2]Úte()" DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 Case 2 Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=ConstValeurInstrument" 'ouvre le rapport cahier MS sur les 20 derniers jours pour l'instrument 4 (NumRefAppareil étant la clé primaire de ma table) DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 Case 3 If IsNull([DateDebut]) Or IsNull([DateFin]) Then MsgBox "Vous devez taper une date de début et une date de fin." DoCmd.GoToControl "DateDebut" Else If [DateDebut] > [DateFin] Then MsgBox "La date de fin doit être postérieure à la date de début." DoCmd.GoToControl "DateDebut" Else Filter2 = "[DateMS2]Between Forms![BdeD_LCQ_C]![DateDebut]and [Forms]![BdeD_LCQ_C]![DateFin]" End If End If DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 End Select
Merci pour votre aide.
Sabine
Jean-Pierre
Bonjour Sabine,
Je reprends le code qui fonctionne, et je suis surpris que cela fonctionne:
Il manque des séparateurs "espaces", et normalement, une date doit se trouver entre des délimiteurs "#". Es-tu bien sûr que ça marche ? Il me semble que ça devrait ressembler à:
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _ "# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
J-Pierre
Bonjour Sabine,
Je reprends le code qui fonctionne, et je suis surpris que cela fonctionne:
Il manque des séparateurs "espaces", et normalement, une date doit se trouver entre des délimiteurs "#". Es-tu bien sûr que ça
marche ?
Il me semble que ça devrait ressembler à:
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
Il manque des séparateurs "espaces", et normalement, une date doit se trouver entre des délimiteurs "#". Es-tu bien sûr que ça marche ? Il me semble que ça devrait ressembler à:
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _ "# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
J-Pierre
Sabine B.
Bonsoir Jean Pierre Pour répondre à ta question: oui mon code fonctionne correctement même si je ne peux pas te dire pourquoi! Il me rapporte les bon enregistrements, mais je suis toujours preneuse d'infos pour éviter de taper des lignes comme un "sagouin"!!! Je ne maîtrise ni les espaces ni l'utilisation de "&"...j'ai un peu de mal à définir les différents types de valeurs... Je suis aussi surprise de voir que ce code fonctionne même si je n'ai pas définit avant : Dim Filter as String.....est ce réellement nécessaire? J'ai substitué ta ligne qui semble plus rigoureuse ce qui fonctionne aussi parfaitement
Merci à toi
Sabine
"Jean-Pierre" a écrit dans le message de news:
Bonjour Sabine,
Je reprends le code qui fonctionne, et je suis surpris que cela fonctionne:
Il manque des séparateurs "espaces", et normalement, une date doit se trouver entre des délimiteurs "#". Es-tu bien sûr que ça marche ? Il me semble que ça devrait ressembler à:
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _ "# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
J-Pierre
Bonsoir Jean Pierre
Pour répondre à ta question: oui mon code fonctionne correctement même si je
ne peux pas te dire pourquoi!
Il me rapporte les bon enregistrements, mais je suis toujours preneuse
d'infos pour éviter de taper des lignes comme un "sagouin"!!!
Je ne maîtrise ni les espaces ni l'utilisation de "&"...j'ai un peu de mal à
définir les différents types de valeurs...
Je suis aussi surprise de voir que ce code fonctionne même si je n'ai pas
définit avant : Dim Filter as String.....est ce réellement nécessaire?
J'ai substitué ta ligne qui semble plus rigoureuse ce qui fonctionne aussi
parfaitement
Merci à toi
Sabine
"Jean-Pierre" <enlevez-moi-ca.jpberchtold@hotmail.com> a écrit dans le
message de news: OV5QcXhDHHA.3520@TK2MSFTNGP04.phx.gbl...
Bonjour Sabine,
Je reprends le code qui fonctionne, et je suis surpris que cela
fonctionne:
Il manque des séparateurs "espaces", et normalement, une date doit se
trouver entre des délimiteurs "#". Es-tu bien sûr que ça marche ?
Il me semble que ça devrait ressembler à:
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
Bonsoir Jean Pierre Pour répondre à ta question: oui mon code fonctionne correctement même si je ne peux pas te dire pourquoi! Il me rapporte les bon enregistrements, mais je suis toujours preneuse d'infos pour éviter de taper des lignes comme un "sagouin"!!! Je ne maîtrise ni les espaces ni l'utilisation de "&"...j'ai un peu de mal à définir les différents types de valeurs... Je suis aussi surprise de voir que ce code fonctionne même si je n'ai pas définit avant : Dim Filter as String.....est ce réellement nécessaire? J'ai substitué ta ligne qui semble plus rigoureuse ce qui fonctionne aussi parfaitement
Merci à toi
Sabine
"Jean-Pierre" a écrit dans le message de news:
Bonjour Sabine,
Je reprends le code qui fonctionne, et je suis surpris que cela fonctionne:
Il manque des séparateurs "espaces", et normalement, une date doit se trouver entre des délimiteurs "#". Es-tu bien sûr que ça marche ? Il me semble que ça devrait ressembler à:
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _ "# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
J-Pierre
Jean-Pierre
Bonsoir Sabine,
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option impose de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce n'est pas nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database Option Explicit
Private Sub Commande759_Click() ... ...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le résultat qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça deviendra lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#" MsgBox Filter
Docmd Open........ J-Pierre
Bonsoir Sabine,
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option impose
de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce n'est pas
nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database
Option Explicit
Private Sub Commande759_Click()
...
...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le résultat
qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça deviendra
lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
MsgBox Filter
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option impose de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce n'est pas nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database Option Explicit
Private Sub Commande759_Click() ... ...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le résultat qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça deviendra lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#" MsgBox Filter
Docmd Open........ J-Pierre
Eric
Bonsoir,
(Pas tout lu) Ne serait-il pas préférable d'écrire la date au format US car le filtre n'est rien d'autre qu'une clause WHERE sans le mot WHERE donc un truc du genre : Filter = "[DateRMN2] Between #" & _ Format(Forms![BdeD_RMN_C]![DateDebut],"mm/dd/yyyy") & "# And #" & _ Format(Forms![BdeD_RMN_C]![DateFin],"mm/dd/yyyy") & "#"
Bonsoir Sabine,
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option impose de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce n'est pas nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database Option Explicit
Private Sub Commande759_Click() ... ...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le résultat qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça deviendra lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
MsgBox Filter Docmd Open........ J-Pierre
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonsoir,
(Pas tout lu)
Ne serait-il pas préférable d'écrire la date au format US car le filtre
n'est rien d'autre qu'une clause WHERE sans le mot WHERE
donc un truc du genre :
Filter = "[DateRMN2] Between #" & _
Format(Forms![BdeD_RMN_C]![DateDebut],"mm/dd/yyyy") & "# And #" & _
Format(Forms![BdeD_RMN_C]![DateFin],"mm/dd/yyyy") & "#"
Bonsoir Sabine,
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option impose
de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce n'est pas
nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database
Option Explicit
Private Sub Commande759_Click()
...
...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le résultat
qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça deviendra
lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
MsgBox Filter
Docmd Open........
J-Pierre
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
(Pas tout lu) Ne serait-il pas préférable d'écrire la date au format US car le filtre n'est rien d'autre qu'une clause WHERE sans le mot WHERE donc un truc du genre : Filter = "[DateRMN2] Between #" & _ Format(Forms![BdeD_RMN_C]![DateDebut],"mm/dd/yyyy") & "# And #" & _ Format(Forms![BdeD_RMN_C]![DateFin],"mm/dd/yyyy") & "#"
Bonsoir Sabine,
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option impose de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce n'est pas nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database Option Explicit
Private Sub Commande759_Click() ... ...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le résultat qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça deviendra lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
MsgBox Filter Docmd Open........ J-Pierre
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Jean-Pierre
Salut Eric,
Sabine a précisé qu'elle était débutante......
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Si j'étais courageux, début décembre, je ferais des tests :-)
J-Pierre
"Eric" a écrit dans le message de news: %
Bonsoir,
(Pas tout lu) Ne serait-il pas préférable d'écrire la date au format US car le filtre n'est rien d'autre qu'une clause WHERE sans le mot WHERE donc un truc du genre : Filter = "[DateRMN2] Between #" & _ Format(Forms![BdeD_RMN_C]![DateDebut],"mm/dd/yyyy") & "# And #" & _ Format(Forms![BdeD_RMN_C]![DateFin],"mm/dd/yyyy") & "#"
Bonsoir Sabine,
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option impose de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce n'est pas nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database Option Explicit
Private Sub Commande759_Click() ... ...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le résultat qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça deviendra lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
MsgBox Filter Docmd Open........ J-Pierre
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Salut Eric,
Sabine a précisé qu'elle était débutante......
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au
format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours
YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Si j'étais courageux, début décembre, je ferais des tests :-)
J-Pierre
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news: %23Zcs3MmDHHA.3524@TK2MSFTNGP06.phx.gbl...
Bonsoir,
(Pas tout lu)
Ne serait-il pas préférable d'écrire la date au format US car le filtre n'est rien d'autre qu'une clause WHERE sans le mot
WHERE
donc un truc du genre :
Filter = "[DateRMN2] Between #" & _
Format(Forms![BdeD_RMN_C]![DateDebut],"mm/dd/yyyy") & "# And #" & _
Format(Forms![BdeD_RMN_C]![DateFin],"mm/dd/yyyy") & "#"
Bonsoir Sabine,
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option
impose de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce
n'est pas nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database
Option Explicit
Private Sub Commande759_Click()
...
...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le
résultat qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça
deviendra lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
MsgBox Filter
Docmd Open........
J-Pierre
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Si j'étais courageux, début décembre, je ferais des tests :-)
J-Pierre
"Eric" a écrit dans le message de news: %
Bonsoir,
(Pas tout lu) Ne serait-il pas préférable d'écrire la date au format US car le filtre n'est rien d'autre qu'une clause WHERE sans le mot WHERE donc un truc du genre : Filter = "[DateRMN2] Between #" & _ Format(Forms![BdeD_RMN_C]![DateDebut],"mm/dd/yyyy") & "# And #" & _ Format(Forms![BdeD_RMN_C]![DateFin],"mm/dd/yyyy") & "#"
Bonsoir Sabine,
Au début de ton code, avant ta première procédure évènementielle (Private Sub) rajoute "Option Explicit", cette option impose de définir explicitement les variables (Dim quelque chose), ça évite les erreurs de frappe qui amène des bugs. Ce n'est pas nécessaire, mais je pense que c'est préférable.
Ca devrait donner:
Option Compare Database Option Explicit
Private Sub Commande759_Click() ... ...
Dans le cas de ton Filter, Access évalue l'expression en remplaçant chaque variable par sa valeur. Si tu veux voir le résultat qui est utilisé comme filtre à l'ouverture de ton formulaire, juste après ton instruction, rajoute MsgBox ..., ça deviendra lumineux :-)
Filter = "[DateRMN2] Between #" & Forms![BdeD_RMN_C]![DateDebut] & _
"# and #" & [Forms]![BdeD_RMN_C]![DateFin] & "#"
MsgBox Filter Docmd Open........ J-Pierre
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Sabine B.
Bonsoir Gilbert,
Merci pour ta réponse..... Hélas cela ne fonctionne toujours pas. J'ai coupé l'expression en deux afin de voir où se localise le problème, j'ai donc créé un filtre simple uniquement sur mon instrument...déjà là...il y a un problème:
Dim Filter2 As String Select Case Me!ChoixConsultation ... Case 2 Const ConstValeurInstrument = 4 Filter2 = "[NumRefAppareil].value =" & ConstValeurInstrument
Une fenêtre apparait me demandant de saisir la valeur de NumRefAppareil..... si je tape la valeur, il ne trie pas pour autant les enregistrements.... Chose étrange si je tape une valeur autre que 4 il considère qu'il n'y a pas de réponse...et déclanche ma procédure sur absence d'enregistrement de mon état. (Remarque: j'ai d'autres instruments d'enregistrés...pour lesquels ils existe des enregistrement dans mon état!)
Je ne pense pas qu'il y ait une erreur sur la syntaxe du champs dans mon état... Je ne comprends pas le problème...
Je vais continuer à creuser....
Sabine "Gilbert" a écrit dans le message de news: %
Bonjour,
Essaie ça Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=" & ConstValeurInstrument
Gilbert
"Sabine B." a écrit dans le message de news:4563e7cd$0$25921$
Bonjour Je chercher à trier des enregistrements à l'aide d'une procédure évenementielle, je dois avoir un problème de définition de valeurs...je me demande si je ne mélange pas des carottes et des navets! Sur la commande clic d'un bouton rechercher d'une boite de dialogue j'ai la
procédure qui suit qui fonctionne bien . Je cherche pour une autre boite de dialogue à faire presque la même chose la
seule différence étant que je veux ajouter un critère autre que la date dans
mon filtre mais Hélas access m'affiche lors de l'execution de cette procédure :Incompatibilité de type????? Fonctionne: Select Case Me!ChoixConsultation Dim Filter As String Case 1 Filter = "[DateRMN2]Úte()" DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter Case 2 Filter = "[DateRMN2]> Date()-8" DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter Case 3 If IsNull([DateDebut]) Or IsNull([DateFin]) Then MsgBox "Vous devez taper une date de début et une date de fin." DoCmd.GoToControl "DateDebut" Else If [DateDebut] > [DateFin] Then MsgBox "La date de fin doit être postérieure à la date de début." DoCmd.GoToControl "DateDebut" Else Filter = "[DateRMN2]Between Forms![BdeD_RMN_C]![DateDebut]and [Forms]![BdeD_RMN_C]![DateFin] " End If End If DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter End Select
Ne Fonctionne pas: Dim Filter2 As String Const ConstValeurInstrument = 4 Select Case Me!ChoixConsultation Case 1 Filter2 = "[DateMS2]Úte()" DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 Case 2 Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=ConstValeurInstrument" 'ouvre le rapport cahier MS sur les 20 derniers jours pour l'instrument 4 (NumRefAppareil étant la clé primaire de ma table) DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 Case 3 If IsNull([DateDebut]) Or IsNull([DateFin]) Then MsgBox "Vous devez taper une date de début et une date de fin." DoCmd.GoToControl "DateDebut" Else If [DateDebut] > [DateFin] Then MsgBox "La date de fin doit être postérieure à la date de début." DoCmd.GoToControl "DateDebut" Else Filter2 = "[DateMS2]Between Forms![BdeD_LCQ_C]![DateDebut]and [Forms]![BdeD_LCQ_C]![DateFin]" End If End If DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 End Select
Merci pour votre aide.
Sabine
Bonsoir Gilbert,
Merci pour ta réponse.....
Hélas cela ne fonctionne toujours pas.
J'ai coupé l'expression en deux afin de voir où se localise le problème,
j'ai donc créé un filtre simple uniquement sur mon instrument...déjà
là...il y a un problème:
Dim Filter2 As String
Select Case Me!ChoixConsultation
...
Case 2
Const ConstValeurInstrument = 4
Filter2 = "[NumRefAppareil].value =" & ConstValeurInstrument
Une fenêtre apparait me demandant de saisir la valeur de NumRefAppareil.....
si je tape la valeur, il ne trie pas pour autant les enregistrements....
Chose étrange si je tape une valeur autre que 4 il considère qu'il n'y a pas
de réponse...et déclanche ma procédure sur absence d'enregistrement de mon
état.
(Remarque: j'ai d'autres instruments d'enregistrés...pour lesquels ils
existe des enregistrement dans mon état!)
Je ne pense pas qu'il y ait une erreur sur la syntaxe du champs dans mon
état...
Je ne comprends pas le problème...
Je vais continuer à creuser....
Sabine
"Gilbert" <ZZZZgilbertvie@tiscali.fr> a écrit dans le message de news:
%23Sotz3gDHHA.3228@TK2MSFTNGP03.phx.gbl...
Bonjour,
Essaie ça
Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=" &
ConstValeurInstrument
Gilbert
"Sabine B." <sabine.tois@internet-concept.com> a écrit dans le message de
news:4563e7cd$0$25921$ba4acef3@news.orange.fr...
Bonjour
Je chercher à trier des enregistrements à l'aide d'une procédure
évenementielle, je dois avoir un problème de définition de valeurs...je
me
demande si je ne mélange pas des carottes et des navets!
Sur la commande clic d'un bouton rechercher d'une boite de dialogue j'ai
la
procédure qui suit qui fonctionne bien .
Je cherche pour une autre boite de dialogue à faire presque la même chose
la
seule différence étant que je veux ajouter un critère autre que la date
dans
mon filtre mais Hélas access m'affiche lors de l'execution de cette
procédure :Incompatibilité de type?????
Fonctionne:
Select Case Me!ChoixConsultation
Dim Filter As String
Case 1
Filter = "[DateRMN2]Úte()"
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
Case 2
Filter = "[DateRMN2]> Date()-8"
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
Case 3
If IsNull([DateDebut]) Or IsNull([DateFin]) Then
MsgBox "Vous devez taper une date de début et une date de fin."
DoCmd.GoToControl "DateDebut"
Else
If [DateDebut] > [DateFin] Then
MsgBox "La date de fin doit être postérieure à la date de
début."
DoCmd.GoToControl "DateDebut"
Else
Filter = "[DateRMN2]Between Forms![BdeD_RMN_C]![DateDebut]and
[Forms]![BdeD_RMN_C]![DateFin] "
End If
End If
DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter
End Select
Ne Fonctionne pas:
Dim Filter2 As String
Const ConstValeurInstrument = 4
Select Case Me!ChoixConsultation
Case 1
Filter2 = "[DateMS2]Úte()"
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
Case 2
Filter2 = "[DateMS2]> Date()-20" And
"[NumRefAppareil].value=ConstValeurInstrument"
'ouvre le rapport cahier MS sur les 20 derniers jours pour l'instrument 4
(NumRefAppareil étant la clé primaire de ma table)
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
Case 3
If IsNull([DateDebut]) Or IsNull([DateFin]) Then
MsgBox "Vous devez taper une date de début et une date de fin."
DoCmd.GoToControl "DateDebut"
Else
If [DateDebut] > [DateFin] Then
MsgBox "La date de fin doit être postérieure à la date de
début."
DoCmd.GoToControl "DateDebut"
Else
Filter2 = "[DateMS2]Between Forms![BdeD_LCQ_C]![DateDebut]and
[Forms]![BdeD_LCQ_C]![DateFin]"
End If
End If
DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2
End Select
Merci pour ta réponse..... Hélas cela ne fonctionne toujours pas. J'ai coupé l'expression en deux afin de voir où se localise le problème, j'ai donc créé un filtre simple uniquement sur mon instrument...déjà là...il y a un problème:
Dim Filter2 As String Select Case Me!ChoixConsultation ... Case 2 Const ConstValeurInstrument = 4 Filter2 = "[NumRefAppareil].value =" & ConstValeurInstrument
Une fenêtre apparait me demandant de saisir la valeur de NumRefAppareil..... si je tape la valeur, il ne trie pas pour autant les enregistrements.... Chose étrange si je tape une valeur autre que 4 il considère qu'il n'y a pas de réponse...et déclanche ma procédure sur absence d'enregistrement de mon état. (Remarque: j'ai d'autres instruments d'enregistrés...pour lesquels ils existe des enregistrement dans mon état!)
Je ne pense pas qu'il y ait une erreur sur la syntaxe du champs dans mon état... Je ne comprends pas le problème...
Je vais continuer à creuser....
Sabine "Gilbert" a écrit dans le message de news: %
Bonjour,
Essaie ça Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=" & ConstValeurInstrument
Gilbert
"Sabine B." a écrit dans le message de news:4563e7cd$0$25921$
Bonjour Je chercher à trier des enregistrements à l'aide d'une procédure évenementielle, je dois avoir un problème de définition de valeurs...je me demande si je ne mélange pas des carottes et des navets! Sur la commande clic d'un bouton rechercher d'une boite de dialogue j'ai la
procédure qui suit qui fonctionne bien . Je cherche pour une autre boite de dialogue à faire presque la même chose la
seule différence étant que je veux ajouter un critère autre que la date dans
mon filtre mais Hélas access m'affiche lors de l'execution de cette procédure :Incompatibilité de type????? Fonctionne: Select Case Me!ChoixConsultation Dim Filter As String Case 1 Filter = "[DateRMN2]Úte()" DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter Case 2 Filter = "[DateRMN2]> Date()-8" DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter Case 3 If IsNull([DateDebut]) Or IsNull([DateFin]) Then MsgBox "Vous devez taper une date de début et une date de fin." DoCmd.GoToControl "DateDebut" Else If [DateDebut] > [DateFin] Then MsgBox "La date de fin doit être postérieure à la date de début." DoCmd.GoToControl "DateDebut" Else Filter = "[DateRMN2]Between Forms![BdeD_RMN_C]![DateDebut]and [Forms]![BdeD_RMN_C]![DateFin] " End If End If DoCmd.OpenReport "CahierRMN", acViewPreview, , Filter End Select
Ne Fonctionne pas: Dim Filter2 As String Const ConstValeurInstrument = 4 Select Case Me!ChoixConsultation Case 1 Filter2 = "[DateMS2]Úte()" DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 Case 2 Filter2 = "[DateMS2]> Date()-20" And "[NumRefAppareil].value=ConstValeurInstrument" 'ouvre le rapport cahier MS sur les 20 derniers jours pour l'instrument 4 (NumRefAppareil étant la clé primaire de ma table) DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 Case 3 If IsNull([DateDebut]) Or IsNull([DateFin]) Then MsgBox "Vous devez taper une date de début et une date de fin." DoCmd.GoToControl "DateDebut" Else If [DateDebut] > [DateFin] Then MsgBox "La date de fin doit être postérieure à la date de début." DoCmd.GoToControl "DateDebut" Else Filter2 = "[DateMS2]Between Forms![BdeD_LCQ_C]![DateDebut]and [Forms]![BdeD_LCQ_C]![DateFin]" End If End If DoCmd.OpenReport "CahierMS", acViewPreview, , Filter2 End Select
Merci pour votre aide.
Sabine
Eric
Bonsoir Jean-Pierre,
... Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06 et celle de fin le 10/05/06 (en date au format français) elle récupèrera la période du 5 mars 06 au 5 octobre 06 donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL. Mais, sait-on jamais ...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonsoir Jean-Pierre,
...
Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06
et celle de fin le 10/05/06 (en date au format français)
elle récupèrera la période du 5 mars 06 au 5 octobre 06
donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au
format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours
YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL.
Mais, sait-on jamais ...
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
... Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06 et celle de fin le 10/05/06 (en date au format français) elle récupèrera la période du 5 mars 06 au 5 octobre 06 donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL. Mais, sait-on jamais ...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Jean-Pierre
Bonsoir Eric,
Je viens de faire le test en reprenant tes dates, j'ai fait une requête avec comme critère de sélection:
= #03/05/06# Et <= #10/05/06#: Les lignes sélectionnées vont bien du 3 au 10 mai 2006.
J'abandonne, toute personne voulant bien faire des tests poussés bénéficiera de ma reconnaissance éternelle :-)
J-Pierre
"Eric" a écrit dans le message de news:
Bonsoir Jean-Pierre,
... Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06 et celle de fin le 10/05/06 (en date au format français) elle récupèrera la période du 5 mars 06 au 5 octobre 06 donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL. Mais, sait-on jamais ...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonsoir Eric,
Je viens de faire le test en reprenant tes dates, j'ai fait une requête avec comme critère de sélection:
= #03/05/06# Et <= #10/05/06#:
Les lignes sélectionnées vont bien du 3 au 10 mai 2006.
J'abandonne, toute personne voulant bien faire des tests poussés bénéficiera de ma reconnaissance éternelle :-)
J-Pierre
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news: eEYq5HnDHHA.4312@TK2MSFTNGP06.phx.gbl...
Bonsoir Jean-Pierre,
...
Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06
et celle de fin le 10/05/06 (en date au format français)
elle récupèrera la période du 5 mars 06 au 5 octobre 06
donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date
au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours
YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL.
Mais, sait-on jamais ...
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je viens de faire le test en reprenant tes dates, j'ai fait une requête avec comme critère de sélection:
= #03/05/06# Et <= #10/05/06#: Les lignes sélectionnées vont bien du 3 au 10 mai 2006.
J'abandonne, toute personne voulant bien faire des tests poussés bénéficiera de ma reconnaissance éternelle :-)
J-Pierre
"Eric" a écrit dans le message de news:
Bonsoir Jean-Pierre,
... Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06 et celle de fin le 10/05/06 (en date au format français) elle récupèrera la période du 5 mars 06 au 5 octobre 06 donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL. Mais, sait-on jamais ...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
re Jean-Pierre,
Dans le générateur de requête, je suis d'accord avec toi, le format Fr ne pose pas de problème, mais si tu regardes le SQL généré par le générateur, tu y verras les dates transposées au format americain. Par contre, sur la clause d'un filtre que tu écris en US puisque tu as mis un 'BETWEEN' et 'AND' tu dois les inscrire au format US.
Ok ?
Bonsoir Eric,
Je viens de faire le test en reprenant tes dates, j'ai fait une requête avec comme critère de sélection:
= #03/05/06# Et <= #10/05/06#:
Les lignes sélectionnées vont bien du 3 au 10 mai 2006.
J'abandonne, toute personne voulant bien faire des tests poussés bénéficiera de ma reconnaissance éternelle :-)
J-Pierre
"Eric" a écrit dans le message de news:
Bonsoir Jean-Pierre,
... Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06 et celle de fin le 10/05/06 (en date au format français) elle récupèrera la période du 5 mars 06 au 5 octobre 06 donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL. Mais, sait-on jamais ...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re Jean-Pierre,
Dans le générateur de requête, je suis d'accord avec toi, le format Fr
ne pose pas de problème, mais si tu regardes le SQL généré par le
générateur, tu y verras les dates transposées au format americain.
Par contre, sur la clause d'un filtre que tu écris en US puisque tu as
mis un 'BETWEEN' et 'AND' tu dois les inscrire au format US.
Ok ?
Bonsoir Eric,
Je viens de faire le test en reprenant tes dates, j'ai fait une requête avec comme critère de sélection:
= #03/05/06# Et <= #10/05/06#:
Les lignes sélectionnées vont bien du 3 au 10 mai 2006.
J'abandonne, toute personne voulant bien faire des tests poussés bénéficiera de ma reconnaissance éternelle :-)
J-Pierre
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news: eEYq5HnDHHA.4312@TK2MSFTNGP06.phx.gbl...
Bonsoir Jean-Pierre,
...
Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06
et celle de fin le 10/05/06 (en date au format français)
elle récupèrera la période du 5 mars 06 au 5 octobre 06
donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date
au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours
YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL.
Mais, sait-on jamais ...
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans le générateur de requête, je suis d'accord avec toi, le format Fr ne pose pas de problème, mais si tu regardes le SQL généré par le générateur, tu y verras les dates transposées au format americain. Par contre, sur la clause d'un filtre que tu écris en US puisque tu as mis un 'BETWEEN' et 'AND' tu dois les inscrire au format US.
Ok ?
Bonsoir Eric,
Je viens de faire le test en reprenant tes dates, j'ai fait une requête avec comme critère de sélection:
= #03/05/06# Et <= #10/05/06#:
Les lignes sélectionnées vont bien du 3 au 10 mai 2006.
J'abandonne, toute personne voulant bien faire des tests poussés bénéficiera de ma reconnaissance éternelle :-)
J-Pierre
"Eric" a écrit dans le message de news:
Bonsoir Jean-Pierre,
... Sabine a précisé qu'elle était débutante......
Oui, peut-être, mais si sa date de début est le 03/05/06 et celle de fin le 10/05/06 (en date au format français) elle récupèrera la période du 5 mars 06 au 5 octobre 06 donc vaut mieux la prévenir, ne crois-tu pas ?
Au demeurant, avec ces formats, il y a assez longtemps, je ne me souviens plus des détails, mais il me semble qu'une date au format américain, par exemple 11/12/2006 était mal interprétée par un système en français. Perso, j'utilise toujours YYYY/MM/DD comme masque, et ça, ça marche toujours quel que soit l'environnement.
Jamais eu de probleme avec des dates au format US dans du SQL. Mais, sait-on jamais ...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr