| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλησπέρα. Θα ήθελα βοήθεια σ'ένα πρόβλημα που μου προέκυψε. Έχω έναν πίνακα με πεδία: [ΠΕΡΙΓΡΑΦΗ] και [ΣΧΕΣΗ]. Στο πεδίο [ΣΧΕΣΗ] επιλέγεται μια απ' τις 2 τιμές: ΠΕΛΑΤΗΣ, ΠΡΟΜΗΘΕΥΤΗΣ. Ας υποθέσουμε οτι βλέπυμε τις εγγραφές του παραπάνω πίνακα σε Φόρμα. Θα ήθελα να έχω ένα combobox όπου όταν επιλέγω ΠΕΛΑΤΕΣ να φιλτράρει τις εγγραφές και να φαίνονται μόνο οι ΠΕΛΑΤΕΣ και όταν επιλέγω ΠΡΟΜΗΘΕΥΤΕΣ να εμφανίζονται μόνο αυτοί. |
|
#2
| |||
| |||
|
Καλησπέρα Χρήστο, στη ΒΔ που επισυνάπτω υπάρχει μία υλοποίηση αυτού που ζητάς. Στο σύνθετο πλαίσιο πρόσθεσα και μία επιλογή «ΟΛΟΙ» για να εμφανίζονται όλοι οι συναλλασσόμενοι. Η λειτουργικότητα της φόρμας οφείλεται στον παρακάτω κώδικα Κώδικας: Private Sub cboFilter_AfterUpdate()
If Me.cboFilter = "<<ΟΛΟΙ>>" Then
Me.Filter = ""
Else
Me.Filter = "[ΣΧΕΣΗ]='" & Me.cboFilter & "'"
End If
Me.FilterOn = True
End Sub
|
|
#3
| |||
| |||
|
Θα ήθελα τη συμβουλή σου και σε κάτι ακόμη. Αν κάποιος είναι πελάτης θέλω να του περνάω έσοδα ενώ αν είναι προμηθευτής θέλω να του περνάω έξοδα. Σε μια έκθεση θα ήθελα να βλέπω ανα εβδομάδα τα έσοδα και τα έξοδα. Αυτό που σκέφτομαι είναι: μια δευτερεύουσα φόρμα (συνδεδεμένη με την κύρια στο CodeID)...όπου θα δίνω ημερομηνία, ποσό και ένα πεδίο όπου θα επιλέγω ΕΔΟΔΑ ή ΕΞΟΔΑ. Είναι καλή ιδέα; |
|
#4
| |||
| |||
|
Σίγουρα οχι δευτερεύουσα φόρμα γιατί τότε η κύρια φόρμα δεν θα μπορεί να είναι συνεχής. Μάλλον και κάποιο κουμπάκι...
|
|
#5
| |||
| |||
|
Καλημέρα Χρήστο, στη βάση δεδομένων που επισυνάπτω, για την καταχώρηση των ποσών, παρουσιάζονται δύο λύσεις: 1. Με κύρια φόρμα και δευτερεύουσα (frmSinalasomeniPosa). Επειδή η κύρια φόρμα δεν είναι συνεχής, για να διευκολυνθεί η επιλογή των συναλλασσόμενων, πρόσθεσα δύο πτυσσόμενα πλαίσια για το φιλτράρισμά τους. 2. Με την προσθήκη κουμπιού στη φόρμα των συναλλασσομένων για το άνοιγμα της φόρμας καταχώρησης των ποσών (frmPosa) κατάλληλα φιλτραρισμένης. Ποια είναι καλύτερη δεν ξέρω. Εγώ προτιμώ τη σύνθετη φόρμα. Εξαρτάται και από το σχεδιασμό της εφαρμογής. Το πεδίο για να διακρίνεις αν το ποσό που καταχωρείται είναι έσοδο ή έξοδο δε χρειάζεται. Αυτό διευκρινίζεται από τη σχέση του συναλλασσόμενου (πελάτης=έσοδο, προμηθευτής=έξοδο). Για να δεις πως γίνεται πρόσθεσα ένα ερώτημα (qrySinalasomeniPosa) στο οποίο περιέχονται και τα πεδία «ΕΣΟΔΑ» και «ΕΞΟΔΑ». Την έκθεση μπορείς να τη βασίσεις στο ερώτημα. Φιλικά/Γιώργος |
|
#6
| |||
| |||
|
Όσο περίμενα δες λίγο τι έφτιαξα.
Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 18:58. |
|
#7
| ||||
| ||||
|
Καλημέρα... Δυο σχόλια με σκοπό να βοηθήσω στο μέτρο των μικρών δυνατοτήτων. α) Πρόσφατα εγκατέστησα μια εφαρμογή μου σε δίκτυο και διαπίστωσα οτι η εντολή me.filter="" (που ουσιαστικά αναιρεί το φίλτρο) δεν δούλεψε! Δεν γνωρίζω τι φταίει, έχω κάποιες σκέψεις, αλλά δεν έχω την εξήγηση. Έτσι ο κώδικας που χρησιμοποιεί ο Γιώργος, προτείνω (έτσι έλυσα το πρόβλημά μου...) να γραφεί ως εξής: Κώδικας:
Private Sub cboFilter_AfterUpdate()
If Me.cboFilter = "<<ΟΛΟΙ>>" Then
Me.FilterOn = False
Else
Me.Filter = "[ΣΧΕΣΗ]='" & Me.cboFilter & "'"
Me.FilterOn = True
End If
End Sub
Παράθεση:
Αυτά είχα να καταθέσω στη συζήτηση. Καλή συνέχεια... Με εκτίμηση Νίκος Δ. Υστερολόγιο: Ανεβάζω ένα μικρό παράδειγμα όπου κύρια και δευτερύουσα φόρμά, έχουν μορφή 'συνεχούς φόρμας' Τελευταία επεξεργασία από το χρήστη Meteora : 16-01-11 στις 14:16. |
|
#8
| |||
| |||
|
Ευχαριστώ πολύ για τις παρατηρήσεις και τη βοήθεια...
|
|
#9
| |||
| |||
|
Καλησπέρα Χρήστο, κατά τη γνώμη μου, για τη δημιουργία μιας σωστής βάσης δεδομένων, πρέπει συνοπτικά: 1. Να καθορίσουμε σαφώς το σκοπό της (τι θα κάνει). 2. Να καθορίσουμε τα απαιτούμενα δεδομένα και να τα οργανώσουμε σε κατάλληλους πίνακες. 3. Να καθορίσουμε τις ιδιότητες των πεδίων των πινάκων (τύπος, μοναδικά, απαιτούμενα, κλπ) και τα ευρετήρια. 4. Να δώσουμε κατάλληλα ονόματα στα αντικείμενα της βάσης. Για παράδειγμα ονόματα με παρενθέσεις απαγορεύονται. 5. Να καθορίσουμε τις σχέσεις των πινάκων. Βλέποντας τη ΒΔ που ανέβασες σχημάτισα την εντύπωση ότι δεν έδωσες τη δέουσα βαρύτητα στο σωστό σχεδιασμό της βάσης. Ουσιαστικά η βάση είναι μια συνένωση κάποιων δειγμάτων ΒΔ, που παρουσιάστηκαν από μέλη του φόρουμ για να εξηγήσουν κάποιες απαντήσεις σε τεθέντα ερωτήματα. Οι απαντήσεις στο φόρουμ θα πρέπει να θεωρούνται ιδέες (εργαλεία) που χρειάζονται προσαρμογή για να ενταχθούν σε μια σωστά σχεδιασμένη βάση δεδομένων. Τελειώνοντας πιστεύω ότι πρώτα θα πρέπει να ασχοληθείς με τη σωστή σχεδίαση της ΒΔ και στη συνέχεια με το περιβάλλον χρήσης της (φόρμες εκθέσεις). Φιλικά/Γιώργος |
|
#10
| |||
| |||
|
Έχεις απόλυτο δίκιο. Είχα ξεχάσει να ορίσω ακεραιότητα αναφορών (Βασικότατο)...αλλά δεν έχω περάσει ακόμη δεδομένα γι' αυτό και ήμουν χαλαρός. Τώρα όσο αφορά το σχεδιασμό ακόμη ψάχνομαι... Πάντος έχεις δίκιο...όσοι βλέπουν τις βάσεις μου λένε το ίδιο πράγμα: Κάνει ωραία πράγματα...μπράβο.....και άλλα χαριτωμένα....αλλά όσοι πραγματικά ξέρουν μου λένε:λάθος ονόματα...πολύπλοκοι συσχετισμοί.... Πάντως ψάχνομαι ...και ευχαριστώ για τις παρατηρήσεις. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Συναρτήσεις] Φίλτρο | manolis | Excel - Ερωτήσεις / Απαντήσεις | 9 | 07-05-14 16:47 |
| [VBA] φίλτρο | manos77 | Excel - Ερωτήσεις / Απαντήσεις | 2 | 15-10-11 23:31 |
| [VBA] Φίλτρο | mdragon | Excel - Ερωτήσεις / Απαντήσεις | 4 | 14-09-11 21:54 |
| Φίλτρο | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 2 | 06-05-11 12:48 |
| [ Ερωτήματα ] Φίλτρο ΝΑΙ, ΟΧΙ, ΟΛΑ | devcon | Access - Ερωτήσεις / Απαντήσεις | 4 | 29-03-11 16:19 |
Η ώρα είναι 09:03.


Αλλαγή σε γραμμικό τρόπο

