Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Πρόβλημα με εισαγωγή δεδομένων μεταξύ δύο βάσεων

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 01-04-15, 16:27
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή Πρόβλημα με εισαγωγή δεδομένων μεταξύ δύο βάσεων

Καλησπέρα σε όλη την παρέα,

Αντιμετωπίζω ένα σοβαρό θέμα και θα εκτιμούσα αν κάποιος φίλος από το φόρουμ μπορεί να βοηθήσει

Έχω λοιπόν μια παλιά βάση με αρκετούς πίνακες, φόρμες κλπ η οποία έχει αρκετούς πελάτες μέσα με τα ραντεβού επισκέψεων ο καθένας. Δηλαδή, υπάπχει ο tblCustomers σε σχέση ένα προς πολλά (one2many) με τον πίνακα tblApp.

Η συγκεκριμένη βάση χρονολογείται από το 2005 περίπου και είναι δημιουργημένη σε access 2003. Μετά από φιλική προτωβουλία ανέλαβα εξαρχής τον επανασχεδιασμό και αναβάθμιση της εν λόγω βάσης για να βοηθήσω τον φίλο και δημιουργό της βάσης...(καταλαμβαίνετε εύχομαι...και δωρεάν και "μπερδέματα" κιόλας)

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

Το πρόβλημα όμως τώρα είναι ότι οι κωδικοί πελάτη και κωδικοί ραντεβού συγκρούωνται μεταξϋ των δεδομένων των δύο βάσεων, εφόσον γίνει εισαγωγή των δεδομένων από την παλιά βάση στην νέα. Δηλαδή, CmrNo 1:Γιώργος στην νέα βάση και ο ίδιος κωδικός πελάτη στην παλιά είναι άλλος πελάτης πχ. CmrNo:1 Κώστας. Εννοείται ότι με αυτή την λογική είναι και τα ραντεβού των πελατών και αυτό ουσιαστικά είναι και το μεγαλύτερο θέμα

Παρακαλώ τις ιδέες σα
Ευχαριστώ εκ προτέρων
Απάντηση με παράθεση
  #2  
Παλιά 02-04-15, 08:36
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλημέρα

Παλιά βάση : Πέρασε τους πίνακες σε μια νέα , με περιεχόμενο ΜΟΝΟ τους δυο πίνακες. Σύνδεσέ τους με τη σχέση 1:Ν και δώσε χαρακτήρα στη σύνδεση "ενεργοποίηση ακεραιότητας αναφορών" και "διαδοχική ενημέρωση σχετικών εγγραφών". Είτε μια-μια είτε με VBA , μπορείς να δώσεις νέους κωδικούς στις εγγραφές του master πίνακα και αυτές -φυσιολογικά θα περάσουν και στον sub πίνακα. Έτσι πιστεύω.
Νέα βάση : Ξανά το ίδιο...

Αφού πλέον οι πίνακες περιέχουν διαφορετικούς κωδικούς, μπορεί να γίνει ένωση.

Γιώργο, εγώ έτσι θα δούλευα...

Με εκτίμηση / Νίκος
Απάντηση με παράθεση
  #3  
Παλιά 02-04-15, 09:21
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλημέρα Νίκο μου

Με σώζεις φίλε μου με την προτεινόμενη λύση αλλά δεν έχω ποτέ δοκιμάσει κάτι ανάλογο.. Θα μπορούσες αν είναι εφικτό να ανεβάσεις ένα αντίστηχο παράδειγμα της λύσης που προτείνεις?

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

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

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

Κατά τη γνώμη μου θα πρέπει να διακρίνουμε 2 περιπτώσεις:

1) Οι παλιοί πίνακες δεν έχουν πελάτες και ραντεβού που έχουν καταχωρηθεί και στους αντίστοιχους νέους.

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

2) Κάποιοι πελάτες και ραντεβού υπάρχουν και στους παλιούς και στους νέους πίνακες.

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

Η ανεύρεση αυτών των εγγραφών εξαρτάται από τα στοιχεία που τηρούνται.

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

Κάτι ανάλογο θα πρέπει να σκεφθούμε και για τα ραντεβού.
Από τους παλιούς πίνακες πρώτα θα πρέπει να διαγραφούν τα ραντεβού και μετά οι πελάτες.

Παρατήρηση:

Γιώργο ζητάς από το Νίκο να ανεβάσει ένα παράδειγμα.
Δε θα έπρεπε εσύ να ανεβάσεις μια ΒΔ με τους 4 πίνακες;

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #5  
Παλιά 03-04-15, 01:33
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

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

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

Στην βάση "OldDatabase" υποτίθεται πως βρίσκονται τα δεδομένα τα οποία θα πρέπει να μπουν στην δεύτερη βάση με όνομα NewDatabase".

Εκτιμώ την πρόθεση να βοηθήσετε και οι δύο, Γιώργο και Νίκο και σας ευχαριστώ πολύ

