Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/07/2007, 17h44   #1
Invité de passage
 
Inscription : novembre 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4
Points : 1
Points : 1
Par défaut Problème de date avec SQL Server

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.
gide_x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2007, 11h37   #2
Invité de passage
 
Inscription : novembre 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4
Points : 1
Points : 1
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.
gide_x est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h58.


 
 
 
 
Partenaires

Hébergement Web