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/4348-anoigma-formas-me-sintheto-plaisio-kai-taytoxono-filtrarisma.html)

octapus 09-11-16 23:11

άνοιγμα φόρμας με σύνθετο πλαίσιο και ταυτόχονο φιλτράρισμα
 
1 Συνημμένο(α)
Χαιρετώ.
εύχομαι να είσαστε όλοι καλά.
στην φόρμα αναζήτηση έχω ένα σύνθετο πλαίσιο και ανοίγει την φόρμα
Frmprwtokollofullo. H φόρμα αντλεί δεδομένα από το Qryprwtokol
στο σύνθετο πλαίσιο θέλω να εμφανίζει τα ονόματα των φακέλων που βρίσκονται στον πίνακα
fakelos.
διαλέγοντας έναν φάκελο (πχ δημότες) στο πλαίσιο θέλω να μου ανοίγει η Frmprwtokollofullo εμφανίζοντας τα δεδομένα που αφορούν το φάκελο με το όνομα δημότες
ευχαριστώ εκ των προτέρων

παναγιώτης

kapetang 10-11-16 19:01

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

Παναγιώτη, δες το συνημμένο.

Σημειώνω ότι ενώ η φόρμα FrmAnazitisi έπρεπε να είναι αδέσμευτη, δεν ήταν (έπαιρνε δεδομένα από το ερώτημα).

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

octapus 10-11-16 22:06

χαιρετώ.
είμαι υπόχρεος
τώρα που μου το είπες και το σκέφτηκα λίγο παραπάνω,
έχεις απόλυτο δίκιο με το ότι η φόρμα θα έπρεπε να ήταν αδέσμευτη.
αυτό ήταν το ένα λάθος μου, το άλλο ήταν ότι δεν έκανα αναζήτηση από τον πίνακα φάκελλο,
αλλά από το ερώτημα.
Να ρωτήσω και κάτι ακόμα.
θέλω από την ίδια φόρμα να κάνει μια αναζήτηση με βάση ένα εύρος ημερομηνιών πρωτοκόλλου που θα του δίνω σε δύο cobobox ή πλαίσια κειμένου (μπορώ να τα διαλέγω από ημερολόγιο; ). η λογική είναι η ίδια φαντάζομαι, αλλά θα πρέπει να ξεχωρίσω την ημερομηνία από το πρωτόκολλο και να γράψω τον κώδικα:
Private Sub cbodateews_AfterUpdate()
set dateprwtokollou as date
dateprwtokollou (θα γίνει ο διαχωρισμός της ημερομηνίας από το πρωτόκολλο)
DoCmd.OpenForm "FrmPrwtokolloFullo", acFormDS, , "dateprwtokolou > " & Me.cbodateapo and "dateprwtokolou > " & Me.cbodateews

to dateprwtokollou θα το ορίζω με συνάρτηση που θα κρατάει ότι υπάρχει μετά το / (δεν την θυμάμαι αλλά θα την ψάξω αύριο)

σωστά ή είναι πιο περίπλοκο;
ευχαριστώ πάρα πολύ για την βοήθεια.
Παναγιώτης

Υ.γ θεωρείς ότι είναι πιο σωστό να έχω στον πίνακα ξεχωριστά πεδία πρωτόκκολο και ημερομηνία πρωτοκόλλου ή ένα πεδίο (όπως το έφτιαξα)

kapetang 11-11-16 10:23

Καλημέρα

Παναγιώτη, αντί ComboBox χρησιμοποίησε TextBox.

Αν ορίσεις τη μορφοποίησή τους σε "Short Date", όταν θα έχουν την εστίαση, θα εμφανίζεται δεξιά ημερολόγιο, για επιλογή ημερομηνίας.

Το καλύτερο, για μένα, είναι ξεχωρίσεις στον πίνακα PRWTOKOLLO τον αριθμό πρωτοκόλλου από την ημερομηνία.

octapus 15-11-16 19:31

1 Συνημμένο(α)
Σε ευχαριστώ γιώργο
συγνώμη για την καθυστερημένη απάντηση.
κάτι το Σαββατοκύριακο, κατί η δουλειά και δεν ασχολήθηκα.
δούλεψε ο κώδικας.
έσπασα σε δυο πεδίο argenprwtokol και έφτιαξα δύο πεδία
συμπλήρωσα την φόρμα με αναζήτηση με ημερομηνίες
έφτιαξα ένα κώδικα, αλλά κάτι έκανα λάθος και μου βγάζει λάθος.
πιθανόν να λάθος όλη η εντολή

