Καλησπέρα
Γιώργο, τα δεδομένα αποθηκεύονται στον πίνακα «Πίνακα1» με τη σειρά καταχώρησης.
Εκεί δεν μπορούμε να αλλάξουμε τη σειρά.
Μπορούμε, όμως να αλλάξουμε τη σειρά εμφάνισης, σε φόρμες, ερωτήματα και εκθέσεις.
Στην επισυναπτόμενη ΒΔ έχω προσθέσει τη φόρμα «ΤΥΧΑΙΑ_ΤΑΞΙΝΟΜΗΣΗ», στην οποία:
1. Πατώντας το κουμπί «Τυχαία ταξινόμηση» μπορούμε να εμφανίσουμε τις εγγραφές με τυχαία σειρά. Αν ξαναπατήσουμε το κουμπί επαναφέρουμε την κανονική ταξινόμηση.
2. Πατώντας το κουμπί «Δημιουργία πίνακα αθλητών» καταχωρούνται τα στοιχεία που θέλεις στον πίνακα «ΑΘΛΗΤΕΣ», που πρόσθεσα στη βάση.
Στην καταχώρηση κάθε συνδυασμός των τιμών των πεδίων[Νο1], [ΑΡ ΔΕΛΤΙΟΥ 1], [Νο2] και [ΑΡ ΔΕΛΤΙΟΥ 2] είναι μοναδικός.
Ο κώδικας που εκτελεί τις παραπάνω λειτουργίες φαίνεται παρακάτω:
Κώδικας:
Private Sub cmdCreateTable_Click()
Dim strSQL As String
On Error Resume Next
strSQL = "INSERT INTO ΑΘΛΗΤΕΣ ( Νο1, [ΑΡ ΔΕΛΤΙΟΥ 1], Νο2, [ΑΡ ΔΕΛΤΙΟΥ 2] ) " & _
"SELECT DISTINCT Πίνακας1.Νο1, Πίνακας1.[ΑΡ ΔΕΛΤΙΟΥ 1], Πίνακας1.Νο2, " & _
"Πίνακας1.[ΑΡ ΔΕΛΤΙΟΥ 2]FROM Πίνακας1;"
CurrentDb.Execute "Delete * From ΑΘΛΗΤΕΣ"
CurrentDb.Execute strSQL
On Error GoTo 0
End Sub
Private Sub cmdShort_Click()
If Me.cmdShort.Caption = "Τυχαία ταξινόμηση" Then
Me.OrderBy = "[fShort]"
Me.cmdShort.Caption = "Κανονική ταξινόμηση"
Else
Me.OrderBy = "[Α/Α]"
Me.cmdShort.Caption = "Τυχαία ταξινόμηση"
End If
Me.OrderByOn = True
End Sub
Ελπίζω να καλύφτηκες.
Φιλικά/Γιώργος