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.
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.
Peut tu etre un peu plus precis et nous montrer le code qui ne fonctionnerai pas d'après toi ?
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
Voici mon code qui ne fonctionne pas:
La compilation plante à la dernière ligne mais je ne c'est pas quoi mettre d'autre.
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;
Je pense que la propriété Fields n'est pas accécible en écriture, seulement en lecture, d'ou ton problème.
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
Tu connaitrais pas une méthode permettant l'insertion de données dans la dbgrid à partir d'excel?
Merci d'avance.
Fields est accesible en lecture uniquement.Envoyé par Aide de Builder
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?Je ne pense pas que tu puisses utiliser un TDBGrid pour afficher des données provenant d'autres choses que d'une BDD.
Tu peut faire des requêtes SQL
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
Merci pour l'aide.
Je fais essayer même si j'en est jamais utilisées et que j'y connais rien.
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.
@ +
Current StatusAux persévérants aucune route n'est interdite.
Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
Faîtes quelque chose de bien avec vos petits sous: Enfants du MekongAvec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
je veut bien que tu m'envoie qq infos et bouts de code.
Merci
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,
@ +
Current StatusAux persévérants aucune route n'est interdite.
Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
Faîtes quelque chose de bien avec vos petits sous: Enfants du MekongAvec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
C'est bon ça marche enfin.
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager