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

Macros et VBA Excel Discussion :

[date] conversion d'une date et compatibilité access


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 298
    Par défaut [date] conversion d'une date et compatibilité access
    Salut à tous,

    Je me tue depuis 1h à trouver un moyen pour faire comprendre à ma base Access un format de date.

    Je m'explique, je reçois une date sous la forme jjmmaa et dans ma base Access j'ai un format de date classique (jj/mm/aaaa).
    J'ai bien essayé de faire des conversions... mais rien n'y fait, access ne retrouve pas de correspondance dans la table.
    Pourtant ma requête est bonne, et si j'affiche la date dans mon appli, elle est correcte aussi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     strDate = Mid(barcode1, 19, 2) & "/" & Mid(barcode1, 21, 2) & "/20" & Mid(barcode1, 23, 2)
            ...
    Set RSrosport = DBrosport.OpenRecordset("SELECT * FROM tPalProd WHERE strEAN = '" & strEAN & "' [color=red]AND dtDate = " & strDate & [/color]" AND strLot = '" & strLOT & "' AND strSSCC = '" & strSSCC & "'")
    Quelqu'un pourrait me donner une manière de convertir ma date en format reconnu par access?
    Ma variable strDATE est de type Date.

    La méthode de conversion utilisée ci-dessus semble farfelue mais c'est celle qui se rapproche le plus de ma solution.

    D'avance merci pour vos réponses.

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 38
    Par défaut
    Salut,
    Pour envoyer des dates a access et qu'il comprenne, il faut les entourées avec des #
    C'est a dire "02/12/2004" devient "#02/12/2004#"

    Sinon, tu peux faire ca:
    SqlDate(tachainededate), ca transforme la chaine en mettant les # tout seul comme un grand...

    Voilou

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 298
    Par défaut
    Salut et merci pour ta réponse rapide.
    Par contre VB ne reconnait pas la fonction sqldate...

    Il faut inclure quelque chose de spécial?

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 298
    Par défaut
    En formatant un String en "#04/11/2004#" et en comparant la chaine avec la date j'ai un data type mismatch dans ma requete SQL.
    Si je formatte ma variable en type Date avec les # j'ai un datatype mismatch au niveau du code VB.

    Tu n'aurais pas un exemple pour moi?

    Merci

  5. #5
    HPJ
    HPJ est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Par défaut
    Le mois avant le jour...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... & "#" & Format(d,"mm/dd/yyyy") & "#" & ...

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 298
    Par défaut
    Non dans ma table si je parcoure les dates sous Access, le mois est après les jours.
    dd/mm/yyyy est le format dans ma table access apparement.

    Sinon, je fait une variable string simplement? Je pensais que le type Date serait plus approprié mais bon...

    J'ai beau retourné le problème dans tout les sens, ca ne veux pas marcher

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 38
    Par défaut
    HPJ a raison...
    Si je ne me trompe pas, l'affichage dans Access se fait par rapport a ta configuration de localisation de ton windows, mais ca ne veut pas dire que c'est comme ca qu'Access stocke ses dates pour de vrai...
    En tout cas, moi je fais comme il t'a dit...

    PSour SqlDate, je sais plus, j'ai utilisé ca dans un programme que je devais reprendre la semaine dernière, mais c'etait peut etre une fonction faite par le dev d'avant...

  8. #8
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 298
    Par défaut
    Effectivement il semblerait que ca fonctionne en inversant les jours et les mois.

    Encore merci pour votre aide.

  9. #9
    HPJ
    HPJ est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Par défaut
    Citation Envoyé par WriteLN
    Non dans ma table si je parcoure les dates sous Access, le mois est après les jours.
    Oui en visualisation, Access affiche les dates en fonction du format défini dans les paramètres régionaux... mais en SQL c'est le format américain qui est utilisé.

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

Discussions similaires

  1. [MySQL] Formater une date américaine a une date français ?
    Par melodyyy dans le forum PHP & Base de données
    Réponses: 30
    Dernier message: 18/07/2008, 16h14
  2. [SQL] Ajouter une durée à une date et obtenir une date valide
    Par bigltnt dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/06/2007, 14h55
  3. [Débutant] Calcul d'une date à partir d'une date de départ et d'une durée
    Par Marmotton76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/04/2007, 10h39
  4. Réponses: 2
    Dernier message: 21/03/2007, 16h06
  5. Réponses: 14
    Dernier message: 09/01/2007, 16h19

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