Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Διαδοχική ενημέρωση πεδίων

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 02-08-11, 12:38
Όνομα: Μιχάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-08-2011
Μηνύματα: 10
Προεπιλογή Διαδοχική ενημέρωση πεδίων

Χαίρετε και καλώς σας βρήκα μιας και είναι η πρώτη φορά που γράφω,


είμαι κάπως αρχάριος στην access, καθώς είναι η πρώτη φορά που τη χρησιμοποιώ.

Λοιπόν, αρχίζω:

έχω μία βάση η οποία έχει 9 πίνακες και τις αντίστοιχες φόρμες για κάθε πίνακα.

Οι πίνακες αποθηκεύουν δεδομένα για ένα πελάτη. Για παραδειγμα, η πρώτη φόρμα αποθηκεύει τα βασικά δεδομένα του πελάτη (ονομα, τηλεφωνο, αφμ κτλ), ενώ οι υπόλοιποι διάφορα άλλα όπως φορολογικά στοιχεία, οικογενειακά κτλ.

Ολοι οι πίνακες έχουν το ίδιο κλειδί, το οποίο είναι το ΑΦΜ.

Αυτο που θέλω να κάνω είναι οταν δημιουργώ μία νέα εγγραφή στον πίνακα με τα Βασικά στοιχεία, αυτόματα να δημιουργείται στους υπόλοιπους πίνακες μία νέα εγγραφή που το μόνο που θα περιέχει θα είναι το ΑΦΜ, δηλαδή το κλειδί. Δηλαδή θέλω το πεδίο του ΑΦΜ του πρώτου πίνακα, να αντιγράφεται σε όλους τους υπόλοιπους αυτοματα.


Παρότι υπάρχει η επιλογή όταν δημιουργείς σχέσεις μεταξύ πινάκων να ορίσεις "διαδοχική ενημέρωση σχετικών εγγραφών". Το έχω επιλέξει, δεν δουλεύει με το τρόπο που θέλω.
Δηλαδή, αν και δημιουργώ νέες εγγραφές μέσα από τη φόρμα, δεν δημιουργείται νέα εγγραφή στους άλλους πίνακες,

Υπάρχει κάποιος που να έχει μια ιδέα πως μπορεί να γίνει αυτο;

Ευχαριστώ εκ των προτέρων
Απάντηση με παράθεση
  #2  
Παλιά 02-08-11, 18:40
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Μιχάλη καλωσόρισες στο φόρουμ.
Υποθέτω ότι το «ΑΦΜ» είναι πρωτεύον κλειδί στον πίνακα με τα στοιχεία ταυτότητας του πελάτη (κύριο) και εξωτερικό κλειδί στους άλλους.
Αν υπάρχουν πίνακες με πρωτεύον κλειδί το «ΑΦΜ» θα είχαμε μία σχέση 1 προς 1 και μάλλον θα έπρεπε να συγχωνευτούν σ’ έναν.
Για να μπορέσουμε να αποθηκεύσουμε μία τιμή του «ΑΦΜ», που προσθέσαμε στο κύριο πίνακα και στους άλλους, θα πρέπει όλα τα άλλα πεδία τους να μη είναι απαιτούμενα.
Ένας τρόπος για να προστίθεται αυτόματα το «ΑΦΜ» και στον πίνακα πχ "table1" είναι να προσθέσουμε τη φόρμα του, ως δευτερεύουσα, στην κύρια φόρμα.
Έτσι αν δημιουργήσεις μία νέα εγγραφή στην κύρια φόρμα, όταν κάνεις κάποιες καταχωρήσεις στη δευτερεύουσα και αποθηκεύσεις την εγγραφή, θα αποθηκευτεί αυτόματα και το «ΑΦΜ», ενώ δεν καταχωρήθηκε.
Αν η εφαρμογή σου θα έχει περιορισμένα δεδομένα μπορείς να τοποθετήσεις στην κύρια φόρμα ένα στοιχείο ελέγχου καρτέλας και σε κάθε καρτέλα να προσθέσεις ως δευτερεύουσα μία από τις άλλες φόρμες.
Έτσι όλες οι φόρμες θα είναι συγκεντρωμένες σε μία σύνθετη.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #3  
Παλιά 02-08-11, 19:02
Όνομα: Μιχάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-08-2011
Μηνύματα: 10
Προεπιλογή

