Gestion des dates

Signaler
Messages postés
3
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
7 septembre 2011
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour,
J'ai besoin de votre aide concernant la gestion des dates. J'ai une application VB qui envoi des requêtes avec une date au format dd/mm/yyyy à un MSsql avec un champ au format datetime.
Cette application est installé sur divers poste dans divers pays et je rencontre à chaque fois un problème avec le format de la date que je suis obligé de modifier en fonction du poste (car je ne peux pas toujours modifier directement les options régionales et linguistiques du poste).

y a t'il une façon de faire afin d'avoir un format générique qui soit pris en compte sur tous les postes quelque soit la langue?
Ou peut être peut'on récuperer le format sous vb afin d'adapter les requetes?
Merci pour vos remarques.

4 réponses

Messages postés
3
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
7 septembre 2011

Finalement il semble que le format ISO court d'encodage de date passe outre le flag DATEFORMAT et les paramètres régionaux et donc soit la solution de mon problème. C'est le format yyyyMMdd sans aucun séparateur.
Il a fallut que je poste la question pour tomber sur ça!! efficace ce forum ;-)

j'espère que ça servira à d'autre.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

Il faudrait plus d'éléments :
- Quelle base de données ? SQL Server, Access, ...
Pour SQL Server, il y a une option à la connexion permettant d'imposer la langue et donc le format des dates affichées
- Quelle est la syntaxe de tes requètes ? Respectes-tu l'encadrement des dates avec le symbole # ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
3
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
7 septembre 2011

La base de données est une MS Sql serveur express 2005.
exemple de requete: "insert into table (champdate) values ('dd/MM/yyyy')"

Le probleme semble avoir été réglé en utilisant le format 'yyyyMMdd'. Je l'ai testé sur 3 postes avec des paramètres régionaux différents.

Merci
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Oui, mais il faut par commencer en respectant les normes SQL : Les dates s'encadrent avec des #, pas des '. Ceci peut influencer le moteur SQL.
Sur SQL Server, quand tu te connectes, tu peux préciser le format régional sous lequel tu veux voir les dates :
Si cnnSqlServer est un objet ADODB :
cnnSqlServer.Properties("Locale Identifier").Value = 1033 ' anglais US, 1036 Fr ...
permet de préciser ce détail