von eBayer » Mi, 15.04.2009 10:53
Ich habe mir eine Funktion geschrieben, die ich für beliebige Zwecke einsetzen kann.
Die rufe ich mit dem SQL-Statement als String auf und zurück bekomme ich das Array.
Diese Beispielfunktion entspricht der Funktion UserLaden in meinem ersten Beispiel.
Du solltest Dich allerdings schon etwas mit ooBase beschäftigen, denn NUR mit kopieren von Beispielen wird es nicht klappen.
So mußt Du in der Lage sein, Fehler selbständig zu finden und kleine Anpassungen bezogen auf die Beispielroutinen selbständig durchzuführen.
Gruß eBayer
Function DatenLaden(sSql As String)
Dim s As String
Dim oStatement As Object, oErgSet As Object, oDatenbankKontext As Object, oDatenquelle As Object, oVerbindung As Object
Dim i As Integer, iRows As Integer
Dim aListe()
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( "Kunden" )
oVerbindung = oDatenquelle.getConnection( "" , "")
oStatement = oVerbindung.createStatement()
oErgSet = oStatement.executeQuery(sSQL)
oErgSet.last()
iRows = oErgSet.getrow()
if iRows > 0 then
redim aListe(iRows - 1)
for i = 1 to iRows
oErgSet.absolute(i)
s = oErgSet.getString(1)
aListe(i-1) = s
next
else
redim aListe(0)
aListe(0) = "Keine gefunden"
end if
oErgSet.close()
oStatement.close()
DatenLaden = aListe()
End Function
Ich habe mir eine Funktion geschrieben, die ich für beliebige Zwecke einsetzen kann.
Die rufe ich mit dem SQL-Statement als String auf und zurück bekomme ich das Array.
Diese Beispielfunktion entspricht der Funktion UserLaden in meinem ersten Beispiel.
Du solltest Dich allerdings schon etwas mit ooBase beschäftigen, denn NUR mit kopieren von Beispielen wird es nicht klappen.
So mußt Du in der Lage sein, Fehler selbständig zu finden und kleine Anpassungen bezogen auf die Beispielroutinen selbständig durchzuführen.
Gruß eBayer
Function DatenLaden(sSql As String)
Dim s As String
Dim oStatement As Object, oErgSet As Object, oDatenbankKontext As Object, oDatenquelle As Object, oVerbindung As Object
Dim i As Integer, iRows As Integer
Dim aListe()
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( "Kunden" )
oVerbindung = oDatenquelle.getConnection( "" , "")
oStatement = oVerbindung.createStatement()
oErgSet = oStatement.executeQuery(sSQL)
oErgSet.last()
iRows = oErgSet.getrow()
if iRows > 0 then
redim aListe(iRows - 1)
for i = 1 to iRows
oErgSet.absolute(i)
s = oErgSet.getString(1)
aListe(i-1) = s
next
else
redim aListe(0)
aListe(0) = "Keine gefunden"
end if
oErgSet.close()
oStatement.close()
DatenLaden = aListe()
End Function