Γεια σου Γιώργο,

ναι σωστά υπέθεσες το ΑΦΜ είναι το πρωτεύον κλειδί. Και επίσης εκτός από το ΑΦΜ, όλα τα άλλα πεδία στους υπόλοιπους πίνακες δεν είναι υποχρεωτικά.

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


Παράθεση:
Έτσι αν δημιουργήσεις μία νέα εγγραφή στην κύρια φόρμα, όταν κάνεις κάποιες καταχωρήσεις στη δευτερεύουσα και αποθηκεύσεις την εγγραφή, θα αποθηκευτεί αυτόματα και το «ΑΦΜ», ενώ δεν καταχωρήθηκε.
Αυτο ακριβώς συμβαίνει αν κάνω μία καταχώρηση μέσω του πίνακα "Βασικά Στοιχεία" σε κάποιο άλλο πίνακα που είναι συνδεδεμένος μαζί του. Το θέμα είναι πως θα γίνει αυτό μέσω της φόρμας.


Έχεις καμία άλλη ιδέα εσύ ή κάποιος άλλος;
Απάντηση με παράθεση
  #4  
Παλιά 02-08-11, 20:11
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Μιχάλη, είναι πρωτεύον κλειδί σε όλους τους πίνακες ή μόνο σε ένα και στους υπόλοιπους εξωτερικό;

Τελευταία επεξεργασία από το χρήστη kapetang : 02-08-11 στις 23:04. Αιτία: Διόρθωση ονόματος
Απάντηση με παράθεση
  #5  
Παλιά 03-08-11, 12:06
Όνομα: Μιχάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-08-2011
Μηνύματα: 10
Προεπιλογή

Παραλειψή μου που δεν το διευκρίνησα.

Είναι πρωτεύον κλειδί σε όλους τους πίνακες.
Απάντηση με παράθεση
  #6  
Παλιά 03-08-11, 15:27
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.010
Προεπιλογή

Γεια σας!
Μιχάλη, καλωσόρισες στο φόρουμ!
Αν μπορούσες να χρησιμοποιήσεις την προσέγγιση του Γιώργου με κύρια φόρμα και υποφόρμες,
θα έφτανες ευκολότερα σε κάποιο αποτέλεσμα.

Σου επισυνάπτω ένα απλό παράδειγμα που περιέχει μια κύρια φόρμα και 8 υποφόρμες, μια σε κάθε καρτέλα του στοιχείου "Tab Control".
Ελπίζω να σε βοηθήσει εν μέρει.

Δες επίσης και την επαλήθευση ΑΦΜ.

Πληροφοριακά δες το μήνυμα: http://www.ms-office.gr/forum/access...ypoformas.html

καθώς και το μήνυμα: http://www.ms-office.gr/forum/access...-karteles.html

