none
Nouveau projet : Affichage de données à partir d'un export en CSV RRS feed

  • Question

  • Bonjour à tous, nouveau sur le forum de MSDN, je tiens tout d'abord à me présenter :

     

    Je suis actuellement en stage pour valider une formation de Technicien Superieur Gestionnaire de Ressources Informatiques.

    Débutant en Visual Basic, à quelque petits soft près durant ma jeunesse, je fais appel à la communauté !

     

    J'utilise la platemeforme " Visual Basic Express 2008 " car nous n'avons pas les moyen de prendre une plateforme plus complète.

    J'ouvre un nouveau topic pour qu'au fil des jours un petit groupe de personnes, puissent m'aider et voir ensemble ce projet arrivé à terme.

     

     

    Il me reste encore 6 semaine pour mener à bien le projet élaboré :

     

    Génération d'un tableau de bord à partir de données exportées au format CSV.

     

    Par tableau de bord, j'entends soit un document excel soit une page HTML, je ne sais pas encore, mais j'avoue que j'aimerais bien que cela sorte en HTML.

     

    Le processus est très simple, un progiciel s'occupe de faire des exports que l'utilisateur enregistrera dans un répertoire sur son poste de travail, ce répertoire contiendra aussi l'éxecutable qui va falloir developper.

    Au lancement de cet éxecutable, un traitement s'effectue, fait appel au fichier csv et génère le tableau de bord (grâce à des requêtes SQL). Simple non ?

     

     

    Je n'ai pas de question pour l'instant (enfin si mais elles nombreuses et trop vague), Ce que je vais faire dans un premier temps consiste à developper une interface permettant juste d'afficher des champs (d'un " export.csv") dans une ListBox, étape préalable avant de me lancer dans une interface plus compexe.

     

     

    Je vous tiendrais très régulièrement de mon avancement. Merci encore de votre aide, à bientôt

     

     

    lundi 19 janvier 2009 10:08

Réponses

  • Salut et bienvenue,

     

    pour t'aider à commencer, tu pourrais charger ton fichier .csv dans une DataTable et ensuite l'afficher dans un DataGridView.

     

    Ton interface pourrait être en ASP, si tu as un serveur web, sinon un fichier HTML n'est qu'un simple fichier texte bien formatés!

     

    Si tu as des questions, n'hésite pas à ouvrir une nouvelle conversation et de bien notez la réponse qui à répondu à ta question.

     

     

     

    lundi 19 janvier 2009 14:10
    Modérateur

