domsig
Messages postés125Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention11 mai 2010
-
10 mai 2010 à 16:18
domsig
Messages postés125Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention11 mai 2010
-
11 mai 2010 à 15:19
bonjour
j'ai un datagrid que je souhaite remplir avec une table, puis une autre.
J'ai donc fait :
Private Sub btn_tp24_consulter_tables_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_tp24_consulter_tables.Click
Dim stTitre As String
Dim stTableConsultee As String
stTableConsultee = lst_tp24_tables.Text 'contient la liste des tables
ConnectString = "Server=" & My.Settings.serveur & ";Database=" & My.Settings.bases & ";User ID=" & user & ";Password=" & mot_de_passe & ";Trusted_Connection=false"
Dim Connection As New System.Data.SqlClient.SqlConnection(ConnectString)
Connection.Open()
Dim command As SqlCommand = New SqlCommand("select * from " & stTableConsultee, Connection)
command.CommandType = CommandType.Text
Dim GrilleDonneesAdapter As New SqlDataAdapter(command)
Dim GrilleDonneesDataSet As New DataSet()
GrilleDonneesAdapter.Fill(GrilleDonneesDataSet, stTableConsultee)
DGV_tp24.DataSource = GrilleDonneesDataSet.Tables(stTableConsultee) 'dgv_tp24 est le nom du datagrid
jusqu'ici tout va bien, ça fonctionne.
le problème est le suivant :
si j'affiche une 1ère table qui a une colonne "gestionnaire" en 6ème position, puis une 2ème qui a aussi une colonne "gestionnaire" en 15ème position par exemple, eh bien la colonne "gestionnaire" se met en 6ème position au lieu de se mettre en 15ème position, et avec les bonnes valeurs, celles de la 2ème table.
En fait s'il y a une colonne de même nom dans plusieurs tables, le datagrid s'emmêle les pinceaux...
dp_favresa
Messages postés132Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention11 mai 2010 11 mai 2010 à 08:44
Bonjour,
Essaie de modifier ton SELECT
Au lieu de "select * ..." détermine chaque champ nécessaire et nomme les champs qui ont un même nom
Exemple: select champ1, champ2, champ3 as 'LeNomQueTuAsChoisi', champ4 ...
(dans ce cas champ3 existe aussi dans la 2ème table)
domsig
Messages postés125Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention11 mai 2010 11 mai 2010 à 15:19
bonjour, et merci de t'être intéressé(e?) à mon problème.
Ta solution doit fonctionner mais elle oblige quand on ouvre la table, à "scruter" tous les champs et à se demander si dans la table précédente il n'y avait pas déjà un champ du même nom, galèèèèèère....
j'ai continué à chercher et j'ai trouvé un truc tout c...
Juste après le
GrilleDonneesAdapter.Fill(GrilleDonneesDataSet, stTableConsultee)
il suffit de mettre grille.DataSource=""
et ensuite
grille.DataSource=le contenu du dataset.
Merci quand même de ton aide, j'espère que cette soluce pourra aider d'autres personnes....