Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Αναζήτηση σε δύο πεδία διαδοχικά
Καλησπέρα! Παρατήρησα ότι στο forum αυτό βρίσκεις απαντήσεις σε όλα και αποφάσισα να κάνω και εγώ μια ερώτηση. Σε ένα πίνακα που μεταξύ άλλων έχει δύο πεδία, 1ο τηλέφωνο οικίας και 2ο τηλεφωνο εργασίας κάνω αναζήτηση του πελάτη, με ερώτημα, από το πρώτο πεδίο (τηλ οικίας). Υπάρχει τρόπος αν δεν βρεθεί το τηλέφωνο στο πρώτο πεδίο η αναζήτηση να συνεχιστεί στο δεύτερο πεδίο (τηλ εργασίας); Ευχαριστώ εκ των προτέρων!
|
#2
| |||
| |||
Σου στέλνω κάτι που ψάχνει και στα δύο πεδία για την ίδια τιμή. Χρειάζεται προσοχή αν το ερώτημα που χρησιμοποιείς έχει και άλλα κριτήρια. Αν όχι, τότε το qrySearch είναι πιο απλό και θα σε βολέψει. Αν υπάρχουν κι άλλα κριτήρια, τότε καλό είναι να δουλέψεις με τη λύση του qrySearch2 για να μην μπερδευτείς με τις πολλαπλές γραμμές κριτηρίων (στις οποίες πρέπει να επαναλάβεις τα υπόλοιπα κριτήρια -αν χρησιμοποιήσεις την υλοποίηση του qrySearch-). |
#3
| |||
| |||
Τελικά ήταν εντυπωσιακά απλό! Ευχαριστώ πολύ.
|
#4
| ||||
| ||||
Φίλε Γιώργο, καλωσόρισες στο φόρουμ! Έχω να σου προτείνω μια διαφορετική προσέγγιση στη διαχείριση των προσωπικών στοιχείων μέσα από μια βάση δεδομένων της Access. Είναι καλύτερο να κρατάμε τέτοιου είδους στοιχεία σε ξεχωριστούς πίνακες έτσι ώστε να έχουμε πλήρη ελευθερία κινήσεων. Στο συνημμένο θα βρεις ένα μικρό παράδειγμα που διατηρεί απεριόριστο αριθμό τηλεφώνων για κάθε πρόσωπο, διάφορα στοιχεία για κάθε τηλέφωνο αλλά και το προεπιλεγμένο τηλέφωνο για το κάθε πρόσωπο. Ελπίζω να σε βοηθήσει. Φιλικά, Γιάννης.
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |
#5
| ||||
| ||||
Καλημέρα κοινότητα... Φίλτατε Γιάννη, εκπληκτική δουλειά. Λιτή , ωραία εικόνα, πλήθος επιλογών και με ...χιούμορ! Μόνο το Ηπειρώτικο τραγούδι απουσιάζει. Καλό απόγευμα φίλε μου. Φιλικά Νίκος Δ. Υστερολόγιο: Αν δεις ανοιχτό skype και έχεις έστω και λίγο χρόνο τα λέμε. Τελευταία επεξεργασία από το χρήστη Meteora : 08-07-10 στις 23:29. |
#6
| |||
| |||
Γιάννη, καλημέρα Μελετώντας τον κώδικα, για την αναζήτηση με βάση τον αριθμό τηλεφώνου, έχω την εντύπωση ότι μάλλον δεν απαιτείται η κλήση της διαδικασίας ShowPhones Private Sub cboCustomer_AfterUpdate() Me.cboPhone = Null ShowPhones End Sub Private Sub cboPhone_AfterUpdate() If Not IsNull(Me.cboPhone) Then Me.cboCustomer = Me.cboPhone 'πυροδοτεί το συμβάν cboCustomer_AfterUpdate End If ShowPhones 'μάλλον δεν απαιτείται End Sub Φιλικά/Γιώργος |
#7
| ||||
| ||||
Καλησπέρα Γιώργο! Το συμβάν AfterUpdate() δεν πυροδοτείται όταν οι αλλαγές προκαλούνται από από διαδικασίες της VBA. Όμως έχεις δίκιο για την ShowPhones. Είναι χρήσιμη μόνο κατά την πρώτη αναζήτηση. Εφόσον τα κλειδιά επιλέγονται από συγκεκριμένες λίστες, θεωρητικά είναι αδύνατο να μην υπάρχει το ID του πελάτη σε κάποια αναζήτηση. Εμένα όμως άλλο με προβληματίζει... Κάνε μερικές επιλογές στο ComboBox των τηλεφώνων και παρατήρησε ποιο τελικά τηλέφωνο εμφανίζεται μετά την επιλογή σου. Κάτι δοκιμές που έκανα πριν ώρα, μου εμφάνιζε όχι αυτό που επέλεγα αλλά κάποιο άλλο του ίδιου 'όμως πελάτη. Σαν να έκανε Requery ένα πράγμα! Μου φάνηκε περίεργη η συμπεριφορά και θα καθίσω να το ερευνήσω. Φίλε Νίκο (α ρε πατρίδα!), σ' ευχαριστώ πολύ για τα καλά σου λόγια! Τα παλικάρια όμως (ή μάλλον τα παρτάλια ) στο βίντεο δεν μου φαίνονται για Ηπειρώτες... Πιο πολύ για ουτσεκάδες μου κάνουν! Τα λέμε! Γιάννης
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |
#8
| ||||
| ||||
Φίλτατε Γιάννη σε χαιρετώ ! Περνώντας από Επταχώρι σύντομα - πρώτα ο πανμέγιστος! - θα ρωτήσω για αυτά τα πρόσωπα... (Καλού - κακού άλλαξα το video με κάποιο άλλο που σηκώνει ...πεθαμένους!!!) Ωχ! τι μπορεί να πάθουμε... Να είμαστε όλοι καλά. Νίκος Δ. |
#9
| |||
| |||
Γιάννη, καλημέρα Είδα τον κώδικα της εφαρμογής και σχημάτισα τη γνώμη ότι και στις δύο αναζητήσεις η αναζήτηση γίνεται με βάση την τιμή του cboCustomer (fldCustID). Επειδή οι τιμές του cboPhone καθορίζονται από τη στήλη 1 (fldCustID), μόλις επιλεγεί ένα τηλέφωνο ή τιμή του (fldCustID), από τον κώδικα, αποδίδεται στο cboCustomer (στη φόρμα φαίνεται η αλλαγή) και στη συνέχεια (χωρίς ρητή πυροδότηση του συμβάντος afterUpdate) γίνεται η αναζήτηση βάσει της τιμής του cboCustomer. Φιλικά/Γιώργος ΥΓ.Τα γράφω μπερδεμένα, ίσως να οφείλεται και στα κλαρίνα του Νίκου. |
#10
| ||||
| ||||
Δεσμευμένη στήλη σύνθετου πλαισίου
Καλησπέρα Γιώργο! Η αλήθεια είναι ότι με μπέρδεψες λίγο... Που αναφέρεσαι; Στον Τάσο Χαλκιά ή τον Πετρολούκα; Τελικά βρήκα σε τι οφείλεται το πρόβλημα με το cboPhone που ανέφερα παραπάνω. Η δεσμευμένη του στήλη είναι η 1 και επειδή οι τιμές αυτής της στήλης δεν είναι μοναδικές (στήλη fldCustID του πίνακα tblPhones) μετά από κάθε επιλογή, εμφανίζεται η πρώτη εγγραφή του επιλεγμένου πελάτη. Για παράδειγμα, οποιοδήποτε τηλέφωνο του Γεωργίου και να επιλέξουμε, στο σύνθετο πλαίσιο θα εμφανίζεται πάντα ο αριθμός 1123456789. Η λύση τελικά ήταν να δώσω στην ιδιότητα Δεσμευμένη Στήλη (Bound Column) την τιμή 0 (μηδέν) και το συμβάν AfterUpdate() άλλαξε σε: Κώδικας: Private Sub cboPhone_AfterUpdate() If Not IsNull(Me.cboPhone) Then Me.cboCustomer = Me.cboPhone.Column(0) End If ShowPhones End Sub Η δεσμευμένη στήλη των σύνθετων πλαισίων, πρέπει να έχει μοναδικές τιμές. Ομολογώ πως αυτήν την "παρενέργεια" δεν την είχα αντιμετωπίσει μέχρι τώρα αλλά στο μέλλον θα τη θυμάμαι, είτε για να την αποφεύγω, είτε για να την εκμεταλλευτώ. Να 'στε όλοι καλά! Γιάννης Υ.Γ. Νίκο, φαντάζομαι κατάλαβες ότι αστειευόμουν με το "ουτσεκάδες". Μην πας στο Επταχώρι και τους ρωτάς για περιστατικά εισβολής από τα βόρεια...!
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |
Ετικέτες |
bound, column, combobox, customer, default, field, phone, δεσμευμένη, λίστα, πελάτης, πλαίσιο, προεπιλογή, στήλη, στοιχεία, σύνθετο, τηλέφωνο |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
αναζητηση απο διαφορετικα πεδια. | grigoris1 | Access - Ερωτήσεις / Απαντήσεις | 14 | 05-02-16 12:15 |
Αναζήτηση σε πολλά πεδία | intefix | Access - Ερωτήσεις / Απαντήσεις | 2 | 22-02-15 19:06 |
[Γενικά] Συνάρτηση IF και αναζήτηση σε πεδία | anestaki | Excel - Ερωτήσεις / Απαντήσεις | 9 | 29-03-12 00:09 |
[Γενικά] Διαδοχικά Αθροίσματα | ΘΟΔΩΡΟΣ | Excel - Ερωτήσεις / Απαντήσεις | 10 | 10-02-12 00:40 |
[ Φόρμες ] Αναζήτηση σε πολλα πεδία | lammis | Access - Ερωτήσεις / Απαντήσεις | 10 | 13-04-11 12:59 |
Η ώρα είναι 07:10.