Das ganze im VB-Modul (Excel 95) bzw. VB-Editor (ab Excel 97) erfassen und per Extras/Macro.. ausführen.


Sub SQL()
Set cn400 = CreateObject("ADODB.Connection")
Set cmSQL = CreateObject("ADODB.Command")
Set rsSQL = CreateObject("ADODB.Recordset")

Sheets("Tabelle1").Select
Cells.Select
Selection.Clear

cn400.Provider = "IBMDA400"
' User und Passwort nur ab CA/400 V4R4 Express Client relevant
'cn400.Properties("user id") = "USER"
'cn400.Properties("password") = "PASSWORD"
'hier eigenen AS/400 Systemnamen einsetzen
cn400.Properties("data source") = "SYSTEM"
cn400.Open
Set cmSQL.ActiveConnection = cn400
cmSQL.CommandText = "SELECT * FROM QIWS.QCUSTCDT "
cmSQL.CommandType = adCmdText
cmSQL.Prepared = True

Set rsSQL = cmSQL.Execute
With rsSQL
'Feldnamen
For j = 0 To .Fields.Count - 1
Worksheets("Tabelle1").Cells(1, j + 1).Value = .Fields(j).Name
Next j

.MoveFirst
i = 2
Do While Not .EOF
For j = 0 To .Fields.Count - 1
'Typkonvertierungen anpassen, eventuell für jedes Feld, insbesondere bei Num
' der Einfachheit hier generell in String umgesetzt
Worksheets("Tabelle1").Cells(i, j + 1).Value = CStr(.Fields(j).Value)
Next j
i = i + 1
.MoveNext
Loop
End With

cn400.Close
End Sub


[Dieser Beitrag wurde von Sven Schneider am 05. Juli 2001 editiert.]

[Dieser Beitrag wurde von Sven Schneider am 05. Juli 2001 editiert.]

[Dieser Beitrag wurde von Sven Schneider am 05. Juli 2001 editiert.]