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

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

Κλειστό Θέμα

 

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

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

Έχω έναν πίνακα (tblCustomer) ο οποίος περιλαμβάνει περίπου 2800 εγραφές και ουσιαστικά είναι ο ίδιος πίνακας προερχόμενος απο μια παλαιά βάση με τον πίνακα tblCustomers που ενώ περιλαμβάνει στο 80% περίπου τις ιδιες εγραφές με τον παλαιό, περιλαμβάνει και σχεδόν άλλες τόσες εντελώς νέες. Αν και έχω προσπαθήσει μέσω της επιλογής wizard των ερωτημάτων για να μου βρεί τις διπλότυπες εγραφές μεταξύ των δύο πινάκων, εντούτις λαμβάνω λανθασμένα αποτελέσματα...Και εξηγώ τι εννοω: ενώ έλεγξα και γνωρίζω πως υπάρχουν περίπου 2000+ διπλές εγραφες, οταν τρέχω το ερώτημα μου εφανίζει 63..!!

Σας παρακαλώ την βοήθεια σας σε αυτό το κρίσιμο πρόβλημα.

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

Καλησπέρα

Γιώργο πάλι 'έμπλεξες' ! Το εκπληκτικό με σένα είναι ότι δεν μπόρεσα -ποτέ- να προβλέψω ποια θα είναι η επόμενη ερώτησή σου. Έχεις μοναδικό χάρισμα να ασχολείσαι ταυτόχρονα με πολλά και διαφορετικά...
Ανέβασε ένα πίνακα -σαν αυτόν με τι διπλότυπες εγγραφές, βάλε περιεχόμενο εικονικό και είναι βέβαιο ότι θα βοηθηθείς.

Τα λέμε λοιπόν

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

Καλησπέρα σε όλους και ιδιαιτέρως και σε εσένα φίλε Νίκο..

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

Υ.Γ: Νίκο ομολογώ πως έχεις δίκιο με την παρατήρηση σου φίλε.....πού πάω και εγώ και μπλέκω..!! :-)
Συνημμένα Αρχεία
Τύπος Αρχείου: zip check4Dublicates.zip (248,4 KB, 15 εμφανίσεις)
  #4  
Παλιά 16-12-14, 08:22
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλημέρα

Για ποιον πίνακα μιλάμε; Πότε χαρακτηρίζεις μια εγγραφή ίδια με κάποια άλλη; (Ποια πεδία συγκρίνεις και ποια δεν λαμβάνεις υπόψην;)

Τα λέμε Γιώργο...
Νίκος
  #5  
Παλιά 16-12-14, 14:43
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλησπέρα Νίκο

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

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

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

Καλησπέρα
Όλες οι εγγραφές -με κριτήριο τον αριθμό τηλεφώνου - είναι μοναδικές (*). Έτσι έχω επιλέξει [όνομα], [επίθετο] και [ηλικία].
Πρόσθεσα ένα πεδίο [flag] στον πίνακα για να καταγράψω τις διπλές εγγραφές. Ο κώδικας που χρησιμοποιώ είναι απλός, οπότε εσύ μπορείς να τον προσαρμόσεις και στον άλλο πίνακα , να κάνεις ενώσεις και ότι άλλο θες στη συνέχεια...

Είμαι βέβαιος οτι θα τα καταφέρεις με άνεση. Την επόμενη ερώτησή σου στο Forum αποκλείεται να ...μαντέψω!

Καλή συνέχεια Γιώργο.

Με εκτίμηση, Νίκος

(*) Μάλλον δεν πολυνοιάζεσαι για το θέμα αυτό καθ' αυτό. Απλά κάτι άλλο έχεις στο μυαλό σου. Ας είναι...
Συνημμένα Αρχεία
Τύπος Αρχείου: zip check4Dublicates.zip (143,4 KB, 21 εμφανίσεις)
  #7  
Παλιά 17-12-14, 12:08
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Cool

Καλημέρα φίλε Νίκο και ευχαριστώ για την βοηθεια σου.

Νίκο, ίσως δεν είμουν κατανοητώς απο την αρχή τί θέλω να κάνω.

1. Έχω δύο πίνακες όπως προείπα, έναν πίνακα παλαιό απο μια προηγούμενη βάση (2003 version) και έναν πίνακα απο μια νεότερη βάση (2007 version).

