0
vb.net経由でAccessデータベースにExcelファイルをインポートしようとしています。お客様がExcelにデータをエクスポートして変更、追加、削除することができます。それは戻ってくる。vb.netを使用してMS AccessにExcelファイルをアップロードする
エクスポートされるデータは、インポートするテーブルとまったく同じ形式です。 私は以下のコードを使用しています:
Try
Dim strFileName As String = String.Empty
Dim XLda As New OleDbDataAdapter
Dim ExcelTables As New DataTable
Dim StrSelect = "SELECT * FROM [{0}]"
OpenFileDialog1.FileName = ""
OpenFileDialog1.InitialDirectory = mdlGlobalStuff.sMasterDataPath
OpenFileDialog1.Filter = "Excel|*.xls|All files (*.*)|*.*"
If OpenFileDialog1.ShowDialog() <> Windows.Forms.DialogResult.OK Then
Exit Sub
End If
strFileName = OpenFileDialog1.FileName
Dim MyXLConnection As New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strFileName & ";Extended Properties=Excel 8.0;")
Using MyXLConnection
Using cmd As New OleDbCommand
cmd.Connection = MyXLConnection
cmd.CommandText = "INSERT INTO [MS Access;Database=InvoicingToolDB.accdb].[tbl_Bases] SELECT * FROM [Sheet1$]"
If MyXLConnection.State = ConnectionState.Open Then
MyXLConnection.Close()
End If
MyXLConnection.Open()
cmd.ExecuteNonQuery()
End Using
End Using
Catch ex As Exception
MsgBox("ImportLinkLabel_LinkClicked: Importing Base data" & vbCrLf & ErrorToString())
End Try
を私はいつもというエラーメッセージがあります。
Unrecognized database format 'c:\--path to db--\InvoicingToolDB.accdb'
パスが正しく、フォーマットが認識されない理由を私は理解していないが。
あなたのためのオプションであればdunnoですが、アクセスDBのVBA内でインポートのための関数を持つことで同様のことが起こりました。VB.NETからその関数を呼び出してください。 –
2つの異なる[データベースソース]を1つのsql行に追加する必要があります。まずデータを読み込んでから、ターゲットデータベースへの接続を開いてそこに挿入する必要があります。 –