IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Coldfusion Discussion :

Date CF vers MS Access


Sujet :

Coldfusion

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Date CF vers MS Access
    Bonjour à tous,

    Je rencontre un problème d'interprétation des dates entre format français et américain lors de l'insertion dans une base de données MS Access.

    Une date s'affiche correctement dans un formulaire (avec LSDateformat(ladate, "dd/mm/yyyy")).

    Lors de l'insertion dans la base MS Access par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #CreateODBCDate(Dateformat(ladate,"dd/mm/yyyy"))#
    les jours et mois sont inversés dès que cette inversion reste une date valide.
    Ex 11/06/2013 deviendra 06/11/2013 mais 13/06/2013 restera inchangée.

    J'ai essayé également de passer par une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <cfset variables.MaDate="##" & DateFormat(ladate,"dd/mm/yyyy") & "##">
    
    insert into matable
    (ChampDate) Values (#variables.MaDate#)
    Where etc...
    Le résultat est le même !

    Bien sûr dans mon fichier Application.cfm il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <cfset Locale=setLocale("French (standard)")>
    Auriez-vous une solution à ce problème ?

    Mon contexte :
    Serveur Windows 2003
    CF 8

    D'avance merci de votre aide.

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour,

    Une solution serait d'utiliser LSParseDateTime qui prend en paramètre un string et retourne un objet date.

    Puis d'utiliser cet objet date comme paramètre de cfqueryparam pour ton insert à condition que la colonne ChampDate de ta table MaTable est bien du type Date.
    Bien le bonjour chez vous
    Jowo

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci beaucoup pour ta réponse que je vais essayer immédiatement.
    Je m'étonne un peu que pas grand monde à priori n'ait rencontré le problème, peut-être n'utilisent-ils pas MS-Access comme BD avec CF.

    @ Vermine
    Merci également pour la mise en forme de mon message dont je me souviendrai afin que personne n'ait à passer derrière moi pour avoir des messages lisibles et structurés.

    Si vous avez d'autres suggestions n'hésitez-pas.

    Bonne journée à tous,

    Jean-Jacques

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour à tous,

    @jowo

    J'ai testé ta solution qui m'a mené à la solution.

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <cfset variables.maVarDate=#LSParseDateTime(form.maDate)#>
    qui plante sur le dates avec un jour > 12 mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <cfset variables.maVarDate=#ParseDateTime(form.maDate)#>
    fonctionne parfaitement et pour l'insert dans la base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <cfqueryparam  value=#variables.maVarDate# cfsqltype="cf_sql_date">
    et plus d'inversion de date ayant un jour < à 13.

    Merci beaucoup de ton aide.

    Jean-Jacques

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Lire les dates d'une bd access dans un form Vb.net
    Par Herlece dans le forum Accès aux données
    Réponses: 6
    Dernier message: 03/01/2006, 10h38
  2. Importation MS Excel vers MS Access
    Par mpascolo dans le forum Access
    Réponses: 4
    Dernier message: 24/10/2005, 13h05
  3. conversion date timestamp vers date mysql
    Par seb0026 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 13/10/2005, 20h48
  4. recuperation de la date de modification dans access
    Par cyberm41 dans le forum Access
    Réponses: 5
    Dernier message: 07/10/2005, 17h08
  5. insertion d'un type date dans une table access
    Par monstour dans le forum ASP
    Réponses: 7
    Dernier message: 18/06/2004, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo