probleme de date dans les requete

probleme de date dans les requete - Programmation

Marsh Posté le 31-07-2002 à 15:34:42    

J'ai un gros probleme de requete sql avec access.  
 
Quand je fait la requete sql avec une date, j'utilise le format mm/dd/yyyy. Mais sur certaine machine, il faut que la requete soit en format dd/mm/yyyy. Mais la je, peux pas utiliser 2 version du logiciel avec comme difference, le format des date dans les requete. Surtout que ce matin, le format sur ma machine a changé d'un coup qui était mm/dd/yyyy a dd/mm/yyyy. J'ai beau essayer de changer dans les paramettre régionnal maisrien n'y fait
 
Il me faut une solution a ce probleme rapidement. Je vous remecie de vos reponse
 


Message édité par elecman le 31-07-2002 à 17:28:32
Reply

Marsh Posté le 31-07-2002 à 15:34:42   

Reply

Marsh Posté le 31-07-2002 à 17:29:16    

up

Reply

Marsh Posté le 31-07-2002 à 17:56:33    

Version code SQL/VBA (en english quoi) :

Code :
  1. format$(MaDate,"mm/dd/yyyy" )


 
Version assistant de requête (en frenchie) :

Code :
  1. format$(MaDate;"mm/jj/aaaa" )


 
Celà dit, le champ de formattage n'est pas forcé d'être en dur. Il peut être sur un formulaire (par exemple) ou dans une fonction... Ce qui permet à l'utilisateur de choisir le format qu'il veux !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 01-08-2002 à 17:27:03    

Cela ne repond pas vraiment à ma question parce que je le fait déjà mais voici ma requete pour miuex expliquer le probleme:
 

Code :
  1. mysql = "SELECT * from slip where dateslip = #" & Format(datejour, "mm/dd/yyyy" ) & "#"


 
Comme vous pouvez voir, je fait deja le formatage dans les requete mais sur certaine machine,cete requete ne fonctionne pas parce quelle veut la date en format "dd/mm/yyyy", c'est surtout sur les machines qui ont windows francais qui me donne ce probleme mais pas tous.
 
J'utilise Visual Basic 6.0, je passe par ODBC pour acceder à la base de donnée access
 
Merci de vos suggestions


Message édité par elecman le 01-08-2002 à 17:40:12
Reply

Marsh Posté le 01-08-2002 à 18:28:58    

Code :
  1. mysql = "SELECT * from slip where format(dateslip,'mm/dd/yyyy') = '" & Format(datejour, "mm/dd/yyyy" ) & "'"


 :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 01-08-2002 à 19:22:21    

Merci,ca marche impeccable mais j'ai une autre question.
 
En premier lieu, je n'enlevais pas les # et cela ne marchait pas. Il me semble que # indique que je vais envoyer une date. Je croyais même que c'était indispendsable
 
Tu peux me renseigner la dessus?


Message édité par elecman le 01-08-2002 à 19:23:09
Reply

Marsh Posté le 01-08-2002 à 19:46:33    

si tu compares une chaîne de caractère comme '25/12/2001' avec une date, il faut mettre la chaîne entre # pour dire à access qu'il doit convertir la chaîne en date.
 
Dans l'exemple que je t'ai donné, tu compares 2 chaînes donc pas de problèmes.
 
Pour faire des tests sur les dates autres que "=", utilises le format "yyyymmdd".


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-08-2002 à 15:40:29    

Merci de ton explication surtout que j'était sur le moment d'envoyer un nouveau message pour dire que les requetes avec des < et > ne marchait pas. Ce qui veut dire qu'il est préférable de toujours utiliser yyyymmdd pour faire toutes les requêtes au lieu d'utiliser le yyyy/mm/dd
 
Merci


Message édité par elecman le 02-08-2002 à 15:41:13
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed