Hallo,
ich versuche gerade Unicode-Daten von der AS/400 per VBA über eine QueryTable in Excel zu bringen. Die normalen Zeichen werden korrekt dargestellt. Die Sonderzeichen (wie z.B. kyrillisch) werden nur als Quadrate dargestellt. Der VBA-Code sieht folgendermaßen aus:
Wenn ich nicht über einen ADODB.Recordset gehe, sondern beim QueryTables.Add eine neue ODBC-Verbindung angebe, funktioniert's problemlos. Nur wird hier halt immer eine neue ODBC-Verbindung aufgebaut, was ich vermeiden wollte.Code:Set AS400 = New ADODB.Connection AS400.Open "ConnectionString" Dim qt As QueryTable Dim rs As New ADODB.Recordset ' Recordset mit Abfrage-Ergebnis füllen Set rs = AS400.Execute(sql) ' Recordset in Excel-Sheet ausgeben Set qt = Sheets(blatt).QueryTables.Add(rs, Sheets(blatt).Range(zelle)) qt.Name = "AS400_Query" qt.FieldNames = False qt.RowNumbers = False qt.FillAdjacentFormulas = True qt.PreserveFormatting = True qt.RefreshOnFileOpen = False qt.BackgroundQuery = False qt.RefreshStyle = xlInsertDeleteCells qt.SavePassword = True qt.SaveData = True qt.AdjustColumnWidth = False qt.RefreshPeriod = 0 qt.PreserveColumnInfo = True qt.Refresh
Ist der ADODB.Recordset etwa nicht unicodefähig?
Gruß,
KM
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks