Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Recordset με βάση το τρέχον φίλτρο (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/823-recordset-me-basi-trexon-filtro.html)

cghera 07-11-10 10:27

Recordset με βάση το τρέχον φίλτρο
 
Γεια και χαρά.
Έχω μία φόρμα σε μορφή grid στην οποία εμφανίζονται στοιχεία πελατολογίου.
Θέλω με κάποιο τρόπο όταν ο χρήστης φιλτράρει με δικά του κριτήρια (π.χ. με ΤΚ ή πόλη και με υπόλοιπο πελάτη) χρησιμοποιώντας τα φίλτρα της access να μπορώ ό,τι εμφανίζεται να το βάζω σε ένα recordset. Δοκίμασα να βάλω στο source του recordset το me.filter αλλά δεν λειτούργησε και ψάχνοντας στο ίντερνετ δεν μπόρεσα να καταλάβω πως θα το κάνω τελικώς.
Ο στόχος είναι να τυπώσω ετικέτες με μία συνάρτηση σε dotmatrix, ( τυπώνω απευθείας στην lpt1). Θα διαβάζω δηλαδή μία μία τις εγγραφές (φιλτραρισμένες) του recordset και θα τυπώνω κάποια στοιχεία.
Ξέρεις κανείς πως θα λύσω αυτό το πρόβλημα;
Ευχαριστώ.

Meteora 07-11-10 11:06

Καλημέρα σε όλους

Αγαπητέ μου, φτιάξε σε μια μεταβλητή filtro την επιλογή του χρήστη πχ filtro="ΤΚ='12345'" και χρησιμοποίησε κάτι σαν αυτό εδώ:

Κώδικας:

With CurrentDb.OpenRecordset("SELECT * FROM nameTable  where " & filtro)
          .MoveFirst
        Do While Not .EOF
          <κώδικας εκτύπωσης>
          .MoveNext

          Loop
  End With

Κώστα, δέξου την απάντησή μου ως μια πρώτη προσέγγιση...
Νίκος Δ.

kapetang 07-11-10 20:52

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

Κώστα στη βάση δεδομένων, που επισυνάπτω, δοκίμασα μια λύση παραπλήσια με αυτήν που πρότεινε ο φίλος Νίκος.
Στηρίζεται στην ιδιότητα RecordsetClone της φόρμας, η οποία αντιπροσωπεύει τις εγγραφές που εμφανίζονται κάθε στιγμή στη φόρμα (όλες ή μέρος αν εφαρμοστεί κάποιο φίλτρο).
Ο κώδικας για την εκτύπωση θα πρέπει να προστεθεί στον κώδικα του συμβάντος «κλικ» του κουμπιού «Εκτύπωση» (cmdPrint), που φαίνεται παρακάτω.
Κώδικας:

Private Sub cmdPrint_Click()
    With Me.RecordsetClone
        .MoveFirst
        Do Until .EOF
            ' εντολές εκτύπωσης
            .MoveNext
        Loop
    End With
End Sub

Φιλικά/Γιώργος

cghera 07-11-10 21:42

σας ευχαριστώ πολύ για τη βοήθεια, θα δοκιμάσω τις προτάσεις σας, κι αν χρειαστώ κάτι θα ξαναρωτήσω.


Η ώρα είναι 18:40.

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


Search Engine Optimization by vBSEO 3.3.2