Mijn bedoeling is om uit een database een willekeurig record te krijgen, waarvan ik de waarde van de kolom waaraan de records moeten voldoen, ingeef.
Aangezien ik gebruik maak van een datacontrol, dacht ik: Ik vul gewoon mijn datacontrol op met de records die voldoen aan mijn voorwaarde, en dan neem ik daar een willekeurig nummer uit.
Mijn code is als volgt:
private sub command1_click()
data1.recordsource = "SELECT * FROM tabel WHERe artiest = '" & strArtiest & "'"
data1.refresh
Data1.Recordset.MoveFirst
Randomize
Data1.Recordset.Move Int((Data1.Recordset.RecordCount - 1 + 1) * Rnd) +1)
end sub
Nu, dat werkt, die datacontrol opvullen met die bepaalde artiest. Maar ik merk dat mijn recordcount altijd verschilt. Neem nu dat er 40 nummers van die artiest zijn, is de ene keer mijn recordcount 20, de andere keer 15,... Maar nooit 40.
En dat heeft tot gevolg dat alleen de eerste nummers willekeurig worden weergegeven, de laatste 15 krijg ik nooit te zien.
'K heb mij al suf gezocht op google, en op dit forum, maar ik vind nergens de fout.
Aangezien ik gebruik maak van een datacontrol, dacht ik: Ik vul gewoon mijn datacontrol op met de records die voldoen aan mijn voorwaarde, en dan neem ik daar een willekeurig nummer uit.
Mijn code is als volgt:
private sub command1_click()
data1.recordsource = "SELECT * FROM tabel WHERe artiest = '" & strArtiest & "'"
data1.refresh
Data1.Recordset.MoveFirst
Randomize
Data1.Recordset.Move Int((Data1.Recordset.RecordCount - 1 + 1) * Rnd) +1)
end sub
Nu, dat werkt, die datacontrol opvullen met die bepaalde artiest. Maar ik merk dat mijn recordcount altijd verschilt. Neem nu dat er 40 nummers van die artiest zijn, is de ene keer mijn recordcount 20, de andere keer 15,... Maar nooit 40.
En dat heeft tot gevolg dat alleen de eerste nummers willekeurig worden weergegeven, de laatste 15 krijg ik nooit te zien.
'K heb mij al suf gezocht op google, en op dit forum, maar ik vind nergens de fout.