webForumDet fria alternativet

Access - random ?

Databaser & SQL

1 svar · 282 visningar · startad av jurgen

Medlem sedan maj 20032 inlägg
Frågan#1

om man vill få ut en slumpvald post av( "Select * From tavlor Where konstrundan='JA'") i en access db.vilket e det snabbaste sättet ?

Medlem sedan dec. 20003 887 inlägg
#2

Använd dig av ett räknarfält, så kan du använda typ följande kodsnutt

Public GetRandomCounter As Integer
  Dim rsValues As New ADODB.RecordSet
  Dim strSQL As String

  strSQL = "SELECT intCounter FROM tavlor WHERE konstrundan = 'JA'"
  rsValues.Open strSQL, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly

  Randomize
  rsValues.Move CLng((rsValues.RecordCount * Rnd) + 1)

  GetRandomCounter = CInt(rsValues("intCounter"))

  Set rsValues = Nothing
End Function

strSQL = "SELECT * FROM tavlor WHERE intCounter = " & GetRandomCounter

intCounter stoppade jag bara in... om du inte har något sådant fält för att hämta dina tavlor föreslår jag att du lägger till ett sånt fält ;) Det gör hanteringen lite enklare om inte annat.

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)