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 :

problème avec oledb


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2003
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 217
    Par défaut problème avec oledb
    Bonjour,
    J'ai un code qui retourne les noms des colonnes dans un fichier excel. Ce code fonctionne bien. Mais j'ai un cas où mon code ne retourne aucunes colonnes. Je ne vois pas ce qui différencie cette feuille du reste.
    J'utilise la connexion suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Mode=ReadWrite;Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
    ensuite voila le code qui récupère la liste des colonnes
    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
     public List<String> getColumnNames(String tableName)
            {
                SortedDictionary<Int64, String> columns = new SortedDictionary<Int64, String>();
                OleDbConnection myConnection = new OleDbConnection(connectionString);
                //OdbcConnection myConnection = new OdbcConnection(connectionString);
                myConnection.ConnectionString = connectionString;
                string[] restrictions = new string[4] { null, null, tableName + "$", null };
                myConnection.Open();
                DataTable d = myConnection.GetSchema();
                DataTable dt = myConnection.GetSchema("Columns", restrictions);
     
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    columns.Add(Int64.Parse(dt.Rows[i]["ORDINAL_POSITION"].ToString()), dt.Rows[i]["COLUMN_NAME"].ToString());//(Int64)
     
                }
                myConnection.Close();
     
                List<String> excelOrderColumns = new List<String>();
                SortedDictionary<Int64, String>.KeyCollection myKeys = columns.Keys;
                foreach (Int64 key in columns.Keys)
                {
                    excelOrderColumns.Add(columns[key]);
                }
     
                return excelOrderColumns;
            }
    Dans ce fichier, je dispose de 4 feuilles et seulement la feuille data preprocessing ne retourne aucune liste de colonnes.
    Feuile data preprocessing
    bug état
    progress bar ne défile pas pour le
    chargement des tableaux de données non résolu
    pas d'onglet print dans le graphique replaced non résolu
    ouverture d'un fichier sauvegarder ne fonctionne pas non résolu
    erreur au niveau de la fonction delete colonne si on
    effectue aupart avant un delete abnormal value non résolu
    arrondi dans les fonctions moyennes, std non résolu
    probleme dans cleaned graph data
    non résolu


    Feuille PCA
    bug état
    compilation du dll matlab sur un ordinateur Windows 7 résolu
    cliquer 3eme fois sur le point T2 n'affiche pas
    la fenetre contribution non résolu
    printpreview
    non résolu


    Est ce que quelqu'un à une idée sur ce problème?
    merci de votre aide

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    je ne comprend pas grand chose à ton code (cette façon de programmer ressemble à du code converti d'un autre langage).

    Si ton but est uniquement de récupérer le nom des colonnes, tu pourrais t'inspirer des ces liens :

    Lien1

    Bonne chance.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2003
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 217
    Par défaut
    Bonjour,
    Merci pour ta réponse. C'est un code en C#. Il a pour but récupérer les noms de colonnes. Dans l'architecture de l'oledbconnection on peut avoir la liste des colonnes.

Discussions similaires

  1. [OLEDB / SQLite] Problème avec les adapteurs
    Par Sylvanocry dans le forum Visual Studio
    Réponses: 3
    Dernier message: 19/06/2012, 17h28
  2. [OLEDB] Problème avec les CLOB
    Par Marsupilami_00 dans le forum Interfaces de programmation
    Réponses: 0
    Dernier message: 16/12/2008, 11h10
  3. Problème de connexion avec OLEDB
    Par Safaritn dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 10/12/2007, 15h20
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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