Deux tables du même document access dans un datagridview sous VB

cs_crashoverider Messages postés 3 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 9 septembre 2008 - 8 sept. 2008 à 20:14
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 9 sept. 2008 à 20:41
bonjour à tous

je suis vraiment débutant sur VB, j'utilise visual studio 2005
j'ai un problème avec la liaison d'une base de données access avec un datagrid view que j'ai créé dans ma ptite application.

je m'explique:

j'ai créé un user form sur lequel j'ai placé un datagrid view, ensuite j'utilise l'assistant pour importer et afficher dans mon datagridview une base de données Access qui contien 2 tables (table1 et table2).

j'y ai également créé une checkedlistbox.
j'aimerai pouvoir, lorsque la valeur (string) du checkedlistbox change, changer la source du datagridview de sorte que si checkedlistbox = "charge1" (par exemple), le datagridview affiche la table 1 de la base de donnée access.
le cas échéant si la checkedlistbox = "charge2" le datagridview se réinitialise et charge la table2 de la base de donnée.
seulement en utilisant l'assistant, le datagridview emploi "FILL" et il charge une seule table de sorte que si la table1 de la base de donnée est chargée, malgré le fait que la valeur de la checkedboxlist change et que c'est la table2 qui devrait s'afficher, le contenu au rendu de mon datagridview lui ne change pas, il continue d'afficher la table1 ou juste son entête de collone et jamais la table2.
has somebody a solution to this PB? help please!
merci d'avance

4 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
8 sept. 2008 à 21:32
Bonjour,
Tu dois changer la source de données du DatagridView
suite au changement du checkedboxlist.

Pour le code, je ne connais pas trop VB NET, mais il suffit d' identifier la ligne créee par l' assistant pour table1 et la reproduire pour table2.

Autre sokution, fais deux DataGridView, l' un pointant vers table1 l' autre vers table2 et jouer avec la propriété Visible de l' un et de l' autre.

<hr />

[] Ce qui va sans dire. va mieux en le disant.

<hr />
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
9 sept. 2008 à 07:54
Salut,

Techniquement parlant, la solution 1 de LIBRE_MAX est plus conseillée car jouer avec les visible et non visible ca fait penser au débutant qui n'arrive a rien avec son appli et du coup il fait en sorte que ca fonctionne mais ca devient vite une usine à gaz...
Bon courage

S.L.B.
<hr />
0
cs_crashoverider Messages postés 3 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 9 septembre 2008
9 sept. 2008 à 20:03
salut à tous!
libre_max, j'ai essayé le coup de la "copie\collage" de ligne, sa ne fonctionne pas, j'ai toujour une half table dans mon datagrid.
le stress avec ta 2ème solution c'est que j'utilise plusieurs tables d'une base de donnée access unique parceque j'ai plus de 30 catégories d'infos à afficher (chaque catégorie correspondant à une table). Tu imagine donc le nombre de datagridview qu'il faudra superposer en mode visible\invisible à la fois. et puis je me demande si à utiliser cette solution je ne vais pas me retrouver avec des lenteurs du fait que l'applic devra chager plusieurs tables directement à l'ouverture.
merci déjà pour votre précieuse aide à toi et lillith...si vous avez d'autres infos, je suis dispo.[PB non résolu!]-[help!]
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
9 sept. 2008 à 20:41
Salut,
essayé  le coup de la "copie\collage" de ligne mais cette fois ici même.Peut être que certains plus avisés verront ce qui  t' a échappé.
N' oublies pas de préciser ce que tu as et ce que tu veux avoir.
Pour le coup du visible/invisible t' as bien compris que c' est ingérable avec plus de deux grilles.
Et encore même avec seulement deux c'est pas conseillé.

A+

<hr />

[] Ce qui va sans dire. va mieux en le disant.

<hr />
0
Rejoignez-nous