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

Access Discussion :

probleme avec Cdate


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut probleme avec Cdate
    Bonjour je souhaiterais créer une requete création de table qui me transforme du texte en date, le format est AMJ (exemple : 20030419).
    J'utilise le fonction CDate conseillée par la faq mais ca marche pas...
    voici l'expression utilisée :

    Champ5t: CDate ( [imp0603bis]![Champ5] )

    Merci d'avance a vous !

  2. #2
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    Personne n'as de pistes...
    Please help me !!!!!


  3. #3
    Membre régulier Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Points : 123
    Points
    123
    Par défaut
    Tu devrais déjà tester si ton format est convertible en date avec la fonction "isDate", car normalement la fonction Cdate convertit la date selon tes propres parametres régionaux de dates.

  4. #4
    Membre régulier Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Points : 123
    Points
    123
    Par défaut
    Fais un test du type if ( isdate(objet_a_covertir) ) then msgbox "c bon".Si la msgbox s'affiche, alors le pb ne vient pas du format.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    excuse moi je n'ai pas trés bien compris ! Le format de la date est en texte dans la date, ca c'est sur. Je le veu en date...
    Pourquoi le probleme ne viendrait pas du format sachant que c'est du texte... ?????
    Désolé je ne suis pas expert...
    Merci beaucoup de m'aider !

  6. #6
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    Et en faite ton code pour tester le format je le met ou (un module ?) Je le lance comment...
    Désolé...

  7. #7
    Membre régulier Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Points : 123
    Points
    123
    Par défaut
    En fait, lorsque tu utilise CDate sur du texte, il faut que VBA puisse reconnaitre que c'est bien une date, c'est à dire que le texte est par exemple du type jour_mois_année (ou qlq chose dans ce genre). Ainsi, je pensais que peut etre ta date n'était pas au bon format. C'est pour cela qu'il suffit de tester avec le code suivant que le format est correct :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (isDate( [imp0603bis]![Champ5] ) then
      msgbox "coucou"
    end if
    Si ACCESS reconnait bien une date, alors il va t'afficher la msgbox, sinon c'est que ta date n'est pas au bon format.
    (j'espere que j'ai bien compris ta question ...)

  8. #8
    Membre régulier Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Points : 123
    Points
    123
    Par défaut
    J'ai testé avec un formulaire tt bête, un bouton et qui déclenche apres un click le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isDate( "20030419") then
      msgbox "coucou"
    end if
    Conclusion : ce n'est pas au bon format.

  9. #9
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    COmment ça se fait faudrait utiliser la fonction format avant alors

  10. #10
    Membre régulier Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Points : 123
    Points
    123
    Par défaut
    Et pkoi tu ne met pas ton champs texte [champs5] au format date directement dans ce cas ?

  11. #11
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    J'ai tapé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim imp0603bis As Object
    Dim champ5 As Object
     
    If IsDate(imp0603bis!Champ5) Then
      MsgBox "coucou"
    End If
    J'ai alors un message d'erreur :
    erreur d'execution 91 variable objet ou variable de bloc With non definie

    Par ailleur le format est AMJ (par exemple 20030630)
    Merci de ton aide !

  12. #12
    Membre régulier Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Points : 123
    Points
    123
    Par défaut
    Crée un formulaire tout simple, met un bouton dessus, et dans l'évenement "onClick" de ce bouton, colle le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If (IsDate("20030630")) Then
        MsgBox "ça marche!!"
    Else
        MsgBox "ça marche pas"
    End If

  13. #13
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    si je change de format dans la table ca efface les enregistrements du champs ! c'est la premiere chose que j'ai essayé
    en claire, mon probleme est est-ce qu'il y a moyen, avec une requete, de passer un champs d'une table d'un format texte avec des date dedans( de la forme 20030630), au format date ?

  14. #14
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    oui la msgbox affiche ca marche pas... Mais ou ca me mene ca ? quelle est la solution pour avoir un format date a partir de mon champ texte ?
    Merci beaucoup de ton aide !

  15. #15
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    slt,

    à peu de chose près :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DateSerial(left(imp0603bis!Champ5;4);mid(imp0603bis!Champ5;5;2);right(imp0603bis!Champ5;2))

  16. #16
    Membre régulier Avatar de Rcanada
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 130
    Points : 123
    Points
    123
    Par défaut
    Voici une solution :
    Crée trois variable du type string : annee, mois et jour
    Ensuite extrait chacune des parties de la date et stocke les dans les variables correspondantes : annee = mid([champs5],1,4)
    jour = mid([champs5],7,2)
    mois = mid([champs5],5,2)

    et ensuite tu concatène tt ça dans une autre chaine dans le bon ordre, en rajoutant des "/" ou ce que tu veux.

    PS : pour les mid, je ne suis pas sur pour le 2e parametre qui indique à partir de quelle position on extrait(il faut peut etre retirer 1).

  17. #17
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup ca marche ! (J'ai utilisé la solution d'Arkham)
    Je suis impressionné
    Encore merci RCanada et Arkham !

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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