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 :

SQL Insert ajoute un ' devant le nombre dans la cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut SQL Insert ajoute un ' devant le nombre dans la cellule
    Bonjour,

    Lorsque j'insert des valeurs par SQL, excel m'ajoute un ' devant le nombre.
    Ma colonne est pourtant bien en format nombre.
    La requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requete = "Insert into [Fiche_Relevés$] (Demarrage, Temps, Val1, Val2) VALUES (1, #00:00:00#, 0,0)"
    Avez-vous une idée?

    Cordialement,

  2. #2
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Pour info, je suis obligé d'ajouter une ligne "temoin" en première position sur mon tableau, dans cette ligne je saisi des valeurs fictives mais qui correspondent au format de colonne. De cette manière, lors de l'INSERT INTO, les nombre sont bien ajoutés.
    Mais j'aimerais quand même comprendre pourquoi je dois faire ça pour que ça fonctionne. J'aimerais trouver un moyen de spécifier un format lors de l'insert afin que le nombre soit reconnu en temps que tel.

    J’espère que quelqu'un pourra m'aider.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    vérifie ta connexion!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With CreateObject("ADODB.Connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;"""
        .Execute "insert into [Fiche_Relevés$] ([Val2]) values(5.6)"
        .Close
    End With

  4. #4
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Bonjour, et merci de ta visite. Merci pour ton code.
    J'ai le message : "L'opération doit utiliser une requête qui peut être mise à jour"
    Voici ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert Into [TProjets$] (Designation, DateStart, DatePrevFin, Materiel, PiloteProjet, ID) VALUES ('test', #11/08/2016#, #11/08/2016#, 2, 1, 1)
    Je viens de parcourir beaucoup de forum anglais, et visiblement, personne n'arrive à expliquer le pourquoi du comment si ce n'est que c'est IMEX=1 qui met le bazar. Tout le monde supprimer l'instruction IMEX et ça fonctionne, sauf que les nombres sont saisis en format texte avec un ' devant...

    Ca fait des années que je me traine ce problème, j'aimerais vraiment comprendre... C'est pas logique...
    Une idée?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Oui effectivement , j'ai vue après plusieurs recherche que {IMEX=1 } passe en mode text lecture seule!

    J'ai tenté avec un adodb.comand qui pur le coup permet de définir le type, mais j'ai également un ['].

    Vue qu'Excel ne type pas vraiment ses champs d'un point de vue QSL, il considère les 10,première valeur pour définir leurs type. Pour l'instant à moins dz mettre une linge bidon je planche toujours!

  6. #6
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Merci chef, voila qui me rassure... Franchement, ca fait au moins 3 ans que je me repose la question à chaque fois que je fais une nouvelle macro... Et j'en reviens toujours au même...
    J'ai donc ajouté une ligne bidon que j'exclue dans la close Where de mes requetes pour ne pas la voir apparaître.

    Si jamais tu trouves un truc je suis toujours là !

  7. #7
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Up?
    Toujours pas de news?

  8. #8
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Bonjour,
    Oui effectivement , j'ai vue après plusieurs recherche que {IMEX=1 } passe en mode text lecture seule!

    J'ai tenté avec un adodb.comand qui pur le coup permet de définir le type, mais j'ai également un ['].

    Vue qu'Excel ne type pas vraiment ses champs d'un point de vue QSL, il considère les 10,première valeur pour définir leurs type. Pour l'instant à moins dz mettre une linge bidon je planche toujours!
    Bonjour, je voulais savoir si tu avais des news concernant ce point.
    Merci !

Discussions similaires

  1. [XL-2007] Ajouter "0" devant un nombre
    Par FrancisZheng dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/12/2015, 16h54
  2. [Toutes versions] Insertion de date de première modification dans une cellule
    Par richard_sraing dans le forum Excel
    Réponses: 2
    Dernier message: 08/01/2015, 11h23
  3. Réponses: 3
    Dernier message: 20/01/2013, 14h40
  4. Ajouter 'TER222' devant un nombre dans toute une colonne
    Par TheTcha dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 08/01/2013, 12h50
  5. erreur pour une insertion d'une chaine de caractere dans une cellule
    Par amel95140 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/10/2006, 09h09

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