Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Εμφάνιση ορισμένου πλήθους εγγραφών σε ερώτημα (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/5016-emfanisi-orismenoy-plithoys-eggrafon-se-erotima.html)

kasampas 13-09-18 13:51

Εμφάνιση ορισμένου πλήθους εγγραφών σε ερώτημα
 
Καλησπέρα
Θέλω να σχεδιάσω ένα ερώτημα το οποίο όμως θα εμφανίζει συγκεκριμένο πλήθος εγγραφών (και όχι όλες) διαφορετικό κάθε φορά και ανάλογα την περίπτωση.
Και για να γίνω πιο συγκεκριμένος
Το παρακάνω ερώτημα π.χ. θα μου επιστρέφει πάντα 5 εγγραφές
Κώδικας:

SELECT TOP 5 TEBLE1.field1 .....
Στη θέση του 5 μπορεί να μπει μεταβλητή (π.χ. κάποιο πεδίο φόρμας) ώστε το ερώτημα να επιστρέφει κάθε φορά τις Χ εγγραφές;
Ευχαριστώ πολύ

kapetang 14-09-18 19:51

1 Συνημμένο(α)
Καλησπέρα

Βάγγο, κάνε δοκιμές στο συνημμένο.

1) Δημιούργησα ένα ερώτημα τύπου: SELECT TOP 1 ……. Και το ονόμασα Query1.

2) Στη φόρμα Form1, αφού συμπληρώσουμε το πλήθος των εγγραφών στοTextBox (txtTop), πατούμε το κουμπί (cmdOpenQuery).

Θα τρέξει ο παρακάτω κώδικας:

Κώδικας:

Private Sub cmdOpenQuery_Click()
    Dim qdf As QueryDef, strSQL As String, top As Long

    If Nz(Me.txtTop, "") = "" Then
        MsgBox "Συμπληρώστε Ένα Θετικό Ακέραιο"
        Me.txtTop.SetFocus
        Exit Sub
    End If

    DoCmd.Close acQuery, "Query1"
    Set qdf = CurrentDb.QueryDefs("Query1")
    strSQL = qdf.SQL
    top = Val(Replace(strSQL, "SELECT TOP", ""))
    qdf.SQL = Replace(strSQL, top, Me.txtTop, , 1)
    DoCmd.OpenQuery "Query1"

End Sub

Ο κώδικας τροποποιεί την ιδιότητα SQL του ερωτήματος και ακολούθως το ανοίγει.

kasampas 01-10-18 08:54

Εξαιρετικό!!!
Ευχαριστώ πολύ

kapetang 01-10-18 10:43

Να είσαι καλά!


Η ώρα είναι 12:55.

Ms-Office.gr - ©2000 - 2024, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2