Hallo,
danke für die Antwort... ich habe das alles nicht selbst geschrieben, baue mir ein Makro aus verschiedenen Teilen zusammen. die Funktion GetInfo () habe ich unten reinkopiert.
Hilft das weiter für ein besseres Verständnis?
Das Ergebnis aus GetInfo () wird dann auch in dem hauptsächlichen Makro umgebaut. Das funktioniert bei mir aber nicht ... Das Makro war urspünglich für einen Bildschirm gebaut. Ich bekomme auch nur eine Zeile zurück, bei dem bisherigen Makro konnten es x Zeilen sein ...
Ich hoffe auf weitere Hilfe, denn das ist wirklich eine harte Nuss! Danke!
------------------------------------------------------------------
------------------------------------------------------------------
'Aufruf übergibt Zielvariable byRef
retVal = GetInfo(m_varResult, sql)
If retVal Then
Debug.Print "Anzahl Datensätze (Cols) = " & UBound(m_varResult, 2)
For i = 0 To UBound(m_varResult, 2)
With Me.lstResult
.AddItem
.List(i, 0) = m_varResult(0, i) 'Bookmark ID
.List(i, 1) = Right$(m_varResult(1, i), Len(m_varResult(1, i)) - 4) 'Bookmark Name ohne "BMK_"
If IsNull(m_varResult(2, i)) Then
m_varResult(2, i) = csNoDesc
Else
m_varResult(2, i) = Replace(m_varResult(2, i), vbLf, " ")
End If
If Len(m_varResult(2, i)) > 1000 Then
m_varResult(2, i) = Left(m_varResult(2, i), 1000)
End If
.List(i, 2) = m_varResult(2, i) 'Bookmark Description
End With
Next i
--------------------------------------------
--------------------------------------------
--------------------------------------------
Function GetInfo(ByRef varResult As Variant, ByVal strSql As String) As Boolean
'Datenbankabruf in
Dim retVal As Boolean
Dim adoRec As ADODB.Recordset
On Error GoTo ERRORHANDLER
retVal = False
Debug.Print strSql
Set adoRec = New ADODB.Recordset
adoRec.Open strSql, adoConn
'BOF und EOF identisch: Datensatzzeiger steht am Anfang und Ende zugleich = keine Daten.
If Not (adoRec.EOF And adoRec.BOF) Then
retVal = True
varResult = adoRec.GetRows
Else
MsgBox "Keine Daten gefunden für diese Suche", vbExclamation, csAppName
End If
PROC_EXIT:
GetInfo = retVal
Exit Function
ERRORHANDLER:
MsgBox "Fehler bei Datenabfrage - " & Err.Number & " " & Err.Description, vbCritical, csAppName
GoTo PROC_EXIT
End Function
|