Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Daten via OLEDB von einer Excel-Tabelle in eine andere kopieren

51 views
Skip to first unread message

mit OLEDB von Tab1 in Tab2@discussions.microsoft.com Daten mit OLEDB von Tab1 in Tab2

unread,
Dec 15, 2006, 3:13:01 AM12/15/06
to
Hallo Newsgroup,
wer kann mir bei folgedem Problem helfen: mit Hilfe eines VBA-Moduls sollen
aus einer Excel-Datei A Inhalte aus einer Spalte in eine Excel-Datei B mit
Hilfe der OLEDB-Verbindung übertragen werden. Unten seht ihr den bisherigen
Code. An der Stelle mit dem * bekomme ich die Fehlermeldung: "Für mindestens
einen erforderlichen Parameter wurde kein Wert angegeben." Ich arbeite mit
Office 2003 (also Excel 11) und mit VBA 6.0.

Vielen Dank schon mal,
LG Katrin Gewehr

Sub Versuch1()

Dim CON As ADODB.Connection
Dim RS As ADODB.Recordset
Dim CMD As ADODB.Command
Dim strSQL As String

Set CON = New ADODB.Connection
With CON
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "Excel 8.0;HDR=NO"
.Properties("Data Source") = "u:\katring\katring\access\northwind.xls"
.Open
End With

Set RS = New ADODB.Recordset
RS.ActiveConnection = CON
RS.CursorType = adOpenForwardOnly
RS.LockType = adLockReadOnly
RS.CursorLocation = adUseClient

strSQL = "SELECT [Bestimmungsland] FROM Bestellung group BY
Bestimmungsland"
RS.Source = strSQL
RS.Open *

MsgBox RS("bestimmungsland")

RS.Close
CON.Close
Set RS = Nothing
Set CON = Nothing

End Sub

Martin Fischer

unread,
Dec 15, 2006, 5:46:38 AM12/15/06
to
Hallo Katrin,

Ich sehe das Problem bei Deiner SQL-Anweisung. Du schreibst:

> .Properties("Extended Properties") = "Excel 8.0;HDR=NO"

HDR=NO bedeutet, dass Du keine Spaltenbeschriftungen verwenden
möchtest, bzw. Deine Tabelle keine hat. Folglich darfst Du die
Spaltenüberschriften NICHT in Deiner SQL-Anweistung verwenden.
Korrigiere Dein SQL-Anweisung in "SELECT * FROM Bestellung" oder setzte
HDR=YES. Bitte überprüfe ebenfalls, ob Dein Excel-Tabellenblatt einen
benannten Bereich Bestellung kennt. Falls Du keinen benannten Bereich
hast, aber Dein Excel Tabellenblatt so heisst, musst Du die
SQL-Anweisung ändern in: "Select * from [Bestellung1$A1:B10]", wobei
Du A1:B10 Deinen Bedürfnissen anpassen musst. Ich hoffe, dass es
danach klappt.

Herzliche Grüsse
Martin

Daten mit OLEDB von Tab1 in Tab2

unread,
Dec 15, 2006, 10:54:06 AM12/15/06
to
Danke, jetzt funktioniert es.
Katrin
0 new messages