![]() |
Αφαίρεση τελευταίου χαρακτήρα Καλησπέρα σε όλους Θα ήθελα την βοήθειά σας. Έχω δύο φόρμες στην μία περνώ τα στοιχεία των υπαλλήλων όπου ένα από αυτά είναι το πεδίο [fldFullName] Το οποίο περιέχει επώνυμα που καταλήγουν σε ( ς ) π.χ. Καραμανωλάκης , Ζαγωράκης πώς γίνεται Στην δεύτερη φόρμα πού ζητώ κάποιο από αυτά τα ονόματα να καταχωρείται στο αντίστοιχο πεδίο της δεύτερης φόρμας αλλά χωρίς το τελευταίο γράμμα το ς Φιλικά Δημήτρης |
Καλησπέρα, μπορείς να δοκιμάσεις αυτό: Left([ΟνομαΠεδίου];InStr([ΟνομαΠεδίου];"ς")-1) Μάρω |
Δοκιμασε στο OnCurrent της 2ης Φορμας να βαλεις αυτον τον κωδικα... Οπου LResult το πεδιο σου '======================================== |
Καλημέρα σε όλους Σε ευχαριστώ για την απάντηση πέζει μόνο όταν στο πεδίο υπάρχει το ΄ς ΄ όταν δενΥπάρχει Βγαίνει Invalid procedure or argument. Υπάρχει λύση?? Όσο για την απάντηση του Τόλι ΝΑΙ έπαιξε και στις δύο περιπτώσεις χωρίς το Dim LResult As String τι δηλώνουμε με την προηγούμενη πρόταση Τόλι??? Εγώ πάντως οφείλω ένα μεγάλο ευχαριστώ και στους δύο… Όντος αν δεν ρωτούσα δεν θα μαθαίναμε…..Φιλικότατα Δημήτρης :drinks: |
Χαιρομαι που ελυσες το προβλημα σου. Το "Dim LResult As String" το εβαλα για να σου δειξω πως θα το οριζες εαν εφτιαχνες δικο σου κωδικα. |
Ωραίο θέμα αυτό.Μου χρειάστηκε και εμένα στη βάση μου. Τα ονόματα που καταχωρώ όμως είναι σε κεφαλαία. Πώς θα μπορούσε να παραμετροποιηθεί ο κώδικας έτσι ώστε να βλέπει εάν δεν υπάρχει άλλο γράμμα μετά και το τελευταίο είναι Σ να το αντικαθιστά με το κενό? Ευχαριστώ |
Η απάντηση είναι Στο μετά από ενημέρωση του πεδίου a1 = Replace([a1], "Σ", " ") Όπου [a1] είναι το πεδίο που καταχωρείς το Όνομα Φιλικά Δημήτρης |
Εάν το βάλω στην ιδιότητα της φόρμας onCurrent δουλεύει μια χαρά. Το πρόβλημα είναι ότι κόβονται και τα υπόλοιπα Σ που μπορεί να υπάρχουν στο όνομα. Πώς θα μπορούσα να το αποφύγω αυτό? |
Δοκιμάστε τον τύπο που έχω δώσει παραπάνω. Δουλέυει και στα κεφαλαία και στα μικρά Φιλικά, Μάρω |
Καλησπέρα σε όλους! Για την αφαίρεση του τελικού Σίγμα, σε κάθε περίπτωση θα δουλέψει ο παρακάτω κώδικας: Κώδικας: Private Sub Text1_AfterUpdate()Τάσος |
Δεν ξέρω γιατί αλλά δεν δουλεύει. Μήπως πρέπει να συμπεριλάβω κάποια συνάρτηση?Η να ενεργοποιήσω κάτι? Ευχαριστώ. |
1 Συνημμένο(α) Καλημέρα Σταύρο! Δεν ξέρω τι κάνεις γιατί δε βλέπω τη βάση σου. Δες αν θέλεις ένα παράδειγμα στο συνημμένο παρακάτω. Παράλληλα, αν έχεις χρόνο μελέτησε το συνημμένο: http://www.ms-office.gr/forum/access....html#post2608 Φιλικά Τάσος |
Μάλλον κατάλαβα τι φταίει. Η φόρμα μου είναι συνεχής. Το δοκίμασα με κανονικό text box και δουλεύει μια χαρά. Με συνεχή φόρμα όμως δεν δουλεύει γιατί τραβάει τα ονόματα από έναν πίνακα. Μήπως θα μπορούσε να γίνει κάτι για να φεύγει για παράδειγμα ο τελευταίος χαρακτήρας από τον πίνακα κατευθείαν? |
Σταύρο, η φόρμα του παραδείγματος μου είναι συνεχής και το πεδίο txt1 είναι συνδεδεμένο με το αντίστοιχο πεδίο στον πίνακα οπότε: Ότι συμβαίνει στο πεδίο της φόρμας, συμβαίνει και στο πεδίο του πίνακα. Αν έχεις χρησιμοποιήσει το συμβάν Current(), δεν θα λειτουργήσει αφού η εγγραφή προς διόρθωση έχει ήδη προσπεραστεί. Φιλικά Τάσος |
ΟΚ! Βρήκα τι έφταιγε..Δούλευε αλλά μόνο για τον πεζό χαρακτήρα Ο δεκαδικός του Σ είναι το 931 ενώ του ς είναι το 962 που είναι και στο sample code. Τώρα δουλεύει μια χαρά! Ευχαριστώ πολύ για την βοήθεια |
Έχω μία τελευταία ερώτηση.. Η φόρμα μου είναι συνεχής και διαβάζει τα ονόματα από έναν πίνακα με την φόρτωση αυτής. Πώς μπορώ με την φόρτωση να περνάει όλες τις εγγραφές της συνεχούς φόρμας και να αφαιρεί τον χαρακτήρα? Το afterupdate δεν λειτουργεί αλλά το onClick λειτουργεί. Που θα μπορούσα να βάλω το Dim txt$ If Len(Nz(Me.Lastname, vbNullString)) Then txt = Me.Lastname If AscW(Right$(txt, 1)) = 931 Then Me.Lastname = Left$(txt, Len(txt) - 1) End If ώστε να λειτουργεί σε όλες τις εγγραφές της συνεχούς φόρμας χωρίς να κλικάρω σε κάθε πεδίο της εγγραφής για να αφαιρεθεί ο χαρακτήρας? Ευχαριστώ |
Καλησπέρα! Σταύρο, εξηγησε μου, είναι συνδεμένα τα πεδία σου με πεδία του πίνακα; Τάσος |
Το πεδίο Lastname της συνεχούς φόρμας είναι ουσιαστικά το πεδίο ενός πίνακα tblEmpl έτσι ώστε η συνεχής φόρμα εμφανίζει όλες τις καταχωρήσεις του πίνακα (μόνο το πεδίο Επώνυμο) |
Καλησπέρα! Με την παρακάτω συνάρτηση μπορείς να αφαιρέσεις τα τελικά Σίγμα από το πεδίο "Lastname" του πίνακα "tblEmpl": Κώδικας: Function RemoveAscW_962()Τα υπόλοιπα που ήδη έχεις δημιουργήσει, άφησε τα ως έχουν. Φιλικά Τάσος |
Ευχαριστώ πολύ!Έβαλα την συνάρτηση στο onLoad της φόρμας μου και δουλεύει μια χαρά! Ευχαριστώ πολύ! |
Το παραπάνω μπορεί να γίνει με πολύ απλό τρόπο εφόσον ειναι σε ερώτημα ειδάλλως με κώδικα . δεν το έχω μαζί μου αλλά θα σας το ανεβάσω. αυτό το χρησιμοποιώ για να μετατρέψω τα αρσενικά στην Γενική κλίση |
Εαν το χρειάζεσαι σε εκτυπωτικά καλό θα ειναι να περάσεις την συνάρτηση στον καθολικό κώδικα και να την καλεις στο πεδίιο που θέλεις |
| Η ώρα είναι 20:21. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.