Signaler

Glisser déposer un fichier dans un datagridview

Posez votre question voulfka1688 53Messages postés jeudi 15 novembre 2012Date d'inscription 27 mars 2017 Dernière intervention - Dernière réponse le 6 déc. 2016 à 08:53 par cs_Le Pivert
Bonjour, je développe en vb.net et suis plutôt novice.
Je possède une application qui communique avec une base de données access, ce que souhaiterais faire c'est glisser un fichier dans un datagridview sur une form afin de pouvoir l'enregistrer dans access. Ce fichier peut être un txt comme xls ou msg de Outlook. Mais je n'ai aucune idée de comment m'y prendre.

Dans l'attente de vos lumières.

Cet.
Afficher la suite 
Utile
+1
plus moins
Bonjour

Tu dois commencer par être capable de lire chaque type de fichier.

Pour excel, tu peux regarder
http://codes-sources.commentcamarche.net/source/50624-piloter-excel-via-microsoft-office-interop-excel
http://codes-sources.commentcamarche.net/source/101689-import-excel-vers-base-access-en-vb-net
http://codes-sources.commentcamarche.net/source/101574-import-excel-dans-datagridview-en-vb-net

Pour un fichier txt, csv, tu peux regarder le classe File et sa méthode ReadAllLines, ensuite string.Split ou string.SUbstrign voir les Regex selon le formatage du fichier

Pour des xml
http://codes-sources.commentcamarche.net/faq/11196-linq-to-xml-c-et-vb-net

Ensuite, le fait de glisser s'appelle Drag and Drop, il faut donc te renseigner à ce sujet, il faudra que tu détermines le type de fichier à traiter à ce moment là.

Enfin pour l'affichage, un des liens du Pivert le traitre d'une façon, on peut aussi utiliser le binding, c'est une option qui peut paraitre compliquée de prime abord, mais au final ça simplifie beaucoup le code et .Net est pensé ainsi
http://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource
Cette réponse vous a-t-elle aidé ?  
Donnez votre avis
Utile
+1
plus moins
Bonjour,

Avant de s'occuper du cliquer glisser, il faut savoir où mettre ces données dans ta Datagridview.

dans l'exemple que t'a donné Whismeril que je salue:

http://codes-sources.commentcamarche.net/source/101574-import-excel-dans-datagridview-en-vb-net

J'ai enregistré des fichiers texte de contacts que l'on peut appeler pour les importer dans la DatagridView. Je pense que c'est vers cette option qu'il faut te tourner.

Déjà procède comme cela, il sera tant de voir le cliquer glisser ensuite
Cette réponse vous a-t-elle aidé ?  
Whismeril 9385Messages postés mardi 11 mars 2003Date d'inscription ContributeurStatut 25 mai 2017 Dernière intervention - 2 déc. 2016 à 14:08
Bonjour
Répondre
Donnez votre avis
Utile
+0
plus moins
Bonjour à vous merci du temps que vous m'accordez.

En fait, j'ai vu qu'il était possible de déposer un fichier dans une base access ouverte avec access, je me demandais donc comment retranscrire cette possibilité. J'ai opté pour le datagridview car il est la représentation (visuelle en tout cas) de mes données dans ma table. Et je me suis dit qu'une textbox n'accepterait que du texte et pas un fichier.

Plus exactement je cherche un moyen simple et rapide de sauvegarder un fichier dans ma table.

Cdt.
Donnez votre avis
Utile
+0
plus moins
Bonjour
Et bien voir la réponse du Pivert et ma première réponse.

En aucun cas un datagridview ne prend un fichier en "entrée", il prend des données, qu'il faut avoir lues dans le fichier au paravant.
Donnez votre avis
Utile
+0
plus moins
Pour faire ce que tu veux, il faut que ton fichier soit conçu d'une certaine façon.
Voir ici:

https://support.office.com/fr-fr/article/Importer-ou-attacher-des-donn%C3%A9es-d-un-fichier-texte-d6973101-9547-4315-a8f8-02911b549306

et aussi cela:

http://access.developpez.com/faq/?page=ActionsRep#ImportFichier


Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !