|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2005 Messages : 4 ![]() |
Bonjour !
J'ai un problème assez bizarre.... Je développe actuellement un programme sous VB6 qui utilise SQL server pour stocker les données et des rapports créés sous CR9 pour les afficher... jusque là, rien d'extraordinaire..... Dans mon programme, je fais mes requètes avec mes dates dans le format dd.mm.yyyy par ex: "SET DateFormat DMY; SELECT * FROM table WHERE MaDate Between '21.05.2001 00:00:00' AND '22.05.2002 23:59:59'" jamais eu aucun problème avec ça ! Or, dès que je veux faire la même requête avec un rapport CR, dans mon appli je fais: Repport.SQLQuerryString = "SET DateFormat DMY; SELECT * FROM table WHERE MaDate Between '21.05.2001 00:00:00' AND '22.05.2002 23:59:59'" (bon, il semblerait que mon rapport CR m'enlève et ignore "SET DateFormat DMY; " tout seul ......) Mais là, il me dit qu'il a fait une erreur dans la conversion varchar a datetime et que le résultat est hors-limite (j'ai un peu traduit car j'ai CR en anglais...) Après quelques test, j'ai remarqué que si je change mon format de date en MM/DD/YYYY, plus aucun problème...... Mais je n'ai pas tout résolut pour autant, et c'est là que cela devient très bizarre.... J'ai essayé d'installer mon Serveur SQL sur une autre machine (exactement les mêmes versions de Windows, du Serveur SQL, etc...), et maintenant je retrouve mon erreur si je ne met pas mes dates au format dd.mm.yyyy !!!! Si quelqu'un comprend quelque chose, et aurait une petite sollution pour moi, je suis prenneur avec un grand plaisir Merci d'avance... JD. |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : novembre 2005 Messages : 4 ![]() |
Salut à tous!
Bon pour ceux qui auraient le même problème que moi, un membre d'un autre forum a trouvé des solutions. 1ère) Passer les sélections de date en paramètre au lieu de les passer par le SQL (pas terrible à mon goût...) 2ème) Si on veut tout passer par le SQL, ce problème peut-être résolu en ajoutant dans les paramètres de connexion: (sous VB6) Report.Database.Tables(i).ConnectionProperties.Add "Language", "english" ensuite, il vous suffit de mettre dans la requête SQL, toutes les dates au format 'yyyy-mm-dd' (ou datetime 'yyyy-mm-dd hh:mm:ss)... Bien entendu, si vous voulez travailler en mm.dd.yyyy il suffit de passer le paramètre de langage connexion à "french", et le tour et joué !!!! Voili, voila, j'espère que ça pourra aider quelqu'un JD. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com