Anzeige
Archiv - Navigation
1036to1040
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Insert in DB mittels VBA
30.12.2008 19:01:00
Rudolf
Hallo,
ich versuche gerade Daten von einem VBA-Excel Modul in eine Access-DB zu schreiben. Leider gibt es immer noch einen Fehler auf den ich nicht draufkomme.
Meine Methode sieht so aus:

Private Sub CommandButton2_Click()
Dim DBFullName As String
Dim Cnct As String, Src As String
Dim Connection As ADODB.Connection
Dim Recordset As ADODB.Recordset
Dim Col As Integer
Cells.Clear
'   Database information
DBFullName = ThisWorkbook.Path & "\PMO.mdb"
'   Open the connection
Set Connection = New ADODB.Connection
Cnct = "Provider=Microsoft.Jet.OLEDB.4.0; "
Cnct = Cnct & "Data Source=" & DBFullName & ";"
Connection.Open ConnectionString:=Cnct
'   Create RecordSet
Set Recordset = New ADODB.Recordset
Recordset.Open Source:="Tasks", ActiveConnection:=Connection
With Recordset
.AddNew
.Fields("ParentTask").Value = "C00T35"
.Fields("TaskID").Value = "RA-34-2345"
.Fields("Task").Value = "Maintenance"
.Fields("Org").Value = "Maintenance Team"
.Fields("TeamMember").Value = "John Hutch"
.Fields("StartDate").Value = "21.02.2009"
.Fields("DueDate").Value = "01.04.2009"
'add data for the other fields here
.Update
.Close
End With
End Sub


Wenn ich die Prozedur ausführe kommt folgender Fehler:

Run-time error '2147217900 (80040e14)
Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

Im Debug Modus bleibt er bei folgender Codezeile stehen:

Recordset.Open Source:="Tasks", ActiveConnection:=Connection

Ich probiere jetzt schon solange herum und komme auf den Fehler nicht drauf bzw. wie der Code richtig lauten müsste. Hat von euch jemand eine Idee..?
grüsse, rudi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Insert in DB mittels VBA
30.12.2008 20:51:00
Rudolf
Kennt sonst vielleicht jemand ein Forum, wo mir unter Umständen geholfen werden kann...? :(
grüsse, rudi
AW: Insert in DB mittels VBA
30.12.2008 21:45:22
Tino
Hallo,
das Problem ist nicht, dass Dir hier keiner Helfen kann, sondern man müsste Deine Datenbank nachbauen und dies will sich einfach keiner antun.
Wenn Du eine Beispieldatei Deiner Datenbank hoch lädst (z. Bsp. als *.zip),
wird Dir bestimmt geholfen.
Gruß Tino
AW: Insert in DB mittels VBA
30.12.2008 21:56:00
Rudolf
Ich habe es jetzt geschafft, ich musste bei dem open noch folgende Parameter anfügen:
Recordset.Open "Tracking", Connection, adOpenKeyset, adLockOptimistic
Keine ahnung warum, aber nun funktioniert es.
Vielen Dank Tino für den Hinweis, werde ich in Zukunft machen.
grüsse, matti
AW: Insert in DB mittels VBA
31.12.2008 09:10:45
Luschi
Hallo Matti,
wenn Du es genuer wissen willst, warum diese beiden Angaben erforderlich sind, dann kannst Du das hier nachlesen:
http://www.activevb.de/tutorials/tut_ado_db/adodb.html#anchor3
Ohne diese zusätzlichen Angaben hast Du eine schreibgeschützte Kopie, die nicht verändert werden kann.
Gruß von Luschi
aus klein-Paris
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige