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 ?
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.
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.
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.
@ +![]()
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,
@ +![]()
C'est bon �a marche enfin.
Merci
Partager