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 :

Récupérer des VARCHAR d'une base de données sybase


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 44
    Points : 23
    Points
    23
    Par défaut Récupérer des VARCHAR d'une base de données sybase
    Bonjour,

    Je dois récupérer sur VBA-Excel des données d'une base de données sybase.
    J'utilise la librairie ADODB pour cela.
    la connection fonctionne bien et j'arrive à récupérer les données numériques et des dates (par exemple) des différentes table via des requêtes SQL.

    Cependant je rencontre un gros problème avec toutes les données de la base de type VARCHAR. Celles-ci je n'arrive pas à les remonter correctement. Je ne récupère (dans mon objet recordset) que le caractère " ".
    Pourtant les données existe bien dans la base et d'ailleurs quand je fais une requête SQL select count distinct cela m'indique qu'il y en a 26000 différentes mais quand je les récupère ce sont toutes des espaces (" ") ! C'est vraiment étrange.

    Avez-vous déjà rencontré ce problème ? savez-vous d'où cela pourrais venir ?
    Merci pour votre aide
    cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut Bonjour,
    dans un Sql vba les ["] sont en début et fin de ligne pour encadrer du text c'est [']
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql="Select * from MyTable where txt='" & Range("A1") & "'  and txt2 like '%" & range("B1") & "%';"

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 44
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    Oui ma requête SQL fonctionne.
    Je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    recordset.open uneRequeteSQL, connection
    et dans l'object recordset j'ai des "fields", dans le cas d'un select * from myTable par exemple chaque fields correspond à une colonne
    par exemple mes fields pourrait être : paramDate (une date), nombre (un double), nom (un VARCHAR(30))
    dans mes fields paramDate et nom j'ai bien une value (par exemple 18/08/2014 et 12345), mais pour le varchar que je recupère sous forme de string sur vba j'ai toujours nom=" " quelque soit le varchar (qui dans ma base de données n'est pas un " ")

    suis-je suffisamment clair avec mes deux messages ?
    merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    ta base est elle en Utf8?
    place le code ci dessous et regarde le contenu de ton tableau t dans la fenêtre espion!
    ouvre la fenêtre espion comme sur l'image et fais glisser avec la sourie la variable t vers elle.
    exécute ton code en pas à pas touche [F8] et regardes le contenu de ta variable t!
    Images attachées Images attachées  

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 44
    Points : 23
    Points
    23
    Par défaut
    Oui ma macro fait des choses équivalent à ton rst.getRows
    ce que j'explique c'est que dans l'object que renvoie de rst.getrows, il y a des items qui sont égaux à " " (le string espace) alors qu'ils ne le devraient pas.
    En fait, tous les items qui sont de type VARCHAR dans ma pase sont renvoyés dans VBA comme égaux à " ".

  6. #6
    Invité
    Invité(e)
    Par défaut
    je te rassures j'ai parfaitement compris.
    ce que je cherche a comprendre c'est l'incompatibilité entre sybase et vba!
    ou même si c'est entre sybase et Excel!
    c'est pourquoi je te parle du format Utf8 sur sybasece qui pourrait expliquer le problème.

    les manips que je te propose ne sont que dans ce but!
    Dernière modification par AlainTech ; 20/08/2014 à 05h18. Motif: Suppression de la citation inutile

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 44
    Points : 23
    Points
    23
    Par défaut
    d'accord, excuse moi !

    Pour le Uft8 je ne sais pas trop, je vais essayer de chercher l'info (ce n'est pas moi qui ait codé la base).

    Pour le UFT8 je ne sais pas. Je n'ai pas vu ces abréviations en tout cas.
    J'ai vu UnicodeLittle je ne sais pas si ça peut être ça

    des idées ?
    merci

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 44
    Points : 23
    Points
    23
    Par défaut
    je suis malheureusement toujours bloqué. Auriez-vous des solutions à me proposer ?
    merci pour votre aide.

Discussions similaires

  1. [Débuter] Récupérer des informations d'une base de données SQL
    Par takago dans le forum Qt Creator
    Réponses: 1
    Dernier message: 02/12/2013, 17h24
  2. [2012] Récupérer la structure d'une base de donnée à partir des MetaData
    Par Zoups dans le forum Développement
    Réponses: 1
    Dernier message: 28/03/2013, 14h18
  3. Réponses: 1
    Dernier message: 25/11/2008, 11h11
  4. [MySQL] je cherche une aide pour récupérer des champs d'une base de donnée
    Par maya24 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/09/2007, 12h14
  5. Liste des tables d'une bases de données spécifique
    Par faridos23 dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/08/2003, 22h20

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