Es gibt die Property RecordCount, die soll aber nicht immer zuverlässig sein (hab ich zumindest gelesen, ich nutze die eigentlich nie). Was auf jeden Fall zuverlässige Werte liefern sollte, ist ein
SELECT COUNT(ID) FROM Tabelle
Damit bekommst Du aber lediglich die Anzahl der Datensätze der Tabelle, nicht hingegen deren ID an sich. Also würde ich die Anzahl einmalig ermitteln und mir in einer Variablen merken (zumindest solange ausgeschlossen ist, dass während des Programmablaufs Datensätze eingefügt oder gelöscht werden können). Einen zufälligen DS müsste man dann so bekommen können (ungetestet):
Delphi-Quellcode:
Query.First;
for i := 1
to Random(Anzahl_DS)
do
Query.Next;