Hej, HejDatabas: AS400 språk VBA
Försöker hämta data från AS400 till ett sheet i Excel. Jag kan se att sql frågan hittar rätt antal poster men......
Jag får ingent resultat till sheetet.
Här är koden :
Dim i As Integer
Dim result As Range
'Define the communication
Set cn400 = CreateObject("ADODB.Connection")
cn400.Open "Provider=IBMDA400;Data Source = VF4A.VCE.VOLVO.SE;", "", ""
'Set the library list
'cn400.Execute "{{addlible lib(vq30024) position(*first)}}"
'Execute the SQL
Set rs = cn400.Execute("select vndnr, vname, vcity from mylib.myfile where vcntr = 'DK'")
'Initiate step counter
i = 0
'Clean upp all used cells
Worksheets(1).UsedRange.ClearContents
'Loop through the record set
Do Until rs.EOF
'Write selected fields to the spreadsheet
Range("result").Offset(i, 0).Value = (rs("vndnr")) 'Vendor number
Range("result").Offset(i, 1).Value = (rs("vname")) 'Vendor name
Range("result").Offset(i, 2).Value = (rs("vcity")) 'Vendor city
'Next row number
i = i + 1
'Step to next line in the record set
rs.MoveNext
Loop
Stop
'Close communication and record set
rs.Close
cn400.Close
Range("result").Select
Selection.Resize(i, 3).Select
End Sub
Sv: Databas: AS400 språk VBA
Vet inte om det fortfarande är aktuellt men jag såg att du inte fått några svar.
Följande är fel
Cellen längst upp till vänster har index 1,1 inte 0,0
Sedan
Är ingen direkt fena på Excel men det verkar som det är Range som är felaktigt hanterat. Om jag testar motsvarande kod (bortsett från Range) och istället använder
Worksheets("Sheet1").Cells(i, 1).Value = rs(0)
Så fungerar det och jag får ut data ur våran iSeries.
Mvh
/Bertil