Logbook

Gotmilk Messages postés 2 Date d'inscription lundi 21 août 2017 Statut Membre Dernière intervention 22 août 2017 - 21 août 2017 à 05:25
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 22 août 2017 à 09:07
Bonjour à tous,

Je suis nouveau ici et nouveau aussi en VB.net. J'ai une petite question.

J'ai fait un logbook en VBA Excel pour des gens de maintenance dans une usine. Les gars rentre leur call à l'intérieur pour créer un historique, et améliorer la communication entre les quarts de travail.

Je veux le faire de façon plus profesionnel en VB.net. Mais je me pose une question. Est-ce que je suis mieux de faire référence avec une base de données ? Ou bien le "DataGridView" peut faire la job ?

Présentement les calls sont dans une feuille excel. Chaque call prend une ligne de la feuille excel sur 7 colonnes. On peut les trier pour faire une recherche par ligne ou par machine pour retrouver des troubles qui ce sont déjà passé. Sa aide les plus jeunes.

Est-ce que je suis mieux de passer par une base de données ? Si oui laquelle ?

Est-ce que je vais être capable de remplir chaque ligne comme je le fais avec excel ?

Est-ce que je vais être capable d'ajouter des pièces jointes aussi ? Faire des trie ?

Sinon, j'aimerais avoir votre opinion sur la façon dont vous feriez en tant qu'expert en VB.net.


Je vous remercie beaucoup de votre aide

3 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
21 août 2017 à 08:26
Bonjour

Venant de VBA, un peu de lecture s'impose
http://codes-sources.commentcamarche.net/faq/11151-pourquoi-mon-code-vb6-vba-ne-marche-pas-en-vb-net

Le Datagridview ne sert qu'à l'affichage de données, il faut bien les stocker quelque part.
  • Tu peux garder ton fichier excel et aller lien et écrié dedans.

Voir ici un exemple en automation ou en C# (il existe des traducteurs en ligne). Sinon avec un fichier xlsx, sans automation c'est ici
  • Tu peux aussi te servir d'un fichier xml, (voir une méthode ) ou json.

Dans les cas de "fichiers" de données, les pièces jointes devront être stockées dans un répertoire dédié et l'adresse dans le fichier.

Si tu utilises une base de données (je ne suis pas très calé dans le domaine), certaines permettent le stockage de fichier (champ Blob sous oracle par exemple).
Pour les connexions aux bases de données, il y a de nombreux exemple ici ou ailleurs.

Pour tes tris, recherches etc.. il y a 3 méthodes:
  • tu te sert du datagridview comme source de données en mémoire vive et tu tries directement les lignes, cependant:
    • ça c'est la méthode VBA, autant rester avec ton fichier excel et tes macros
    • c'est assez lourd à coder
  • tu charges tes données dans une collection d'objets représentants ta "call", et tu requêtes cette collection avec Linq, ça demande un peu de compréhension du monde objet, mais c'est valable quelque soit le stockage de tes données (c'est toujours ce que je fais, car je ne travaille qu'avec des flux de données ou des fichiers binaire, pas de bdd).
  • Avec une base de données, c'est elle que tu requêtes.


Dans tous les cas ça nécessite un peu de recul sur VB.Net, dans l'article plus haut, je mets en lien un bon cours pour débuter. Va jusqu'au bout avant de te lancer dans ton projet.
Une fois fini, tu peux aussi, lire mon tuto sur les objets (avoir un retour d'un vrai débutant serait instructif pour moi)
0
Gotmilk Messages postés 2 Date d'inscription lundi 21 août 2017 Statut Membre Dernière intervention 22 août 2017
22 août 2017 à 04:12
Merci beaucoup pour tes commentaires.

Oui j'aimerais bien le laissez en VBA sur excel mais j'aimerais que mon application fasse plus professionnel.

Mais en même temps je sais que je part de loin connaissant seulement le VBA.

Est-ce que je pourrais me servir de VB.net et envoyer les calls dans la base de donné accès ?


Merci
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
22 août 2017 à 09:07
Tu sais un code mal écrit en VB.Net fait moins pro qu'une macro bien faite.

Pour Access, oui ça marcherait avec VB.Net, cependant à ma connaissance, le champ Blob n'existe pas dans Access.
0
Rejoignez-nous