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 :

Conversion d'une valeur date lors d'un insert [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut Conversion d'une valeur date lors d'un insert
    Bonjour,

    J'ai dans une table un champ de type texte avec une valeur "date" en format yyyymmdd. Je souhaiterais insérer cette valeur par le biais d'un insert dans une autre table au format date jjmmyyyy.

    Avez-vous une idée ?

    J'ai essayé la fonction convert mais j'ai pas l'impression qu'elle soit prise en compte dans Access...



    Merci

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Mut,

    Via l'assistant :
    TonChampDate : ExtracChaîne([TonChampTexte];7;2) & "/" & ExtracChaîne([TonChampTexte];5;2) & "/" & ExtracChaîne([TonChampTexte];1;4)
    devrait le faire.

  3. #3
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Oui ca je l'ai fait en vba... mais le probleme c'est que ça doit rentrer dans une requete SQL....c'est la que ça se complique...

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Citation Envoyé par Mut
    mais le probleme c'est que ça doit rentrer dans une requete SQL
    ==> : pas compris...

    Via l'assistant, tu copies/colles l'expression SQL correspondante où tu le souhaites.

  5. #5
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Voila ce que je souhaiterais faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQLInsert = "INSERT INTO Tournees ( Date_Tour, Tour_Num,NbEx, Code_Jour ) SELECT (Mid(T_Import.Date, 4, 2) & "/" & Right(T_Import.Date, 2) & "/" & Left(T_Import.Date, 4)), T_Import.[n° d'abonne],T_Import.[nb exemplaire],'" & Me.ListeClients.Value & "' as Expr1 FROM T_Import"
    un truc de ce genre mais ca ne fonctionne pas....

    Je ne vois pas ta solution par l'assistant...Tu parles de l'assistant de création de requete ?

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    OK, il me semble comprendre ton souci, maintenant : il s'agit de la gestion des ' et des " et de leurs combinaisons... désolé, je ne maîtrise pas.

    Beaucoup de discussions traite de ce sujet... je ne doute pas qu'un spécialiste VBA puisse t'aider.

  7. #7
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Le probleme c'est que je pense pas que les fonctions right et left existent en sql...donc en gros j'aimerais en trouver une qui convertit une chaine 20120613 en format date 13/06/2012...

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Bonjour,

    Alors tu peux utiliser les fonctions right, mid et left et te créer une fonction perso. Je les ai utilisée pour un problème similaire comme ceci (convertir 20121124 en 24/12/2012):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Function ConvertDate (data as string) as string
     
    ConvertDate=right(data,2)+"/"+mid(data,5,2)+"/"+left(data,4)
     
    end function
    Cordialement.

  9. #9
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Mut et Mr.Mof,

    Sur le forum Access, tu trouveras les syntaxes Access. Du côté forum SQL, tu auras, sans doute, les syntaxes SQL.

    Sinon, en tapant sur "equivalent mid sql", il est proposé "SUBSTRING function"... à voir.

  10. #10
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Oui ca c'est bon ça fonctionne. Mon problème c'est qu'il faut que je fasse ça mais à l'intérieur de la requete...directement dans l'insert

    Merci

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Points : 324
    Points
    324
    Par défaut
    Dans ACCESS, tu peux utiliser des fonction perso dans tes requêtes. Je ne me rappelle pas la syntaxe en SQL mais pour le savoir tu peux utiliser une requête test avec l'éditeur de requête, récupérer le code SQL généré et l'adapter à ton besoin.

  12. #12
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Alors...petite précision :

    Je suis dans cette rubrique car je suis sous Access et certaines fonctions SQL ne sont pas gérées par Access

    Je viens à l'instant de trouver la solution...en fait les fonctions left et right n'avaient pas l'air de fonctionner...je ne pensais pas pouvoir tout faire avec la fonction "mid" mais oui ! Car couplée avec une concaténation ça fonctionne très bien ! J'arrive donc à convertir ma chaine en champ date format jjmmyyyy directement dans la requête !


    Merci de votre aide

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

Discussions similaires

  1. Erreur de syntaxe lors de la conversion d'une valeur datetime
    Par info3licen dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 28/05/2011, 02h31
  2. Réponses: 2
    Dernier message: 01/02/2010, 10h13
  3. Conversion d'une valeur numérique
    Par aldama dans le forum Débuter
    Réponses: 3
    Dernier message: 19/02/2008, 21h37
  4. Réponses: 17
    Dernier message: 22/04/2006, 13h24

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