Toutes les réponses

  • Salut et bienvenue,

     

    pour t'aider à commencer, tu pourrais charger ton fichier .csv dans une DataTable et ensuite l'afficher dans un DataGridView.

     

    Ton interface pourrait être en ASP, si tu as un serveur web, sinon un fichier HTML n'est qu'un simple fichier texte bien formatés!

     

    Si tu as des questions, n'hésite pas à ouvrir une nouvelle conversation et de bien notez la réponse qui à répondu à ta question.

     

     

     

    lundi 19 janvier 2009 14:10
    Modérateur
  • Bonjour à tous,

     

    Je viens vous donner quelques nouvelles concernant l'avancement dans mon projet.

     

    Tout d'abord merci " Biche " pour tes informations, elles m'ont permis de savoir vers quoi m'orienter pour commencer le projet !

     

    Après 2 journées infernales à ne rien comprendre, des problèmes liés à visual basic express 2008, ça a commencé à se débloquer mercredi.

     

    Voilà ce que j'arrive à faire maintenant (non sans mal) :

     

    1. lire un fichier CSV, et l'afficher dans un RichTextBox (ça peut aller : 3 lignes de code dans une boucle)

     

    2. lire un fichier CSV, le découper suivant le séparateur pour l'afficher dans un DataGrid - tout court, pas de DataGridView, j'y reviendrai - Ca marche pas mal, même si je commence à peine à déchiffrer le code récupéré, je ne comprend pas tout, mais bon c'est normal, je débute.

     

    3. plus 2 - 3 petites choses de manière annexe.

     

     

     

    __Problème rencontré avec visual basic express 2008____________________________________________

     

    Etant je le rappel un débutant dans l'univers Visual Basic et d'autant plus avec les environnement de maintenant, j'ai été confronté à un problème de taille : " binder " une datatable à une DataGridView .... je m'explique

     

    Beaucoup de tutorial sur internet initie à la manipulation de données dans les DataGrid, dans visual basic express 2008 (plateforme de dev que j'utilise), DataGrid n'existe pas au profil de DataGridView ... problème de taille quand on arrive à l'étape cruciale de binder la table au DataGridView ... : "DataGridView.SetBinding" (de mémoire) ne fonctionne pas ! Et comme je n'ai pas trouvé de documentation sur le gridView .. j'étais pas mal embété !

     

    Solution de contournement : ouvrir un projet dans lequel un DataGrid est présent, aller sur form.vb sélectionner la DataGrid et copier-coller là tout simplement dans l'environnement visual basic express 2008 ... et maintenant ça marche à merveille et on peut binder les datatable au datagrid !

     

    VB express 2008 reconnait parfaitement ces DataGrid, et je peut travailler dessus même si de base celà n'est pas possible

    _______________________________________________

     

     

     

    Maintenant que je " sais faire " cette opération de récupération de données d'un fichier CSV et que je " sais " les afficher au sein d'une datagrid de manière correcte, il me faut passer à l'étape suivante :

     

    créer une base de données au sein du programme que je suis entrain de développer.

     

    Car en effet mon export contient les données concaténées de 6 tables différentes, il faut donc pouvoir créer 6 datatables relationnelles. Définir les clefs primaires, les clef étrangères, créer des index.

     

    J'ai commencer à récupérer de la doc de MSDN sur les datarelation et compagnie, ça rentre petit à petit, mais bon c'est pas facile non plus.

     

    Mon soucis, je le vois arriver, ça va être de pouvoir séparer les données de mon export dans des datatables distinctes suivant le nom des champs.

     

    C42DEM;C42OPT;C42EZR;C61DEM;C61OPT;C12DEM;C12OPT etc ... j'ai la chance d'avoir le nom des champs des tables exportées qui apparaissent en clair, alors autant se baser sur celà pour séparer proprement les datatable en fonction des nom des champs.

     

    genre

     

    Do while NomChamps = C42* alors mettre les données dans datatable1

    Do while NomChamps = C61* alors mettre les données dans datatable2

     

    Je ne vois pas du tout comment procéder....

     

     

     

    Merci d'avance pour l'aide que vous pourrez me donnez

     

    lundi 26 janvier 2009 14:53
  • Salut,

     

    le DataGridView remplace le DataGrid car ce dernier est très instable et bogués. Donc je te recommande de le changer éventuellement.

     

    Pour ce qui de tes datatables, je te suggère de démarrer une nouvelle discussion.

     

     

     

    lundi 26 janvier 2009 17:02
    Modérateur
  • Salut, merci encore Biche, j'arrive maintenant à utiliser le DataGridView

    grâce à la commande suivante qui lie la datatable au DataGridView1 :

     

    DataGridView1.DataSource = ds 'ds pour DataSet

    DataGridView1.DataMember = "Nom_Table"

     

    Merci pour l'info, d'autant plus qu'apparement le datagridview gère beaucoup mieux la gestion des couleurs (je serais amené à faire ressortir des champs en couleur).

     

    en tout cas je bloque toujours, raison pour laquelle je vais ouvrir un nouveau poste concernant les datatables et l'importation des CSV.

     

    Je mettrai dans le post suivant l'url de ce nouveau topic.

     

    Merci encore.

     

     

    Edit : http://forums.microsoft.com/MSDN-FR/ShowPost.aspx?PostID=4324658&SiteID=12 " Titré : "Un export ---> 7 datatables"

     

     

    mercredi 28 janvier 2009 09:44