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

C++Builder Discussion :

Insertion de données dans une DBGrid!


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut Insertion de données dans une DBGrid!
    J'ai un tableur excel dans lequel je veut prendre des valeurs pour les afficher dans une DBGrid pour ensuite les envoyer dans une base de données.
    Mais j'arrive pas afficher ces valeurs dans ma DBGrid.

  2. #2
    Expert éminent sénior

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Peut tu etre un peu plus precis et nous montrer le code qui ne fonctionnerai pas d'après toi ?

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    Voici mon code qui ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       vRange = "B2";
       vCell = vWorksheet.OlePropertyGet("Range", vRange);
       aValue = vCell.OlePropertyGet("Value");
       Form1->DBGrid1->Fields[0]->AsVariant = aValue;
    La compilation plante à la dernière ligne mais je ne c'est pas quoi mettre d'autre.

  4. #4
    Expert éminent sénior

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Je pense que la propriété Fields n'est pas accécible en écriture, seulement en lecture, d'ou ton problème.

  5. #5
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    Tu connaitrais pas une méthode permettant l'insertion de données dans la dbgrid à partir d'excel?
    Merci d'avance.

  6. #6
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Citation Envoyé par Aide de Builder
    TDBGrid affiche et manipule les enregistrements d'un ensemble de données dans une grille tabulaire.
    Fields est accesible en lecture uniquement.

    Je ne pense pas que tu puisses utiliser un TDBGrid pour afficher des données provenant d'autres choses que d'une BDD.

  7. #7
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    Je ne pense pas que tu puisses utiliser un TDBGrid pour afficher des données provenant d'autres choses que d'une BDD.
    Alors commment je peut faire pour envoyer mes données excel dans la table de ma base de données?

  8. #8
    Expert éminent sénior

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Tu peut faire des requêtes SQL

  9. #9
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    Merci pour l'aide.
    Je fais essayer même si j'en est jamais utilisées et que j'y connais rien.

  10. #10
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonjour,

    Pour faire ce que tu cherches, si tu as vraimment des valeurs stockées sur des fiches Excel, perso j'essaierais d'utiliser un TADODataset.
    En effet, je l'ai fait pour un test pour moi et effectivement j'ai bien réussi a établir une liaison vers le fichier Excel comme si il s'agissait d'une table de données.
    Cela fonctionne tout a fait, et j'affichais les données dans un DBGrid (a part le temps d'ouverture de la connection qui n'est pas très satisfaisant)
    Je suis au boulot la, mais de chez moi je pourrais si tu veut t'envoyer qq infos et bouts de code.
    @ +

  11. #11
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    je veut bien que tu m'envoie qq infos et bouts de code.

    Merci

  12. #12
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonsoir,

    Voici quelques instructions, en espérant être clair...

    Dans le fichier Excel visé, je prépare la 'structure' du fichier(c'est une méthode perso qui vaut ce qu'elle vaut) : je garde la première
    ligne de chaque colonne afin de nommer les colonnes comme si il s'agissait de champs d'une table de données.
    Ensuite je selectionne toutes les colonnes et renomme ce groupe. Ce nom me sert de nom de table en quelquesorte.

    ConnectionString dans l'inspecteur d'object:

    Option 'Utiliser la chaine de connection'
    bouton 'Construire'

    .Une boite de dialogue apparait:
    Onglet Fournisseur:
    Double click sur 'Microsoft OLE DB Provider for ODBC Drivers
    Option 'Utiliser la chaine de connection'
    bouton 'Creer'

    .une boite de dialogue apparait:
    Onglet 'Source de données fichiers'
    bouton 'Nouveau'
    .une boite de dialogue apparait
    double click sur Driver Do Microsoft Excel
    clicker sur 'Parcourir'
    Dans la fenêtre, pour le 'Type', selectionner 'Tous les fichiers'
    Puis dans 'Enregistrer dans', selectionner le repertoire puis le fichier faisant
    office de base de données
    Clicker sur 'Suivant', 'Terminer', 'Selectionner un classeur'
    Dans la petite fenêtre de gauche, selectionner le classeur Excel désiré
    Puis 'OK' (par deux fois si je me souviens bien)

    CommandText dans l'inspecteur d'object:
    Fenêtre du bas -> selectionner les champs a prendre en compte
    Fenêtre du haut -> indiquer le nom de table
    On obtiens dans la fenêtre de droite qqchose comme :
    SELECT 'NomDeChamps1', 'NomDeChamps2'
    FROM 'NomDeTable'

    Relié un TDBGrid a un TDataSource, celui la devant pointer sur le TADODataset.
    Passer la propriété Active du ADODataset a true.

    J'espère ne rien oublier. C'est juste une indication en manuel, a savoir que les 'ConnectionString' et autres peuvent - évidemment - être paramétrées par le code.

    En espérant t'aider,
    @ +

  13. #13
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    C'est bon ça marche enfin.
    Merci

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

Discussions similaires

  1. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 13h17
  2. Réponses: 3
    Dernier message: 27/03/2006, 18h25
  3. automatiser l'insertion de données dans une bd
    Par matterazzo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/10/2005, 02h06
  4. Paradox 7 Comment trier et marquer données dans une DBgrid
    Par technico dans le forum Bases de données
    Réponses: 12
    Dernier message: 04/07/2004, 12h08
  5. Données dans une DBgrid
    Par camino dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/02/2004, 04h40

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