unten aufgeführtes Statement zählt mir die Anzahl Treffer in einer Oracle DB angeschlossen via ODBC. Leider ist as Resultat falsch. Führe ich das SQL Statement, das ich in Zelle 1,1 schreibe und mit Copy & Paste in SQLTALK überführe, aus, erhalte ich als Ergebnis eine 1; in Excel eine Null.
Ich vermute (heißt nicht wissen (!)), daß die Zellenformatierung hier eine Rolle spielt (Die Variablen stammen aus einem Excelsheet).
Die Oracleanbindung funktioniert seit 2 Jahren fehlerfrei; d.h. diese scheidet als Fehlerursache aus.
Weiß jemand Hilfe?
Viele Grüße,
Heinz
****************************************************************
Dim excel_app As Object
Dim excel_sheet As Object
Dim row As Long
Dim conn As New ADODB.Connection
Dim rs, rs1 As New ADODB.Recordset
Dim statement As String
Dim i As Integer
sDNS = "O_Test01" ' ODBC-Datenquelle
sUSER = "kw" ' User
sPASSWORD = "p" ' Passwort
sConnect = "DSN=" & sDNS & ";UID=" & sUSER & ";PWD=" & sPASSWORD
' Öffnen Datenbank
Set conn = New ADODB.Connection
conn.ConnectionString = sConnect
conn.Open
'Fibupreis ermitteln
Sql = "select count(*) "
Sql = Sql + "from aagfaktpos af, aeinsatz e "
Sql = Sql + "where af.einsatzlfdnr = e.lfdnr and "
Sql = Sql + "e.bericht ='" + bericht + "' and "
Sql = Sql + "af.artnr1 ='" + artnr + "'"
Cells(1, 1) = Sql
Set rs = conn.Execute(Sql, , adCmdText)
a1 = rs![count(*)]