Θέμα: top3

Εμφάνιση ενός μόνο μηνύματος
  #5  
Παλιά 31-01-12, 00:11
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού 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
Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb ShowTopXPerDay.mdb (248,0 KB, 30 εμφανίσεις)
Απάντηση με παράθεση