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 :

requete ADO et double quote


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Points : 929
    Points
    929
    Par défaut requete ADO et double quote
    Bonjour,

    J'ai tenté de faire un petit test (je débute avec ADO) pour rapatrier des données d'un fichier texte via ADO. Voici le code
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub rapatrier_fichier_texte()
     
        Dim conn As ADODB.Connection
        Dim rec As ADODB.Recordset
     
        Set conn = New ADODB.Connection
        conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Doc\Temp\;Extended Properties=""text;HDR=Yes;FMT=tabDelimited"""
        Set rec = New ADODB.Recordset
        rec.Open select * from [mon_fichier.txt], conn, adOpenDynamic, adLockOptimistic
     
        with Sheet("Source")
     
    		For i = 0 To rec.Fields.Count - 1
    		   .Cells(1, i + 1) = rec.Fields(i).Name
    		Next
    		j = 2
    		Do While rec.EOF = False
    		   For i = 0 To rec.Fields.Count - 1
    	             .Cells(j, i + 1) = rec.Fields(i).Value
    		   Next
    		   j = j + 1
    		   rec.MoveNext
    		Loop
     
    	end with
     
    End Sub
    Le problème est que si une ligne comprend des double quotes, tout ce qu'il y'a derrière est zappé.

    ex: Avec un fichier contenant:
    matricule nom prénom
    01 toto jojo
    02 titi "dit le fou" Pat

    la requête renverra :
    matricule nom prénom
    01 toto jojo
    02 titi

    J'ai trouvé ceci sur le site http://cafeine.developpez.com/access...ugprint/#LVI-E mais c'est pour gérer les critères du where et je n'arrive pas à l'adapter.

    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Points : 929
    Points
    929
    Par défaut
    Personne n'a une petite idée, un petit lien?

    Pour l'instant je remplace les "" dans le fichiers source mais il doit bien y'avoir une option pour la connection ADODB non?

    Merci d'avance à tous.

Discussions similaires

  1. Inserer le double quote dans une chaine de requete
    Par schwinny dans le forum VBA Access
    Réponses: 14
    Dernier message: 04/03/2008, 15h00
  2. Requete avec quote et double quote
    Par swissmade dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/08/2007, 15h01
  3. [Mail] Double quotes
    Par Anduriel dans le forum Langage
    Réponses: 2
    Dernier message: 15/12/2005, 21h54
  4. Réponses: 4
    Dernier message: 05/07/2004, 13h17
  5. [jointure]requete possible de double jointure entre 2 tables
    Par akira_le_gaucher dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/05/2004, 15h03

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