2. Οι πίνακες αυτοί περιέχουν αφενώς μέν ο πρώτος (T_Customers) αρκετούς πελάτες παλαιούς και ο δεύτερος πίνακας (TblCustomer) περιέχει αφενώς μέν όλους τους πρώτους πελάτες που στο παρελθόν ένας φιλος είχε επιχηρήσει να εισάγει στον νεο πίνακα (TblCustomer) εφόσον προσπάθησαν να δημιουργήσουν μια νέα βάση για να εξυπηρετεί τον σκοπό πελατολογίου της επιχήρησης τους.

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

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

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

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

3. Να δημιουργήσω έναν νέο πίνακα (tblCustomerDetails) ο οποίος να περιλαμβλανει μόνον μοναδικες εγραφές και απο τους δύο πίνακες (με παλαιούς και νέους πελάτες)

Για οτιδήποτε θα χαρώ να τα πούμε.

Υ.Γ: τίποτα μυστυκιστικό φιλε....απλά αγγαρίες για τον έναν και τον άλλο φίλο...και αυτά για την ψυχή μας βέβαια...
  #8  
Παλιά 17-12-14, 21:15
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Γιώργο μας
Ο κώδικας που ανάρτησα κάνει σχεδόν ό,τι περιγράφεις.
  1. Τσεκάρει τις διπλές σε κάθε πίνακα
  2. Αυτές τις 'τσεκαρισμένες' εγγραφές -με μια ταξινόμηση πίνακα- βγάλτες πάνω-πάνω και διέγραψέ τις
  3. Στη συνέχεια κάνε copypast τον ένα πίνακα μέσα στον άλλο και 'τσεκάρησε' όχι τις διπλές αλλά τις μονές (εδώ να βοηθήσω αν χρειαστεί)
  4. Στον 'αφρό' δηλ. πάνω-πάνω οι μονές με μια απλή ταξινόμηση. Διέγραψε όσες δεν θες και ...τελειώσαμε!
Αυτές είναι οι σκέψεις μου.
Με εκτίμηση
Νίκος
  #9  
Παλιά 17-12-14, 21:49
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

Καλησπερα Νίκο,

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

Θα τα πούμε φίλε.
Ευχαριστώ πολύ
  #10  
Παλιά 17-12-14, 22:54
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

Για την υλοποίηση του ζητούμενου προτείνω:

1) Συγκέντρωση όλων των εγγραφών των πινάκων σ’ ένα, πχ στον T_Customers.

Αυτό μπορεί να γίνει με ένα ερώτημα προσάρτησης των εγγραφών του ενός πίνακα στον άλλον.

Στην προσάρτηση θα εξαιρεθεί το πεδίο αυτόματης αρίθμησης.

2) Εύρεση στο νέο πίνακα T_Customers, των περιττών (επιπλέον) εγγραφών.

Μπορεί να γίνει με τον κώδικα του Νίκου. Ο κώδικας βρίσκει τις περιττές εγγραφές και δίνει στο πρόσθετο πεδίο Flag τιμή -1.

3) Διαγραφή των περιττών εγγραφών.

Μπορεί να γίνει με ένα ερώτημα διαγραφής και κριτήριο Flag=-1.

Φιλικά/Γιώργος

ΥΓ Τα αντίστοιχα πεδία των πινάκων πρέπει να είναι ίδιου τύπου.

Τελευταία επεξεργασία από το χρήστη kapetang : 17-12-14 στις 23:10. Αιτία: προσθήκη ΥΓ
Κλειστό Θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Πίνακες ] Αυτόματη ενημέρωση πεδίων μεταξύ πινάκων gpapad Access - Ερωτήσεις / Απαντήσεις 2 01-06-14 10:31
[ Πίνακες ] Κοινό πεδίο μεταξύ πινάκων Χρήστος Access - Ερωτήσεις / Απαντήσεις 1 03-07-13 21:58
Αυτόματη ενημέρωση πεδίων μεταξύ δύο πινάκων marpapa Access - Ερωτήσεις / Απαντήσεις 5 23-05-12 10:48
[Γενικά] Τέχνασμα αποφυγής διπλών καταχωρήσεων gr8styl Excel - Tips & Tricks 0 23-01-11 19:19
Σχέση μεταξύ πινάκων mistirios Access - Ερωτήσεις / Απαντήσεις 3 11-11-09 14:14


Η ώρα είναι 09:45.