query = "SELECT DATUM from `termin` where ( `DATUM` >= '"+von+"' AND `DATUM` <= '"+bis+_
"') AND (`termin`.`ORGID` = "+orga+" ) AND (`termin`.`STAENDIG` = 1) order by Datum ASC"
Statement = Connection.createStatement()
ResultSet1 = Statement.executeQuery(query)
'{...
'Table und Cells formatieren
'...}while ResultSet1.next
wait(100)
if not ResultSet1.islast then
oText = oText+Right(ResultSet1.getString(1),2)+"."+Mid(ResultSet1.getString(1),6,2)+"."+Mid(ResultSet1.getString(1),3,2)+chr(13)
msgBox oText
else
oText = oText+Right(ResultSet1.getString(1),2)+"."+Mid(ResultSet1.getString(1),6,2)+"."+Mid(ResultSet1.getString(1),3,2)
msgBox oText+chr(13)+"Ich bin der letzte Datensatz"
end if
Wend
CellCursor.String = oText
die Arbeit mit ResultSets birgt nach meinen bisherigen Erfahrungen so manche Wunderlichkeiten in sich...
Ich habe mir deshalb angewöhnt, möglichst drumherum zu programmieren.
In Deinem Fall würde ich einfach zuerst eine Abfrage nach dem letzten Datensatz starten, z.B.:
query = "SELECT FIRST ID from `termin` where ( `DATUM` >= '"+von+"' AND `DATUM` <= '"+bis+_
"') AND (`termin`.`ORGID` = "+orga+" ) AND (`termin`.`STAENDIG` = 1) order by Datum DESC"
ResultSet = Statement.executeQuery(query)
If not isNULL(ResultSet) and ResultSet.Next() then
iID = ResultSet.getInt(1)
End If
...
Falls ID Dein Primärschlüsselfeld ist, hättest Du so die Datensatz-ID und könntest Deine If-Abfrage damit gestalten.
danke für den Tip. Nachdem ich lange keine Antwort auf mein Problem gefunden habe, bin ich selbst auf einen anderen Workaround gekommen. Wobei ich sagen muss, dass Deiner mehr Charme hat. Für Interessierte:
while ResultSet1.next
I = I+1
Wend
Statement = Connection.createStatement()
ResultSet1 = Statement.executeQuery(query)
oText = ""
while ResultSet1.Next
J=J+1
wait(150)
if J < I then
oText = oText+Right(ResultSet1.getString(1),2)+"."+Mid(ResultSet1.getString(1),6,2)+"."+Mid(ResultSet1.getString(1),3,2)+chr(13)
wait(150)
else
oText = oText+Right(ResultSet1.getString(1),2)+"."+Mid(ResultSet1.getString(1),6,2)+"."+Mid(ResultSet1.getString(1),3,2)+chr(13)+ResultSet1.getString(2)+" Uhr"
end if
Wend
CellCursor.String = oText
Das heißt, ich zähle vorab die Datensätze und weiß dann welcher der letzte ist. Leider muss ich die Abfrage wiederholen.