Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Διόρθωση εγγραφών σε συγκεκριμένο πεδίο
Γεια σας, Θέλω την βοήθειά σας στο εξής: Έχω μια βάση δεδομένων και στον πίνακα samples1 στο πεδίο Tel υπάρχουν αρκετά λάθη και κάποια από αυτά είναι τα παρακάτω. Θέλω να μάθω πως μπορώ να διορθώσω τα τηλέφωνα που ξεκινούν με λάθος πρόθεμα, για παράδειγμα το λανθασμένο είναι 0695 και θέλω να αντικατασταθεί με 26950. Επίσης, σε πολλά από τα τηλέφωνα δεν αναγράφεται καθόλου το πρόθεμα 26950. Σας επισυνάπτω το αρχείο. Θέλω το αποτέλεσμα να πλησιάζει όσο το δυνατόν περισσότερο στον πίνακα samples2. Φιλικά, Μαρία |
#2
| ||||
| ||||
Καλησπέρα Δεν έχουν μια ενιαία δομή οι αριθμοί τηλεφώνου που θέλεις να επεξεργαστείς. Αυτό σημαίνει ο κώδικας VBA έχει απαιτήσεις. Όμως ! Μπορείς να δουλέψεις με την δυνατότητα που δίνει η Access μέσω της διαχείρισης "Εύρεση και αντικατάσταση" Ζήτησε να γίνει αντικατάσταση του 0695 με το 26950 Ζήτησε να γίνει αντικατάσταση του "-" με το κενό " " Ζήτησε να γίνει αντικατάσταση του "/" με το κενό " " Ζήτησε να γίνει αντικατάσταση του "26950 " με το "26950" Ζήτησε να γίνει αντικατάσταση του "26950" με το "26950 " Βάλε την φαντασία σου να δουλέψει ! Προσοχή ! ΜΗ ΚΑΝΕΙΣ ΚΑΤΙ ΧΩΡΙΣ ΝΑ ΕΧΕΙΣ ΚΡΑΤΗΣΕΙ ΑΝΤΙΓΡΑΦΟ Με εκτίμηση Νίκος Δ. Υστερολόγιο : Όταν ο αρχικός πίνακας εμφανίσει μια πιο οργανωμένη μορφή, ανέβασε κάποιο δείγμα. Πάντα υπάρχουν ιδέες... |
#3
| |||
| |||
Παράθεση:
Ευχαριστώ για την απάντηση σου. Αυτό που μου προτίνεις το σκέφτηκα, αλλά είναι πάρα πολλές οι εγγραφές που έχω και στην περίπτωση που δεν έχει καθόλου πρόθεμα πως μπορώ να το προσθέσω; Ή σε άλλη περίπτωση, την παύλα την χρησιμοποιεί όταν έχει δυο τηλέφωνα καταχωρημένα, για να ξεχωρίζει το ένα με το άλλο. Αν πάω να τις αντικαταστήσω όλες μετά θα είναι εύκολο να τα ξεχωρίσω σε tel1, tel2; Μαρία |
#4
| ||||
| ||||
Καλησπέρα Δες την μορφή που λαμβάνει ο πίνακας μετά τις πράξεις που σε περιέγραψα. Τώρα με λίγη VBA μπορούμε να προχωρήσουμε. Παράδειγμα : Αν βρεθεί-στο πεδίο [tel]- μήκος χαρακτήρων 11 τότε μη κάνεις τίποτε. Αν βρεθεί μήκος κοντά στα είκοσι τότε πάρε τα τελευταία 10 ψηφία και ορισέ τα ως αριθμό κινητού και τα έντεκα πρώτα αφησέ τα στο πεδίο που βρίσκονται. Λείπει -λες- από μερικά τηλέφωνα το "πρόθεμα". Δεν είναι πρόβλημα αυτό ! Ανέβασε καμιά 100 εγγραφές χωρίς τα πεδία [Type] και [address] για να δούμε μήπως εμφανιστούν όμοιες δομές... ...Και μη επαναλαμβάνεις τα γραφόμενά μου στις απαντήσεις σου. Είναι κουραστικό για όσους μας διαβάζουν. Με εκτίμηση Νίκος Δ. |
#5
| ||||
| ||||
Φίλοι μου, Διαγράψτε τα περιεχόμενα των πεδίων [tel1] και [tel2] και μετά πατήστε το κουμπί στη φόρμα. Δείτε ξανά τον πίνακα ! Με εκτίμηση Νίκος Δ. Υστερολόγιο: Νομίζω ότι αρχίζει να μοιάζει με το επιθυμητό της Μαρίας. |
#6
| |||
| |||
Αντικατάσταση του κώδικα
Ευχαριστώ για τις απαντήσεις σου. Έχω αλλάξει την μορφή του πίνακα με την διαδικασία Εύρεση και Αντικατάσταση που μου πρότεινες σε προηγούμενο μήνυμα σου. Έχω καταφέρει το πεδίο tel να είναι το ίδιο, χωρίς παύλες, κενά, / κλπ. Αυτό που απομένει είναι να το διασπάσω. Χρησιμοποίησα τον κώδικα που μου έστειλες και κρίνω ότι πρέπει να κάνουμε μια αλλαγή στο σημείο του κώδικα που σου αναφέρω παρακάτω. Αντί να βάζει στο πεδίο tel2 τους 10 χαρακτήρες από δεξιά Κώδικας: If Len(!tel) > 18 Then !tel2 = Right(!tel, 10) Σου στέλνω ένα αρχείο με περίπου 100 εγγραφές όπως μου ζήτησες. Μαρία |
#7
| ||||
| ||||
Καλημέρα Μαρία απενεργοποίησε τις δύο γραμμές κώδικα που ξεκινούν με if ...then ... και στη θέση τους γράψε αυτό : Κώδικας: !tel2 = Mid(!tel, 13, Len(!tel)) Με εκτίμηση Νίκος Δ. ΥΣτερολόγιο : Δεν μπορώ να απαντώ άμεσα λόγω υποχρεώσεων... Θέλω να βοηθηθείς. |
#8
| ||||
| ||||
Καλησπέρα σε όλους! Είχα ένα αρχείο που με ορισμένες τροποποιήσεις που έγιναν πιστεύω ότι εξυπηρετεί το ζητούμενο. Η λύση βασίζεται στο ερώτημα QrySamples. Ένα δεύτερο ερώτημα ( QryMakeNewTable ) φροντίζει να δημιουργήσει έναν νέο πίνακα με τα αποτελέσματα του ερωτήματος QrySamples. Δεν είναι δυνατόν να υπάρξει λύση που να λειτουργεί 100% αφού δεν υπάρχει κάποια σταθερή δομή στα περιεχόμενα της στήλης των τηλεφώνων. Δείτε το συνημμένο. Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#9
| |||
| |||
Καλησπέρα Νίκο, Αυτό που μου πρότεινες δούλεψε μια χαρά. Το μόνο πρόβλημα είναι ότι όταν μεταφέρει τους χαρακτήρες στο tel2 θα ήθελα να διαγράφονται από το tel ( εννοώ αυτούς που μεταφέρει). Δηλαδή, να μην υπάρχουν οι ίδιοι χαρακτήρες και στα δύο πεδία. Ευχαριστώ, Μαρία |
#10
| ||||
| ||||
Καλησπέρα Μαρία, όταν ολοκληρωθεί η εργασία του 'διαχωρισμού' των τηλεφωνικών αριθμών, δεν έχεις παρά να διαγράψεις τα άχρηστα πεδία από τον πίνακα και να δώσεις σε υπάρχοντα νέα ονόματα! Αυτή είναι η σκέψη μου. Με εκτίμηση Νίκος Δ. Υστερολόγιο : Τάσο -πίστεψέ με δεν μπορώ να δω,λόγω χρόνου, την ανάρτησή σου. Ξέρεις από...Βέγγο; |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Φόρμες ] Εστίαση σε συγκεκριμένο πεδίο υποφόρμας | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 10 | 25-06-15 13:24 |
Ψάξιμο σε συγκεκριμένο πεδίο και εγραφή (vba) | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 2 | 19-09-14 16:39 |
Πεδίο αρίθμησης εγγραφών σε ερώτημα | ggreg75 | Access - Ερωτήσεις / Απαντήσεις | 3 | 26-03-13 12:17 |
Εύρεση τυχαίων αριθμών από συγκεκριμένο πεδίο | dimogerontas | Access - Ερωτήσεις / Απαντήσεις | 5 | 10-04-12 18:06 |
Δημιουργία Πίνακα Με Συγκεκριμένο Αριθμό Εγγραφών | mistirios | Access - Ερωτήσεις / Απαντήσεις | 42 | 07-09-10 12:58 |
Η ώρα είναι 20:59.