
31-01-12, 00:11
|
| Όνομα: Γιώργος Έκδοση λογισμικού Office: Ms-Office 2010 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 18-06-2010
Μηνύματα: 3.674
| |
Καλησπέρα/Καλημέρα
Δημήτρη, αυτό που ζητάς απαιτεί η τιμή του TOP στο ένθετο ερώτημα να ορίζεται ως παράμετρος (πχ [Δώσε τον αριθμό των παιχνιδιών]).
Στο σημείο αυτό όμως η access δεν επιτρέπει παράμετρο.
Έτσι σκέφτηκα το ερώτημα να δημιουργείται με κώδικα.
Στη φόρμα Form1, αν συμπληρώσουμε τον αριθμό των παιχνιδιών και πατήσουμε το κουμπί, θα δημιουργηθεί και θα ανοίξει το κατάλληλο ερώτημα.
Αυτό γίνεται με τον ακόλουθο κώδικα που πρόσθεσα στη φόρμα. Κώδικας: rivate Sub cmdOpenQry_Click()
Dim strSQL As String, qdf As DAO.QueryDef
If IsNumeric(Me.txtNum) Then
strSQL = "SELECT table1.* FROM table1 WHERE (((table1.id) In (Select Top " & _
Int(Me.txtNum) & " ID From table1 as P Where table1.fDate=P.fDate Order By P.ID DESC)))" & _
" ORDER BY table1.fdate, table1.id DESC;"
With CurrentDb
On Error Resume Next
DoCmd.Close acQuery, "ShowTopXperDay", acSaveNo
.QueryDefs.Delete "ShowTopXperDay"
On Error GoTo 0
Set qdf = .CreateQueryDef("ShowTopXperDay", strSQL)
End With
DoCmd.OpenQuery qdf.Name
End If
End Sub
Φιλικά/Γιώργος
|