Διαφορετικά, θα μας βοηθούσε πολύ ένα δικό σου παράδειγμα όπου το ζητούμενο θα είναι πιο σαφές.

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb AccMoreSubForms1.mdb (488,0 KB, 98 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #7  
Παλιά 03-08-11, 17:48
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα

Μιχάλη, με τις οδηγίες του Τάσου δεν νομίζω να αντιμετωπίσεις πρόβλημα στη δημιουργία μιας σύνθετης φόρμας με πολλές δευτερεύουσες.
Πριν όμως φθάσεις εκεί θα πρέπει να επανεξετάσεις το σχεδιασμό της βάσης σου γιατί υπάρχουν σοβαρές ενδείξεις ότι δεν είναι σωστός.
Γράφεις ότι σ’ όλους τους πίνακες (9) το ΑΦΜ είναι πρωτεύον κλειδί.
Αν συμβαίνει αυτό όλοι οι πίνακες θα μπορούσαν να ενωθούν σε ένα και δε θα είχε νόημα και το ζητούμενο.
Αν υποθέσουμε ότι στη βάση σου υπάρχει ένας πίνακας με τις παραγγελίες των πελατών και ο πίνακας έχει πρωτεύον κλειδί το ΑΦΜ, επειδή για κάθε ΑΦΜ (πχ ΑΦΜ=12345789 του πελάτη ΧΧΧΧΧΧΧ) μπορεί να έχει μόνο μία εγγραφή, δε θα μπορείς να καταχωρείς τις παραγγελίες του που είναι πολλές.
Έχω την εντύπωση ότι μπερδεύεις το πρωτεύον κλειδί με το εξωτερικό (ξένο).
Τελειώνοντας σε συμβουλεύω, πριν αρχίσεις να σχεδιάζεις φόρμες, να μελετήσεις προσεκτικά το άρθρο: Βασικές αρχές σχεδίασης βάσης δεδομένων - Access - Office.com
και να ασχοληθείς περισσότερο με το σχεδιασμό της βάσης σου.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #8  
Παλιά 16-08-11, 13:41
Όνομα: Μιχάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-08-2011
Μηνύματα: 10
Προεπιλογή

Γεια σας,

σας ευχαριστώ για τις απαντήσεις σας, δεν είχα απαντήσει γιατί ήμουν σε διακοπές.

Τάσο, κοίταξα το αρχείο που είχες επισυνάψει, και άρχισα να διαμορφώνω και εγώ τη βάση μου στα πρότυπα του (μια φόρμα βασικη, οι άλλες δευτερευουσες).
Το επισυνάπτω για να το δείτε. Έχει ελλείψεις ακόμα και είναι σε πρώιμο στάδιο.

Αυτό που δεν μπορώ να κάνω αν και προσπαθώ από το πρωί είναι να εμφανίζεται ο χώρος της λεπτομέρειας της φόρμας. Παρότι στη σχεδίαση φαίνεται οκ, και η ιδιότητα ορατός είναι στο "ναι", μόλις πάω στη προβολή εξαφανίζεται και δεν φαίνονται τα πεδία που έχω βάλει εκεί μέσα.

Επίσης, έχω θέματα με την εμφάνιση των φορμών που έχω βάλει σε καρτέλες. Δεν μπορώ (επίσης και αυτό το παλεύω απο το πρωι) να κάνω κύλιση επάνω κάτω και για αυτό δεν μπορώ να εμφανίσω ολόκληρες τις φόρμες.

Ακόμα, δεν έχω φτιάξει κάποιο πίνακα στον οποίο να βάσιζεται η main_form. Θεωρείτε ότι χρειάζεται; Γιατί λογικά μπορώ να κάνω τη δουλειά μου και χωρίς αυτόν.

Τέλος, Γιώργο, μπορείς να ρίξεις μία ματιά στους πίνακες και στις σχέσεις μεταξύ τους; να μου πεις αν βλέπεις παραλείψεις ή λάθη.

Σας ευχαριστώ πολύ
Συνημμένα Αρχεία
Τύπος Αρχείου: zip SubFormsSolution.zip (414,8 KB, 40 εμφανίσεις)
Απάντηση με παράθεση
  #9  
Παλιά 16-08-11, 22:24
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα

Μιχάλη,
Ο Τάσος σε έδωσε μια λύση, στην οποία εσύ δεν είχες παρά μόνο να αλλάξεις τα ονόματα των πινάκων και να προσθέσεις επιπλέον πεδία. Εκεί ο Τάσος χρησιμοποιεί μια σχέση μεταξύ των πινάκων ενα προς πολλά. Όμως εσύ μας παρουσιάζεις σχέσεις μεταξύ των πινάκων Ενα προς Ενα αφού, συνδέεις δυο πίνακες μέσω πρωτευόντων κλειδιών. Αυτό απλά σημαίνει-για παράδειγμα- ότι σε ένα πρόσωπο αντιστοιχεί ΜΙΑ μισθολογική εγγραφή!
Ξεκαθάρισε τι θες. Κάθε εφαρμογή Access έχει δυο πυλώνες: Σχεσιακή βάση και διαχείριση βάσης. Ο Γιώργος παρεμβαίνει τονίζοντας να μελετήσεις την Σχεσιακή βάση. Χωρίς σωστή βάση δεδομένων δεν μπορείς να έχεις διαχείριση. Πάρε λοιπόν χαρτί και μολύβι και δες τον τύπο της σύνδεσης που θέλεις μεταξύ των πινάκων (Από ότι βλέπω προσανατολίζεσαι σε ένα κεντρικό πίνακα και γύρω απο αυτόν 5-6 περιφερειακοί)
...Τα προβλήματα που αντιμετωπίζεις σχετικά με το τι βλέπεις και τι θα έπρεπε να βλέπεις, έχουν σχέση με υπερμεγέθεις διαστάσεις που έχεις δώσει στις υποφόρμες σου, με το γεγονός ότι χρησιμοποιείς μονή κύρια φόρμα που απαιτεί χώρο για να αναδείξει τα περιεχόμενά της, με το γεγονός οτι οι υποφόρμες και κύρια φόρμα δεν συνδέουν τα δεδομένα,...

Αυτά...
Με εκτίμηση
Νίκος Δ.

Τελευταία επεξεργασία από το χρήστη Meteora : 16-08-11 στις 22:54.
Απάντηση με παράθεση
  #10  
Παλιά 17-08-11, 15:12
Όνομα: Μιχάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-08-2011
Μηνύματα: 10
Προεπιλογή

Καλησπέρα,

Νίκο, τόνισα από την αρχή ότι είμαι αρχάριος στην access, και συμπληρώνω τώρα ότι είμαι αρχάριος γενικά, καθώς είναι η πρώτη δουλειά που αναλαμβάνω και δεν διαθέτω εμπειρία. Συνεπώς από εκεί προέρχονται τα λάθη, τα οποία με τη βοήθεια από εδώ πιστεύω θα λύσω.

Η λύση του Τάσου είναι όπως ξαναείπα μια χαρά, για αυτό και την ακολούθησα. Όμως έπρεπε να αλλάξω μερικά πράγματα για να τη φέρω στα μέτρα μου. Αλλά δεν πιστεύω ότι θα άλλαζε κάτι αν τροποποιούσα τα ονόματα των πινάκων και πρόσθετα επιπλέον πεδία. Πάλι τα ίδια προβλήματα θα προέκυπταν, αφού θα δημιουργούνταν πάλι οι ίδιοι πίνακες.

Έχεις δίκιο ότι η σχεσιακή βάση έχει λάθη. Σε ευχαριστώ για τις επισημάνσεις. Χάρη σε αυτές έκανα και τις απαραίτητες διορθώσεις. Άρα το κρατάμε αυτό.

Παράθεση:
(Από ότι βλέπω προσανατολίζεσαι σε ένα κεντρικό πίνακα και γύρω απο αυτόν 5-6 περιφερειακοί)
Ναι, προσανατολίζομαι σε ένα κεντρικό πίνακα και γύρω απο αυτόν 5-6 περιφερειακούς.

Παράθεση:
έχουν σχέση με υπερμεγέθεις διαστάσεις που έχεις δώσει στις υποφόρμες σου,
Η υλοποίηση του Τάσου ήταν εντάξει, γιατί τα πεδία ήταν λίγα σε κάθε υποφόρμα. Όμως όπως θα είδες, τα πεδία που βρίσκονται στις φόρμες είναι αρκετά, συνεπώς αν μικρύνω τις γραμματοσειρές και γενικά τα μεγέθη των πεδίων, δεν θα είναι καθόλου ευκρινείς οι φόρμες. Και αυτό το θεωρώ σημαντικό. Οπότε αυτό δεν μπορώ να το αλλάξω.

Ανακεφαλαιώνοντας, με αυτές τις διαστάσεις στις υποφόρμες πιστεύεις ότι υπάρχει τρόπος να είναι ορθή η απεικόνιση;
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Φόρμες ] Ενημέρωση δύο πεδίων από σύνθετο πλαίσιο gmax Access - Ερωτήσεις / Απαντήσεις 4 02-10-12 19:22
[ Φόρμες ] Αυτόματη ενημέρωση πεδίων φόρμας ypanagis Access - Ερωτήσεις / Απαντήσεις 8 25-06-12 13:50
[ Υποφόρμες ] Διαδοχική Ενημέρωση stelianta Access - Ερωτήσεις / Απαντήσεις 2 23-02-12 12:38
Ενημέρωση πεδίων από δευτερεύουσα φόρμα gmax Access - Ερωτήσεις / Απαντήσεις 11 08-08-11 11:07


Η ώρα είναι 00:33.