Extreme Veteran
Beiträge: 566
| Hallo,
BetzMartin - 05.02.13 20:36
[Frage/Antwortspiel erstellen]
Ich habe dazu diesen Code verwendet:
Private Sub Form_Current()
Const csSQL = "SELECT TOP 1 ID FROM Fragen ORDER BY Rnd(ID)"
Me.Recordset.FindFirst "ID = " & CurrentDb().OpenRecordset(csSQL)(0)
End Sub
Soweit so gut! Jetzt möchte ich das die Fragen nur einmal gestellt werden und wenn alle Fragen durch sind eine kleine Zusammenfassung der Ergebnisse Gezeigt wird!
Dafür musst du die gefundenen IDs in eine Tabelle eintragen (im Beispiel Tmp1) und verhindern, dass diese wieder gelesen werden:
Const csSQL = "SELECT TOP 1 ID FROM Fragen LEFT JOIN Tmp1 ON Fragen.ID=Tmp1.ID WHERE Tmp1.ID Is Null ORDER BY Rnd(ID)"
Me.Recordset.FindFirst "ID = " & CurrentDb().OpenRecordset(csSQL)(0)
strSQL = "INSERT INTO Tmp1 ( ID) VALUES (" & Me.Recordset.Fields("ID").Value & ")"
CurrentDb.Execute strSQL, dbFailOnError
Mit Tabelle Tmp1 hast du noch weitere Möglichkeiten, nämlich die Antworten einzutragen und später in einem Formular auszuwerten.
----- Gruss - Peter |