Bonjour
J'ai un petit bout de code qui me permet de récupérer une colonne d'une feuille excel et de placer les données dans une table de dataset.
J'utilise VB2005 et une Base access
J'essaye d'enregistrer les données avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Try Dim MyCommand As System.Data.OleDb.OleDbDataAdapter MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; " & _ "data source= |DataDirectory|\Classeur2.xls; Extended Properties=Excel 8.0;") 'Récupération de la colonne Nom de la feuille 1 MyCommand = New System.Data.OleDb.OleDbDataAdapter("select [Nom] from [Feuille1$]", MyConnection) MyCommand.Fill(P_DataSet1.Tables("Table1")) DataGridExcel.DataSource = P_DataSet1.Tables("Table1") MyConnection.Close() Catch ex As Exception MsgBox(ex.Message) MyConnection.Close() End Try
Cette méthode marche lorsque je met à jour les autres tables du dataset, mais la ça ne fonctionne pas, lorsque j'ouvre une autre feuille et que je charge mes données, je n'ai que les anciennes données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Try Me.Validate() Me.PDataSet1BindingSource.EndEdit() Me.T_Table1TableAdapter1.Update(Me.P_DataSet1.Tables("Table1")) Catch ex As Exception MsgBox("Une erreur à été détectée durant la mise à jour de la base de données") End Try
En résume, pas de problème pour récupérer les données Ecxel, mais impossible de les enregistrer
Partager