yannrmt
Messages postés3Date d'inscriptionmardi 19 octobre 2010StatutMembreDernière intervention16 mai 2011
-
27 oct. 2010 à 16:19
yannrmt
Messages postés3Date d'inscriptionmardi 19 octobre 2010StatutMembreDernière intervention16 mai 2011
-
28 oct. 2010 à 09:24
Bonjour,
Je dois créer pour le boulot un soft, sous VB.net, qui communique avec une DB access. Je n'y connaissais absoluement rien il y a 15 jours, et sachez avant tout que j'ai passé plusieurs heures sur le net pour trouver ma réponse.
Le problème :
Sur mon Form, j'ai un DataGridView et plusieur Button. Il y a 2 boutons en particulier qui ajoute ou supprime (en inscrivant le Nom de la colonne dans une TextBox) une colonne (champ) de la DB via la DataTable, DataSet, DataAdapter etc etc etc...
pour ajouter une colonne j'ai le code suivant
Private Sub AjColButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AjColButton.Click
Bd.Ouverture("C:\Documents and [...]Base de Test\bd1.mdb")
If TextBoxCham.Text = "" Then
MsgBox("Indiquer le nom du champ à ajouter")
Else
Dts.Clear()
Dts = Bd.Requet_Gene("ALTER TABLE Test ADD " + TextBoxCham.Text + " varchar(30)", "Test")
Dts = Bd.Requet_Gene("SELECT * FROM Test ORDER by ID", "Test")
Bd.Close()
DataGridView1.DataSource = Dts.Tables("Test")
End If
TextBoxCham.Text = ""
End Sub
Bd.ouverture appel une procédure pour la connection
Dts est le DataSet ou est stocké le résultat de la requète SQL sur la Table Test de la DB bd1.mdb
En cliquant, la colonne s'ajoute. Le DataGridView est actualisé par
DataGridView1.DataSource = Dts.Tables("Test")
Pour supprimer une colonne, j'ai exactement le même code avec la requète SQL suivante
Private Sub SupCol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SupCol.Click
Bd.Ouverture("C:\Documents and [...]Base de Test\bd1.mdb")
If TextBoxCham.Text = "" Then
MsgBox("Indiquer le nom du champ de la colonne à effacer")
Else
Dts.Clear()
Dts = Bd.Requet_Gene("ALTER TABLE Test DROP COLUMN " + TextBoxCham.Text + "", "Test")
Dts = Bd.Requet_Gene("SELECT * FROM Test ORDER by ID", "Test")
Bd.Close()
'DataGridView1.Columns.Clear()
DataGridView1.DataSource = Dts.Tables("Test")
End If
TextBoxCham.Text = ""
End Sub
Mais quand je clique sur ce dit Button (SupCol), le DataGridView ne se met pas à jour. la colonne (qui est bien supprimé par la requète après rechargement) est toujour visible. J'ai ajouté un DataGridView.Column.clear(), mais tous s'efface.
Merci d'avance à ceux qui prendrons le temps de comprendre. Je reste à votre dispo.