Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Αντικατάταση τελικού "ς" απο αρχείο πελατών (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/3558-antikatatasi-telikoi-s-apo-arxeio-pelaton.html)

γιώργοςΚ 17-02-15 09:18

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

Θέτω ένα φαινομενικά απλό θέμα το οποίο γνωριζω πως είναι εφικτό αλλά δεν θυμάμαι πώς το έχω ξανακάνει.

Έχω λοιπόν ένα αρχείο πελατών (περί τις 11,000 εγραφές) και στην προσπάθεια μου να μετατρέψω τα κεφαλαία γράμματα σε πεζά (μικρά) συνέβηκε το εξής:

Αν και έχω καταφέρει την μετατροπή τους (μέσω της Word) τελικά προέκυψε ότι, όπους υπήρχε το τελικό "Σ" στην κάθε λέξη, τώρα μετά απο την μετατροπή μου έβαλε το "σ"αντί το τελικό "ς". Δηλαδή στην λέξη ας πούμε "ΣΤΕΛΙΟΣ" έγινε μετατροπή σε "Στέλιοσ" και απο ότι αντιλαμβάνεστε θα ήθελα να αντικαταστήσω την λέξη βάζωντας φυσικά το τελικό "ς". Δηλαδή να γίνει "Στέλιος"..!

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

Παρακαλώ την βοήθεια σας και σας ευχαριστώ προκαταβολικά.

nasos23 17-02-15 10:16

Καλημέρα σε όλους.
Γιώργο μπορείς να δοκιμάσεις το εξής:
Κώδικας:

UPDATE Πίνακας1 SET Πίνακας1.Όνομα = Left([Όνομα],Len([Όνομα])-1) & "" & "ς"
WHERE ((Right([Όνομα],1)="σ"));


kapetang 17-02-15 11:25

1 Συνημμένο(α)
Καλημέρα στην παρέα

Μια άλλη λύση στη συνημμένη ΒΔ.

Στηρίζεται στο ερώτημα:

UPDATE [Names] SET [Names].fName = Trim(Replace([Names]![fName] & " ","σ ","ς "));

και καλύπτει και την περίπτωση που το πεδίο περιέχει περισσότερες από μία λέξεις (πχ όνομα και επώνυμο).

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

γιώργοςΚ 17-02-15 13:21

Χαιτερώ όλους και σας ευχαριστώ πολύ για την βοήθεια,

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

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

Σε κάθε περίπτωση σας ευχαριστώ και πάλιν και τους δύο.

γιώργοςΚ 17-02-15 13:27

Παράθεση:

Αρχική Δημοσίευση από nasos23 (Μήνυμα 20276)
Καλημέρα σε όλους.
Γιώργο μπορείς να δοκιμάσεις το εξής:
Κώδικας:

UPDATE Πίνακας1 SET Πίνακας1.Όνομα = Left([Όνομα],Len([Όνομα])-1) & "" & "ς"
WHERE ((Right([Όνομα],1)="σ"));


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

Σε ευχαριστώ εκ προτέρων

kapetang 17-02-15 14:19

1 Συνημμένο(α)
Γιώργο, έχεις δίκιο.

Ενώ σκέφτηκα την περίπτωση στην υλοποίηση ξέχασα να τη λάβω υπόψη μου.

Δες το νέο συνημμένο.

γιώργοςΚ 17-02-15 22:01

Καλησπέρα Γιώργο και ευχαριστώ πολύ για την βοήθεια σου

Βρίσκομαι υπηρεσία απόψε φίλε μου, θα κοιτάξω την αναθεωρημένη λύση που προτείνεις και εάν παραστεί αναγκαίο θα επανέλθω στο θέμα

Σε κάθε περίπτωση ευχαριστώ και πάλι, καλό βράδυ

nasos23 18-02-15 06:38

1 Συνημμένο(α)
Παράθεση:

Αρχική Δημοσίευση από γιώργοςΚ (Μήνυμα 20281)
Νάσο μπορείς σε παρακαλώ αν δεν κανει κόπο να ανεβάσεις ένα παράδειγμα φλιλε καθότι εν μέρη άσχετος (τουλάχιστον απο κώδικα) δεν κατάφερα να κάνω την δοκιμή?

Σε ευχαριστώ εκ προτέρων

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


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

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2