DoCmd.OpenForm "FrmPrwtokolloFullo", acFormDS, , "[DateGenPrwtokol] > " & Me.cbodategenprotapo And "[DateGenPrwtokol] > " & Me.cbodategenprotews

έβαλα κουμπί γιατί με το after update όταν έβαζα ημερομηνία από το ημερολόγιο δεν έκανε τίποτα
ευχαριστώ εκ των προτέρων.

kapetang 16-11-16 08:52

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

Παναγιώτη δες το συνημμένο.

Ο κώδικας για το φιλτράρισμα (με βάση την ημερομηνία) αντιμετωπίζει τις ακόλουθες περιπτώσεις:

1) Τα πλαίσια κειμένου [txtFrom] και [txtTo] είναι κενά.

Ανοίγει η φόρμα χωρίς να εφαρμοστεί φίλτρο.

2) Το [txtFrom] έχει ημερομηνία και το [txtTo] είναι κενό.

Στη φόρμα εμφανίζονται μόνο οι εγγραφές με ημερομηνία >=[txtFrom]

3) Το [txtFrom] είναι κενό και το [txtTo] έχει ημερομηνία

Στη φόρμα εμφανίζονται μόνο οι εγγραφές με ημερομηνία <=[txtTo]

4) Τα [txtFrom] [txtTo] έχουν ημερομηνία

Στη φόρμα εμφανίζονται μόνο οι εγγραφές με ημερομηνία: [txtFrom]<=ημερομηνία <=[txtTo]

octapus 17-11-16 14:27

καλημέρα
ευχαριστώ πολύ γιώργο
δουλέυει μια χαρά
προσπαθώ να καταλάβω πως δουλεύει
αν έχεις χρόνο και την όρεξη να μου πεις μερικά πράγματα
If IsDate(Me.txtFrom) Then
strF = "clng([DateGenPrwtokol])>=" & CLng(Me.txtFrom)
αν κατάλαβα το clng μετατρέπει τις ημερομηνίες σε αριθμούς
το strF τι ορίζει;

End If
If IsDate(Me.txtTo) Then
If strF <> "" Then strF = strF & " And "
strF = strF & "clng([DateGenPrwtokol])<=" & CLng(Me.txtTo)
End If
DoCmd.OpenForm "FrmPrwtokolloFullo", acFormDS, , strF

ευχαριστώ πολύ

παναγιωτης

kapetang 17-11-16 15:15

Καλησπέρα

Το strF συμβολίζει μία μεταβλητή τύπου String (κειμένου).

Χρησιμοποιείται για την αποθήκευση της συνθήκης φιλτραρίσματος της φόρμας και αρχικά είναι κενή (strF="").

Η τιμή της διαμορφώνεται προοδευτικά και ανάλογα με τις τιμές των txtFrom και txtTo.

Αφού λάβει την τελική τιμή, χρησιμοποιείται για το φιλτράρισμα της φόρμας στην εντολή:

DoCmd.OpenForm "FrmPrwtokolloFullo", acFormDS, , strF

octapus 20-11-16 12:18

καλησπέρα.
το κατάλαβα πλήρως

ευχαριστώ πολύ

octapus 15-12-16 21:27

1 Συνημμένο(α)
Ξανά χαιρετώ.
Στην φόρμα FrmPrwtokollo3 γράφω ένα μέρος του ονόματος του Αιτούντος και πατάω βρες
και ανοίγει την Φόρμα FrmEnimerwsiAitountos και μου φέρνει τις εγγραφές που αντιστοιχούν.
με διπλό κλικ στο αα τις εγγραφής που διαλέγω, θέλω να ενημερώνεται στον πίνακα PRWTOKOLLO και στην εγγραφή που ήμουν στην Φόρμα FrmPrwtokollo3 το πεδίο Aitoumenos με το αα που διάλεξα.

Ευχαριστώ εκ των προτέρων


Η ώρα είναι 14:09.

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


Search Engine Optimization by vBSEO 3.3.2