Hallo,
ich habe eine Access Datenbank mit einem Adressbestand von
90.000 Interessenten. Jetzt würde ich gerne per Zufallsprinzip
eine gewisse Anzahl von Interessenten pro PLZ ziehen.
Beispiel: Gib mir aus dem PLZ Bereich 81825 = 50 Interessenten
und aus 81829 = 35 Int. usw.
Kann mir jemand helfen?
naja, helfen nur bedingtin Form einer prinzipiellen Erklärung:
Zunächst eine Hilfstabelle anlegen mit „PLZ“ als Primärschlüsselspalte und mit „AdrAnz“ als Angabe der pro PLZ gewünschten Adress-Anzahl. Die Adress-Tabelle muss weiterhin ein ID-Feld besitzen.
Sodann in einer VBA-Prozedur die IDs pro PLZ-Gruppe ermitteln und mit der RND-Funktion und der in der Hilfstabelle hinterlegten gewünschten Adress-Anzahl („AdrAnz“) daraus eine Wertliste der Plz-Gruppe-IDs als „IN“-Klausel-Kriterium in der Where-Condition für eine Abfrage (SQL_String) erzeugen.
Diesen SQL-String sodann irgendeinem geeigneten Steuerelement (Listenfeld) oder einem Formular zuweisen.
etwas anderer Weg (gleich als Code-Fragment):
dim rs as dao.recordset,db as database
set db = currentdb
set rs=db.openrecordset(„Select * from tblHilfstabelle order by PLZ“, dbOpenSnapshot)
do until rs.eof
db.execute „Select Top " & nz(rs!AdrAnz,1) & " * from tblAdressen into tblErgebnis where PLZ=’“ & rs!PLZ & "’ order by RND(AdressID)
rs.movenext
loop
rs.close
set rs=nothing
(unchecked)
Viele Grüße vom Bodensee
Franz , DF6GL
PS: Feedback erwünscht!