Καλημέρα σε όλους,
Πρώτη φορά χρησιμοποιώ access και έχω μία ερώτηση:
Έχω δημιουργήσει μία βάση με 6 πίνακες, και 6 φόρμες για κάθε ένα από τους πίνακες.
Αυτό που θέλω να κάνω είναι όταν γίνεται αναζήτηση για παράδειγμα για ένα πελάτη, με βάση τον κωδικό του, να εμφανίζονται τα δεδομένα και από τους 6 πίνακες που σχετίζονται με αυτό τον πελάτη, στις φόρμες.
Ελπίζω να είναι κατανοητή η ερώτηση. Όποια βοήθεια ευπρόσδεκτη
Εμφάνιση 1-15 από 21
-
05-05-11, 12:04 Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #1
-
06-05-11, 08:32 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #2
Βασικά αυτό που πρέπει να μάθεις (και όχι μόνο αποσπασματικά είναι λιγο θεωρία βάσεων δεδομένων και κλειδιών βάσης (πρωτευοντα - δευτερέυοντα (primary, foreign keys)) τότε θα μπορέσεις να δεις πόσο εύκολο είναι να προσδιορίσεις δεδομένα ενός πράγματος σε πολλύς πίνακες μιας βδ.
Sent From My Computer Using Firefox
-
06-05-11, 09:46 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #3
Αυτό που θέλεις δεν γίνεται με ανεξάρτητες φόρμες.
Ένας τρόπος είναι να βάλεις μία φόρμα με τα στοιχεία που θέλεις να δεις σαν "υποφόρμα" στην φόρμα των πελατών και να συδέσεις τις δύο (δηλ. κύρια & υποφόρμα) στο πεδίο του πελάτη (κωδικό ή όνομα , ότι έχεις).
Έτσι όταν επιλέγεις πελάτη στην κύρια φόρμα, η υποφόρμα θα δείχνει τις εγγραφές για τον επιλεγμένο πελάτη.
Αν ανοίξεις την φόρμα σε Design θα δεις το ειδικό control για υποφόρμες, το βάζεις στην φόρμα σου και μετά παρουσιάζεται wizard που θα σε καθοδηγήσει σε ότι χρειάζεται.
Υπάρχουν και άλλοι τρόποι, αλλά απαιτούν πιο περίπλοκη εκτέλεση και περισσότερες γνώσεις.
-
06-05-11, 12:26 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #4
vasim, έχω γνώσεις σχετικά με βάσεις δεδομένων. ΟΙ συσχετίσεις έχουν γίνει μεταξύ των πινάκων. Το πρόβλημα είναι να καταφέρω να εμφανίζονται τα αποτελέσματα του Sql ερωτήματος σε 6 διαφορετικές φόρμες.
Gitane, έχω δει ένα παράδειγμα με υποφόρμες. Σε ευχαριστώ πολύ για την προσπάθεια, αλλά δεν γίνεται στην περίπτωση μου να χωρέσουν τόσα δεδομένα από τόσους πίνακες σε μία υποφόρμα.
Θα εξηγήσω λίγο καλύτερα τι θέλω να κάνω μήπως και βοηθήσει:
Έχω ένα πελάτη, και θέλω σε ένα πίνακα να αποθηκεύονται δεδομένα σχετικά με τα προσωπικά του στοιχεία. σε άλλο πίνακα τα οικονομικά, κτλ.
θέλω τώρα σε μία αρχική φόρμα, να θέτω το ΑΦΜ του πελάτη, και να "φορτώνονται" σε όλες τις φόρμες (δηλαδή στα οικονομικά στοιχεία, στα προσωπικά κτλ) τα στοιχεία του κάθε πελάτη.
gitane, οι άλλες λύσεις που υπάρχουν μήπως περιέχουν και VB?
Αν έκανα 6 διαφορετικά SQL ερωτήματα, τα οποία θα παίρνουν το ΑΦΜ και θα το εμφανίζουν το καθένα σε κάθε φόρμα το αποτέλεσμα, θα ήταν σωστό; Μπορεί να γίνει;
-
06-05-11, 12:37 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #5
Υποθέτοντας ότι το ΑΦΜ είναι το κλειδί σε όλες τις φόρμες τότε θα πρέπει στο AfterUpdate event του textbox όπου εισάγεται το ΑΦΜ στην 1η φορμα να προσθέσεις κώδικα VBA για να "γυρίζουν"αυτόματα όλες οι φόρμες.
Αν θυμάμαι καλά και υποθέτωντας ότι:
Οι φόρμες είναι Form1, Form2, Form3 κτλ. Το πεδίο είναι το AFM (text). Το textbox στην κύρια φόρμα είναι το txtFindAFM...
ο κώδικας στο Private Sub txtFindAFM_AfterUpdate είναι:
Κώδικας:Forms!Form2.Recordset.FindFrst "AFM='" & txtFindAFM & "'" Forms!Form3.Recordset.FindFrst "AFM='" & txtFindAFM & "'"
Τελευταία επεξεργασία από το μέλος yiapap : 06-05-11 στις 14:10. Αιτία: auto merged post
Όσο πιο βαθιά βάζουν το χέρι οι εταίροι στις τσέπες μας, τόσο πιο κοντά φθάνουν στα @@ μας
-
06-05-11, 15:47 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #6
Αλλιώς, μπορείς να βασίσεις τις υπόλοιπες φόρμες σε queries, όπου στο πεδίο του ΑΦΜ θα βάλεις κριτήριο το πεδίο ΑΦΜ της φόρμας 1:
Κώδικας:[Forms]![Form1]![txtFindAFM]
Κώδικας:Form2.Requery Form3.Requery .....
-
06-05-11, 15:57 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #7
-
18-06-11, 21:24 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #8
Σας ευχαριστώ πάρα πολύ για την βοήθεια, δεν απάντησα νωρίτερα γιατί λόγω έκτακτων περιστατικών την άφησα την βάση.
Τέλος πάντων, τώρα προσπαθώ να την κάνω. Ακολούθησα την πρώτη μέθοδο, αυτή που κάνει χρήση της ιδιότητας Recordset.
Δεν ξερω αν τελικα εσεις προτείνετε κάποια από τις άλλες δύο ως καλύτερη λύση, δεν υπάρχει κάποιος συγκεκριμένος λόγος που επέλεξα αυτή τη λύση έναντι των άλλων.
Το πρόβλημα ειναι οτι δεν 'γυρίζουν' οι φόρμες.
Και επειδή δεν έχω επαφή καθόλου ακόμα με την access, δεν μπορώ να βρω το γιατί.
Εχω επισυνάψει το αρχείο της Access στο μήνυμα, μήπως και βοηθήσει στην εξεύρεση λύσης.
Το αρχείο έχει δύο φόρμες, μία αρχική, όπου και χρησιμποιώ την recordset, και μία φόρμα με βασικα στοιχεια κάθε χρηστη. Το πρόβλημα ειναι οτι οταν βαζω δοκιμαστικες τιμες στο ΑΦΜ πεδιο, η φόρμα BASIKA_STOIXEIA δεν 'γυρίζει'.
Μπορεί κάποιος να με βοηθήσει;
-
27-06-11, 15:53 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #9
Γεια, δοκιμάζω όλους τους τρόπους που προτείνατε. Το κακο ειναι οτι ειμαι ασχετος με την access και κολλάω στο παραμικρό.
Ακούστε τώρα πρόβλημα. Δοκιμάζω τη λύση με τα queries, και θετω ως κριτήριο στο πεδιο του ΑΦΜ το πεδίο ΑΦΜ της φόρμας 1. Ομως εμφανιζεται ενα pop-up παραθυρο με τίτλο [Forms]![Form1]![txtFindAFM]
Προφανώς αυτό ειναι κάποια ενσωματωμένη λειτουργία της access. Αλλα εγώ δεν θέλω αυτο. Θέλω απλα να χρησιμοποιώ το textbox για να μπαίνει το ΑΦΜ του πελατη που αναζητάμε. Μπορεί κάποιος να με βοηθήσει; Γιατι έκανα ακριβώς αυτά που λέει το μήνυμα. Και βρίσκομαι σε απελπισία καλοκαιριάτικα
-
27-06-11, 15:56 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #10
Παράθεσε τον κώδικα SQL
<edit>
Επίσης το πεδίο AFM λογικά είναι text. Άρα στον κώδικα πρέπει να γράψεις κάτι σαν:
WHERE Customers.AFM= "'" & Forms!Form1!txtAFM & "'"
δηλαδή να "περικλείσεις" την τιμή του txtAFM γύρω από single quotes 'Όσο πιο βαθιά βάζουν το χέρι οι εταίροι στις τσέπες μας, τόσο πιο κοντά φθάνουν στα @@ μας
-
27-06-11, 20:02 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #11
-
27-06-11, 21:36 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #12
Ορίστε ο κώδικας SQL:
Κώδικας:SELECT [BASIKA STOIXEIA].ARITHMOS_FAKELOU, [BASIKA STOIXEIA].AFM, [BASIKA STOIXEIA].DOY, [BASIKA STOIXEIA].[KODIKOS DOY], [BASIKA STOIXEIA].EPONYMIA, [BASIKA STOIXEIA].EPONYMO, [BASIKA STOIXEIA].ONOMA, [BASIKA STOIXEIA].PATRONYMO, [BASIKA STOIXEIA].DIEYTHINSH, [BASIKA STOIXEIA].ARITHMOS, [BASIKA STOIXEIA].POLH, [BASIKA STOIXEIA].TK, [BASIKA STOIXEIA].XORA, [BASIKA STOIXEIA].THLEFONO1, [BASIKA STOIXEIA].THLEFONO2, [BASIKA STOIXEIA].KINHTO, [BASIKA STOIXEIA].FAX, [BASIKA STOIXEIA].EMAIL, [BASIKA STOIXEIA].BIRTHDATE, [BASIKA STOIXEIA].TAYTOTHTA, [BASIKA STOIXEIA].DIABATHRIO, [BASIKA STOIXEIA].ARITHMOSTAYTOTHTAS, [BASIKA STOIXEIA].PUBLISHEDDATE, [BASIKA STOIXEIA].EKDARXH FROM [BASIKA STOIXEIA] WHERE ((([BASIKA STOIXEIA].AFM)=[Forms]![ARXIKH]![txtFindAFM]));
δηλαδή να "περικλείσεις" την τιμή του txtAFM γύρω από single quotes '
-
28-06-11, 10:43 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #13Όσο πιο βαθιά βάζουν το χέρι οι εταίροι στις τσέπες μας, τόσο πιο κοντά φθάνουν στα @@ μας
-
29-06-11, 21:07 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #14
ΥiapΥiap χιλια ευχαριστώ για την απάντηση. Αλλα και πάλι βγαίνει αυτο το αναθεματισμένο το pop-up. Σκεφτομαι ότι δεν ειναι κομψο να πετάγονται pop-up και τέτοια. Εγω απλά θέλω να έχει ένα text-box για search, εκεί μεσα να βάζει το ΑΦΜ του πελάτη, και αν τελικα το ΑΦΜ υπάρχει να γυρίζουν οι υπόλοιπες φόρμες.
Αλλα το pop-up επιμένει. Υπάρχει κατι άλλο που μπορω να κάνω;
Επίσης, μήπως για να γυρίζουν οι φόρμες χρειάζεται να προσθέσω κάποιο κουμπί; Η το requery ειναι αρκετό;
Η χαρά του sql injection.
??? Ποιός θα κάνει inject?
Σου επισυνάπτω το αρχείο,μήπως βοηθήσει την κατάσταση.Τελευταία επεξεργασία από το μέλος gantzinis : 29-06-11 στις 21:13.
-
30-06-11, 10:28 Απάντηση: Αναζήτηση εγγραφής και εμφάνιση σε φόρμες στην Access 2007 #15
1. Η φόρμα πρέπει να είναι ανοιχτή και η τιμή του ΑΦΜ συμπληρωμένη ώστε να δουλέψει το query. Εδώ πρέπει επίσης να προσέξεις το ΠΟΤΕ η τιμή στο textbox ενημερώνεται. Για να "πάρει" η φόρμα την τιμή που πληκτρολογείς ή πρέπει να κάνεις save record ή τουλάχιστον να μετακινηθείς εκτός του αντικειμένου στο οποίο αλλάζεις την τιμή (με TAB ή click σε άλλο αντικείμενο). Στη φόρμα που έχεις υπα΄ρχει μόνο το textbox και άρα... δεν μπορείς να μετακινηθείς! Βάλε ένα κουμπί και δώσε στον κώδικα Click() DoCmd.OpenQuery "blahblah" (το όνομα του query που διαβάζει τη φόρμα)
2. Όταν σε όλα τα αντικείμενα δίνεις το ίδιο όνομα... θα δυσκολευτείς μετά να συντηρήσεις τον κώδικα
3. Το AΦΜ στον πίνακα το είχες δηλώσει ως αριθμό που είναι λάθος γιατί πολλά ΑΦΜ ξεκινάνε από 0 άρα δεν θα μπορέσεις να δουλέψεις έτσι.
4. Τα "'" που πρότεινα δεν φαίνεται να δουλεύουν στην ACC2007 ακόμη και σε text πεδία. Δοκίμασε και με και χωρίς εισαγωγικά.
5. Το Requery είναι αρκετό όταν αλλάζει το DataSourceΌσο πιο βαθιά βάζουν το χέρι οι εταίροι στις τσέπες μας, τόσο πιο κοντά φθάνουν στα @@ μας
Παρόμοια Θέματα
-
Εμφάνιση της ημερομηνίας και ώρας εγγραφής του video κατά την αναπαραγωγή ενός DVD
Από kblar στο φόρουμ Audio, Video και ΦωτογραφίαΜηνύματα: 0Τελευταίο Μήνυμα: 11-10-10, 10:34 -
Εμφάνιση αποτελεσμάτων στην αναζήτηση
Από Kotsolis στο φόρουμ Η Γνώμη σαςΜηνύματα: 2Τελευταίο Μήνυμα: 21-02-09, 14:18 -
smplayer και εμφάνιση chapter στην οθόνη
Από delta9 στο φόρουμ Unix - LinuxΜηνύματα: 0Τελευταίο Μήνυμα: 02-02-09, 13:34 -
Ομορφη εμφανιση εγγραφης μεσω απλου HTML
Από mookie στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 3Τελευταίο Μήνυμα: 22-06-07, 23:30 -
4 MB jpegs και δυσκολιες στην εμφανιση τους..
Από Vadur στο φόρουμ Audio, Video και ΦωτογραφίαΜηνύματα: 6Τελευταίο Μήνυμα: 27-03-04, 18:57
Bookmarks