| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| ||||
| ||||
|
Σωκράτη... Δεν είναι σωστό να έχεις όλα τα στοιχεία σε ένα πίνακα, αφού κάποια αφορούν πρόσωπο, κάποια σκάφος και κάποια άδεια (τίνος ; του σκάφους ή του προσώπου) Υπάρχουν πεδία που δεν καταλαβαίνω τί σημαίνουν... Δεν ειναι σωστό να ανεβάζεις μια εφαρμογή -ζητώντας υποστήριξη και ο μοναδικός πίνακας να είναι σχεδόν άδειος σε πεδία που ζητάς αναζήτηση ή να έχει ως περιεχόμενο το "q" σε διαφορετικά & άσχετα μεταξύ τους πεδία ! Δείχνει προχειρότητα και όχι μόνο... ...Ας δούμε προτάσεις και από άλλα μέλη... Φιλικά / Νίκος Δ. Τελευταία επεξεργασία από το χρήστη Meteora : 24-02-11 στις 20:07. |
|
#2
| |||
| |||
| Παράθεση:
Για αυτο εκανα 1 μεγαλο πινακα με φορμες και υποφορμες. Τι προτεινεις? Δεν εχω κανενα προβλημα να το αρχισω απο την αρχη, αν μου προτεινεις ενα πιο "σωστο" τροπο δομησης. Ευχαριστω. Υ.Γ. Δεν θελησα να σας προσβαλω με το q που επισημανες. |
|
#3
| |||
| |||
|
Καλημέρα TASOS Πολυ καλο το προγραμματακι accsearchform Το εβαλα σε μια εφαρμογη να κανει αναζητηση σε 7000 περιπου εγγραφες αλλα ο κερσορας δεν μετακινιοταν στον επομενο χαρακτηρα παρεμενε στην ιδια θεση. Οταν διεγραψα 2000 περιπου εγγραφες δουλεψε κανονικα. Καμμια λύση??????? Ευχαριστω Φιλικα Γρηγορης |
|
#4
| ||||
| ||||
|
Καλημέρα Γρηγόρη! Η λογική που έχω εφαρμόσει στο παράδειγμα μου είναι να μην μπορεί ο χρήστης να συνεχίσει να πληκτρολογεί στο πεδίο της αναζήτησης (δεν θα έχει νόημα) όταν με το ηδη πληκτρολογημένο περιεχόμενο δεν βρεθούν εγγραφές δηλ. όταν το αποτέλεσμα είναι 0 εγγραφές. Για παράδειγμα: Έστω ότι πληκτρολογείς τη λέξη "παπα". Η αναζήτηση ελέγχει πρώτα με τη συνάρτηση DCount() αν στο ερώτημα (to Recordset της φόρμας() υπάρχουν εγγραφές που περιέχουν τη λέξη "παπα" και αν η τιμή της DCount() είναι μεγαλύτερη από 0 τότε συνεχίζει στην εφαρμογή φίλτρου. Διαφορετικά, αν η τιμή της DCount() είναι 0 τότε σου περνάει την αμέσως παλαιότερη τιμή του πεδίου και δεν συνεχίζει στην εφαρμογή φίλτρου αφού δεν θα επιστρέψει κάποιες εγγραφές. Αυτός ο έλεγχος γίνεται κάθε φορά που πληκτρολογείς ένα χαρακτήρα στην αναζήτηση. Με απλά λόγια: Αν πληκτρολογήσεις ένα επιπλέον χαρακτήρα στο πεδίο αναζήτησης που θα δεν θα προκαλέσει την επιστροφή έστω και μιας εγγραφής, ο χαρακτήρας αυτός αφαιρείται. Θα σου πρότεινα επίσης να ελέγξεις αν έχεις κάνει τις κατάλληλες προσαρμογές στον κώδικα και στο ερώτημα. Δεν έχει να κάνει με το πλήθος των εγγραφών. Εμπειρικά να αναφέρω ότι ακόμα και σε 50.000 εγγραφές, η ταχύτητα αναζήτησης τρομερά γρήγορη. Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 26-02-11 στις 13:29. |
|
#5
| |||
| |||
|
Τάσο έχω πάθει πλάκα.... ΦΟΒΕΡΟΟΟΟ Το είχα δει σε μία εφαρμογή και το ζήλεψα, αλλά δεν μπορούσα να βρω πως γίνεται. Ευθύς το ενσωματώνω σε μία εφαρμογή που έχω σε εξέλιξη. Νάσαι πάντα καλά. Με εκτίμηση Φώτης. ΥΓ: Μετά από 30 λεπτά περίπου, πραγματοποιήθηκε η ενσωμάτωση και στην δική μου εφαρμογή και δουλεύει τέλεια. Τελευταία επεξεργασία από το χρήστη fkonstas : 24-02-11 στις 23:34. |
|
#6
| ||||
| ||||
|
Καλημέρα σε όλους! Νίκο, Φώτη, χαίρομαι που σας άρεσε! Να είστε καλά και καλή συνέχεια! Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#7
| ||||
| ||||
|
Καλησπέρα Αγαπητέ Σωκράτη, δεν ήταν ιδιαίτερα δύσκολο σε μένα για να κάνω αυτό που ζήτησες. Όμως ή εφαρμογή που κάνεις δεν είναι σωστή και έτσι δεν θέλησα εξ αρχής να δώσω την λύση που επιθυμείς. Βλέπω όμως ότι επιμένεις -μέσω δεύτερης ανάρτησης- στο ίδιο ζήτημα! Λοιπόν : Φόρμα menuepilogwn ---> ΑΝΑΖΗΤΗΣΗ ΑΤΟΜΙΚΩΝ ΣΤΟΙΧΕΙΩΝ ----> Αναζήτηση με ΑΦΜ ---> Επέλεξε όποιο θες και πάτησε enter ! Δες οτι αντικατέστησα μια μακροεντολή (δεν τα πάω καλά με αυτές) μια μια γραμμή κώδικα vba. Μια μακροεντολή που υπήρχε στο συμβάν AfterUpdate του σύνθετου πλαισίου με Label "Αναζήτηση με ΑΦΜ:", στο οποίο -συνθετο πλαίσιο- έδωσα όνομα combo1 Μη διστάσεις, όπου έχεις δυσκολίες να ρωτήσεις... Καλό απόγευμα Νίκος Δ. |
|
#8
| |||
| |||
|
Καλησπέρα Σωκράτη, όπως επισήμανε και ο Νίκος δεν είναι σωστό να έχεις όλα τα στοιχεία σου σ’ ένα πίνακα. Ειδικά στην περίπτωσή σου, που κάθε ιδιοκτήτης μπορεί να έχει πολλά σκάφη και κάθε σκάφος πολλούς ιδιοκτήτες ,η διαίρεση του πίνακα σε περισσότερους είναι επιβεβλημένη. Για την υλοποίηση μιας σχέσης πολλά προς πολλά απαιτείται η δημιουργία ενός ενδιάμεσου πίνακα με τη βοήθεια του οποίου η σχέση πολλά προς πολλά μετατρέπεται σε δύο σχέσεις 1 προς πολλά. Η βάση δεδομένων που επισυνάπτω δείχνει αδρά πως μπορούμε να διαχειριστούμε μια σχέση πολλά προς πολλά. Περιέχει: 1) Τον πίνακα «tblIdioktites» με πρωτεύον κλειδί το πεδίο «IdioktitisID», που περιέχει τα στοιχεία των ιδιοκτητών σκαφών. 2) Τον πίνακα «tblSkafi» με πρωτεύον κλειδί το πεδίο «SkafosID», που περιέχει τα στοιχεία των σκαφών. 3) Τον ενδιάμεσο πίνακα «tblIdioktitesSkafι» με σύνθετο πρωτεύον κλειδί αποτελούμενο από τα ξένα κλειδιά «IdioktitisID» και «SkafosID». Αν ανοίξεις τις σχέσεις των πινάκων θα δεις πως οι 3 πίνακες συνδέονται και πως η σχέση πολλά προς πολλά υλοποιήθηκε με δύο σχέσεις 1 προς πολλά. 4) το ερώτημα «qryIdioktitesSkafι» εμφανίζει ενωμένα όλα τα δεδομένα σα να είχαμε ένα πίνακα. 5) Τη φόρμα «frmIdioktitesSkafiALL» περιέχει ένα χειριστήριο καρτέλας (Tab). Η πρώτη καρτέλα «Ιδιοκτήτες» παρουσιάζει για κάθε ιδιοκτήτη τα σκάφη του. Σ’ αυτήν μπορούν να προστεθούν ιδιοκτήτες και να επιλεχθούν τα σκάφη που έχουν. Η δεύτερη καρτέλα «Σκάφη» παρουσιάζει για κάθε σκάφος τους ιδιοκτήτες του. Σ’ αυτήν μπορούν να προστεθούν σκάφη και να επιλεχθούν οι ιδιοκτήτες τους. 6) Οι υπόλοιπες φόρμες είναι βοηθητικές. Με λίγη προσπάθεια θα μπορούσες να εφαρμόσεις το παραπάνω σχήμα στη βάση σου. Πιστεύω ότι με την ανάγνωση του άρθρου: Βασικές αρχές σχεδίασης βάσης δεδομένων - Access - Microsoft Office θα κατανοούσες καλύτερα πως γίνεται η κατανομή των δεδομένων σε πίνακες και τις σχέσεις τους. Φιλικά/Γιώργος ΥΓ. Φίλε Νίκο φαίνεται ότι δουλεύαμε ταυτόχρονα Τελευταία επεξεργασία από το χρήστη kapetang : 25-02-11 στις 18:26. Αιτία: προσθήκη συνδέσμου, αλλαγή συνημμένου |
|
#9
| |||
| |||
| Παράθεση:
Γειά σας. Είδα και εγώ αυτό που έχει φτιάξει ο Τάσος και διάβασα και το δικό σου μήνυμα και θα ήθελα να ρωτήσω πως γίνεται να το ενσωματώσω και εγώ. Αλλάζω τίποτα στο κωδικό, το κάνω αποκοπή και επικόλληση;;; Θα ήθελα μια αναλυτική απάντηση. Σας ΕΥΧΑΡΙΣΤΩ |
|
#10
| |||
| |||
| Παράθεση:
Thename: ReplaceTones(nz([AFM];"") & nz([LastName];"")) Στη θέση του Thename θα βάλεις το όνομα που θέλεις να έχει η στήλη σου και ό,τι βρίσκεται ανάμεσα σε αγκύλες [ ] είναι ονόματα πεδίων (εννοείται πως θα χρησιμοποιήσεις τα δικά σου) Φιλικά, Μάρω |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| Βοήθεια access (sum) !!!! | ssfatommy | Access - Ερωτήσεις / Απαντήσεις | 2 | 11-05-14 21:14 |
| ΑΝΑΖΗΤΗΣΗ ΜΕΣΩ access | tzvangel | Access - Ερωτήσεις / Απαντήσεις | 1 | 30-04-14 08:12 |
| [Excel07] Βοήθεια με αναζήτηση | sotisanis | Excel - Ερωτήσεις / Απαντήσεις | 14 | 24-12-13 12:30 |
| Αναζήτηση αριθμών - ερώτημα access | kirillos | Access - Ερωτήσεις / Απαντήσεις | 2 | 16-01-12 13:18 |
| Βοήθεια για Access | ΝΙΚΟΣ | Access - Ερωτήσεις / Απαντήσεις | 7 | 04-04-09 08:49 |
Η ώρα είναι 18:32.



Υβριδικός τρόπος

