Zufallsauswahl in Access

qde

Mitglied
Hallo,
ich möchte einen Zufallswert einer bestimmten Zeile als SQL-Resultat erhalten. In MySQl habe ich das wie folgt realisiert:

SELECT name
FROM `MeineTabelle`
ORDER BY RAND( )
LIMIT 1

Funktioniert super. Leider klappt es bei MS-Access-Datenbanken nicht. Mein Query sollte möglichst sowohl bei MySQL als auch bei MS-Access funktionieren. Fall es das nicht gibt, wäre ein MS-Access-Query, das das gleiche bewirkt auch noch in ordnung.

Ich hoffe jemand weiss eine Lösung. Danke!

Gruß Felix

*edit*
Inzwischen habe ich herausgefunden, dass MS-Access "LIMIT" anscheinend nicht kennt. gibt es eine Alternative?
*edit2*
Die Alternative zu "LIMIT" lautet bei MS-Access TOP. Jetzt kennt Access nur RAND() nicht...
 
Zuletzt bearbeitet:
Hallo

es gibt schon eine vergleichbare Funktion in Access

select top 1 feld from tabelle order by rnd(id)

Allerdings ist diese accessspezifisch und meines Wissens nicht über den ODBC-Treiber zu interpretieren.
 
Hallo,
leider wird diese Anfrage über JDBC:ODBC gestellt. Darüber hinaus funktioniert dieses Query selbst bei meinem MS-Access 2000 nicht!
Fehlermeldung: "Datentypen in Kriterienausdruck unverträglich. "
Kann es sein, dass mein Zufallswertkein INT, sondern vom Typ TEXT ist. Allerdings wird mir der gesamte Tabelleninhalt übermittelt, wenn ich einen INT-Wert in rnd() einfüge.
 
Hi

auch vom typ int funktioniert rnd() nur im Programm Access.
Es gibt ja noch die Möglichkeit, dies im Script selbst zu lösen.
 
Zurück