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

Requêtes et SQL. Discussion :

SQL et les formats date : je n'y arrive pas !


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut SQL et les formats date : je n'y arrive pas !
    Bonjour,

    J'ai lu les posts de la FAQ traitant de ce sujet, mais je n'arrive toujours pas à ajouter des enregistrements dans une table avec un docmd.runsql "INSERT TO..." utilisant un champ date.

    Problème :
    Je récupère la valeur d'un champ date dans la table 1 (en DAO), et veux ajouter un enregistrement dans la table 2 en utilisant cette date dans un des champs.
    (table 1 : date évenèment)
    (table 2 : échéances (date évènement + 30 jours, + 60 jours, etc...)

    L'instruction sql est correcte puisque fonctionne lorsque je ne traite pas le champ date. J'ai essayé de convertir avec cdbl(monchampdate), sans succès...

    Je dois forcément commettre une erreur, mais où...
    Et pourquoi les actions SQL sont-elles aussi récalcitrantes avec les dates ?

    Merci votre aide !!!

    Olivier

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut as-tu mis des Chr(35) avant et après ta date :

    Dolphy

  3. #3
    Membre actif

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 291
    Points : 270
    Points
    270
    Par défaut
    Salut,

    Ne voyant pas ton code, je pense que ton problème se situe au niveau de la mise en forme de ton champ date.
    #" & Format(Me.DateModif, "mm dd yyyy") & "#

    Voilà un code que j'ai fait (qui doit marcher )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Private Sub enregistrer_Click()
     
        Dim Sql_AjoVer As String
     
        DoCmd.SetWarnings (False)
     
    '=> Enregistrer la saisie
        Sql_AjoVer = "INSERT INTO Tbl_Version([DateModif], [Version], [Descriptif]) " & _
                     "VALUES(#" & Format(Me.DateModif, "mm dd yyyy") & "#, " & Me.Version & ", " & Me.Descriptif & ");"
        DoCmd.RunSQL Sql_AjoVer
     
        DoCmd.SetWarnings (True)
     
     
    End Sub
    Gdal

  4. #4
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    pourquoi les actions SQL sont-elles aussi récalcitrantes avec les dates ?
    Il faut prendre l'habitude de travailler avec des formats anglophone donc standart.
    ex d'ennui: le 1er juin 2005 devient inexorablement le 06/01/05 et BANCO ...

    Si tu travailles avec le standart, tu retraites à l'affichage le format mais tes calculs seront toujours juste.

    et comme le dit Gdal tu aurais dû nous montrer ton code !!


  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    (Je n'ai pas copié/collé le code car seul mon Mac est connecté à Internet, Access étant sur le portable PC... désolé ! )


    Je pense que mon problème provient des formats utilisés dans mes tables...

    En effet, j'ai :
    - créé 2 tables bidons,
    - corrigé mon code SQL en suivant vos conseils,
    - repris les traitements sur mes variables de date
    et là, miracle, ça fonctionne !!!!

    J'utilise dans mes tables un format 'date abrégé' et des masques de saisie; est-ce que cela peut être à l'origine de ce pb SQL ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé... mais je ne suis pas fier d'avoir solliciter le forum, et j'accepte vos éventuelles insultes !

    La variable de destination de ma table2 était nommée 'date' ...

    Mea culpa, mea maxima culpa...

    Merci de votre bienveillance

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

Discussions similaires

  1. Requête SQL avec valeur format Date
    Par delavega dans le forum ASP
    Réponses: 5
    Dernier message: 14/06/2007, 17h57
  2. [SQL 2005] Changement format date
    Par mohamed dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/12/2006, 12h55
  3. [C#][2.0][SQL Server 2005] Format date dans GridView
    Par just1980 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/11/2006, 22h45
  4. Réponses: 2
    Dernier message: 22/06/2006, 20h34
  5. SQL SERVER 2000 -Format date
    Par Billouze dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/10/2005, 10h51

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