Hallo zusammen,
Ich versuche seit zwei Tagen über VB Visual Studio ein Excel-File in eine Access-Database einzulesen.
Wenn ich es über SELECT versuche, Funktioniert das, es wird eine neue Tabelle angelegt und die Daten werden eingetragen.
Soweit, so gut.
Das ist aber nicht ganz das Ziel: Ich will die Daten in eine vorhandene (leere) Talelle eintragen.
Wenn ich es mit INSERT... versuche, bekomme ich Fehlermeldungen.
System.InvalidOperationException
HResult=0x80131509
Nachricht = ExecuteNonQuery: Connection-Eigenschaft wurde nicht initialisiert.
Quelle = System.Data
Stapelüberwachung:
at System.Data.OleDb.OleDbCommand.ValidateConnection(String method)
at System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction(String method)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
at Test_SQL_1.Form1.Button3_Click(Object sender, EventArgs e) in C:\Altium\Altium_DB-Tool\Software\Test_2_Database_1\Test_SQL_1\Test_SQL_1\Test_SQL_1\Form1.vb:line 107
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
at Test_SQL_1.My.MyApplication.Main(String[] Args) in :line 81
...
Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
System.Data.OleDb.OleDbCommand.ValidateConnection(string)
System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction(string)
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(System.Data.CommandBehavior, string)
System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
Test_SQL_1.Form1.Button3_Click(Object, System.EventArgs) in Form1.vb
System.Windows.Forms.Control.OnClick(System.EventArgs)
System.Windows.Forms.Button.OnClick(System.EventArgs)
System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
System.Windows.Forms.Control.WmMouseUp(ref System.Windows.Forms.Message, System.Windows.Forms.MouseButtons, int)
System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message)
...
[Aufrufliste abgeschnitten]
Datenbankprogrammierung ist nicht meine Kernkompetenz. Ich wäre für Hilfe ech dankbar
Danke im Vorraus
Kalle
*Topic verschoben*
Ich versuche seit zwei Tagen über VB Visual Studio ein Excel-File in eine Access-Database einzulesen.
Wenn ich es über SELECT versuche, Funktioniert das, es wird eine neue Tabelle angelegt und die Daten werden eingetragen.
Quellcode
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Dim AccessConn As New System.Data.OleDb.OleDbConnection(Artikel_DB)
- AccessConn.Open()
- Dim AccessCommand As New System.Data.OleDb.OleDbCommand("SELECT * INTO [Tabelle2] FROM [Excel 12.0;DATABASE=C:\Altium\Altium_DB-Tool\Test_Access_Excel\Test_excel.xlsx;HDR=NO;IMEX=1].[Result$]", AccessConn)
- AccessCommand.ExecuteNonQuery()
- AccessConn.Close()
- End Sub
Soweit, so gut.
Das ist aber nicht ganz das Ziel: Ich will die Daten in eine vorhandene (leere) Talelle eintragen.
Wenn ich es mit INSERT... versuche, bekomme ich Fehlermeldungen.
Quellcode
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- Dim AccessConn As New System.Data.OleDb.OleDbConnection(Artikel_DB)
- AccessConn.Open()
- Dim AccessCommand As New System.Data.OleDb.OleDbCommand("Insert INTO [Tabelle1] FROM [Excel 12.0;DATABASE=C:\Altium\Altium_DB-Tool\Test_Access_Excel\Test_excel.xlsx;HDR=NO;IMEX=1].[Result$]")
- AccessCommand.ExecuteNonQuery()
- AccessConn.Close()
- End Sub
System.InvalidOperationException
HResult=0x80131509
Nachricht = ExecuteNonQuery: Connection-Eigenschaft wurde nicht initialisiert.
Quelle = System.Data
Stapelüberwachung:
at System.Data.OleDb.OleDbCommand.ValidateConnection(String method)
at System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction(String method)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
at Test_SQL_1.Form1.Button3_Click(Object sender, EventArgs e) in C:\Altium\Altium_DB-Tool\Software\Test_2_Database_1\Test_SQL_1\Test_SQL_1\Test_SQL_1\Form1.vb:line 107
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
at Test_SQL_1.My.MyApplication.Main(String[] Args) in :line 81
...
Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
System.Data.OleDb.OleDbCommand.ValidateConnection(string)
System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction(string)
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(System.Data.CommandBehavior, string)
System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
Test_SQL_1.Form1.Button3_Click(Object, System.EventArgs) in Form1.vb
System.Windows.Forms.Control.OnClick(System.EventArgs)
System.Windows.Forms.Button.OnClick(System.EventArgs)
System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
System.Windows.Forms.Control.WmMouseUp(ref System.Windows.Forms.Message, System.Windows.Forms.MouseButtons, int)
System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message)
...
[Aufrufliste abgeschnitten]
Datenbankprogrammierung ist nicht meine Kernkompetenz. Ich wäre für Hilfe ech dankbar
Danke im Vorraus
Kalle
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()