Καλό βράδυ
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Databases.zip (140,2 KB, 8 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 03-04-15, 10:12
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Νίκο καλημέρα,

Παλιά βάση : Πέρασε τους πίνακες σε μια νέα , με περιεχόμενο ΜΟΝΟ τους δυο πίνακες. Σύνδεσέ τους με τη σχέση 1:Ν και δώσε χαρακτήρα στη σύνδεση "ενεργοποίηση ακεραιότητας αναφορών" και "διαδοχική ενημέρωση σχετικών εγγραφών"

Νίκο, έκανα εισαγωγή σε μια νέα (καθαρή) βάση τους πίνακες απο την παλιά βάση και εδόσον έγινε αυτό αμέσως δημιουργήθηκε η σχέση ένα προς πολλά (One-2-Many) μεταξύ του tblCustomers (One) και του tblApp (Many)... Δεν με αφήνει να αλλάξω αυτή την σχέσω σε One-2-One....κάνω μάλλον κάποιο λάθος?

Υ.Γ: για αυτό ζήτησα Γιώργο απο τον φίλο Νίκο να ανεβάσει ένα παράδειγμα μια τυποποίησης δηλαδή των πιο πάνω έτσι ώστε να δώ πως γίνεται και να προσπαθήσω να εφαρμόσω στην δική μου περίπτωση. Σημαντικό: η παλιά βάση περιέχει περί τους 3000+ πελάτες μέσα με περί τα 11000+ ραντεβού που είναι "δεμένα" σε αυτούς τους πελάτες. Η νέα βάση δεν έχει πολλές εγραφές μέσα εφόσον τώρα έχει ολοκληρωθεί...

Ευχαριστώ ξανά.
Απάντηση με παράθεση
  #7  
Παλιά 03-04-15, 10:35
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλημέρα

Δεν σε αφήνει διότι τα πεδία μέσω των οποίων θα γίνει η σύνδεση των πινάκων είναι διαφορετικά. Το ένα έχει χαρακτήρα "ακέραιος" και το άλλο "πραγματικός διπλής ακρίβειας".
Έτσι:
1. Διέγραψε την σχέση που έφτιαξες.
2. Πας στον πίνακα customer και αλλάζεις το πεδίο κλειδί από χαρακτήρα "αυτόματη αρίθμηση" σε ακέραιος (μεγάλος)
3. Πας στον πίνακα με τις επισκέψεις και αλλάζεις σε "μεγάλος ακέραιος", το ξένο κλειδί με το οποίο θα συνδέσεις τον πίνακα αυτόν με τον customer.

Τώρα μπορείς να συνδέσεις τους πίνακες.

ΠΡΟΣΟΧΗ ! κράτησε αντίγραφα

με εκτίμηση / Νίκος

Υστερολόγιο: Υπάρχει περίπτωση να έχεις πελάτη και στην παλιά και στη νέα βάση ;
Για πόσους πελάτες μιλάμε στη παλιά και πόσους στην νέα ;
Απάντηση με παράθεση
  #8  
Παλιά 03-04-15, 10:59
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλή σου μέρα φίλε Νίκο,

Στην παλιά βάση έχουμε περί τις 3000+ εγραφές (πελάτες) και στον παλιό πίνακα των επισκέψεων (που εδώ είναι και το "ζουμί) έχουμε πάνω απο 11,000 εγραφές..!!

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

Νίκο, έκανα διάφορες σκέψεις ακόμη και "σκέψεις του αφελή"... Στην νέα βάση δεν υπάρχουν πολλές εγραφές και σκέφτηκα να εισηγηθώ το εξής:

1. Εφόσον βέβαια κρατήσω αντίγραφα, να διαγράψω όλους τους πελάτες και τις επισκέψεις που έχουν απο την νέα βάση.

2. Να κάνω εισαγωγή των παλιών πινάκων (tblCustomers και tblApp) απο την παλιά στη νέα βάση, τροποποιώντας βέβαια τους πίνακες με τα νέα πεδία που περιλαμβάνουν οι νέοι πίνακες.

3. Να προτείνω στον πελάτη να ζητήσει απο την γραμματέα του να ξανά - κάνει εισαγωγή ένα προς ένα τους πελάτες με τις επισκέψεις που υπάρχουν στην νέα βάση...(μήν γελάς......:-) Αλλά.......................................... ........

ακόμη και τα πιο πάνω να γίνουν εφικτά (χωρίς τάσεις αυτοκτονίας... :-) έχουμε το εξής πρόβλημα:

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

Τί να κάνω φίλε Νικο?

Σε κάθε περίπτωση ευχαριστώ
Απάντηση με παράθεση
  #9  
Παλιά 03-04-15, 17:39
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

Γιώργο, δες στη συνημμένη ΒΔ μια λύση προσαρμοσμένη στις βάσεις που ανέβασες.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb DataBaseNew.mdb (840,0 KB, 18 εμφανίσεις)
Απάντηση με παράθεση
  #10  
Παλιά 04-04-15, 00:04
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Γιώργο καλησπέρα,

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

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

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

Καλό βράδυ
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Εισαγωγη δεδομένων με vba it0466 Access - Ερωτήσεις / Απαντήσεις 2 29-11-16 08:36
[ Ερωτήματα ] Πρόβλημα στην αναζήτηση μεταξύ ημερομηνιών ADREAS Access - Ερωτήσεις / Απαντήσεις 2 09-09-16 12:10
Συνθήκη επιλογής δεδομένων μεταξύ δύο ημερομηνιών smasak Access - Ερωτήσεις / Απαντήσεις 4 12-03-15 11:30
[Γενικά] Πρόβλημα εισαγωγής δεδομένων σε κελιά του Excel και πρόβλημα με συνάρτηση ΣΟΦΙΑΖΩΤΟΥ Excel - Ερωτήσεις / Απαντήσεις 0 02-12-13 14:14
[VBA] Εισαγωγή δεδομένων απο xml sotisanis Excel - Ερωτήσεις / Απαντήσεις 3 18-10-13 01:24


Η ώρα είναι 21:15.