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/3162-prosthiki-symboloy-diesi-mprosta-apo-kathe-arithmo.html)

alex 18-05-14 18:16

Προσθήκη συμβόλου Δίεση(#) μπροστά από κάθε αριθμό
 
1 Συνημμένο(α)
Καλησπέρα σε όλους τους φίλους του Φόρουμ

Μπορεί κάποιο μέλος να βοηθήσει στον κώδικα του επισυναπτόμενου παραδείγματος;
Θέλω μπροστά από κάθε αριθμό να εμφανίζει το σύμβολο (#) δίεση.

Πχ στην ημερομηνία 12/12/1821 να εμφανίζεται έτσι : #12/#12/#1821

Στο παράδειγμα της βάσης γράφοντας στο Textbox1 12/12/1821 και πατώντας το κουμπί στην μετατροπή στο Textbox2 θα εμφανίζει για το 12/12/1821 το #ab/#ab/#ahba .
Γνωρίζει κάποιο μέλος πως θα εμφανίσω το σύμβολο # μπροστά από κάθε νούμερο.

Meteora 18-05-14 19:11

Καλησπέρα

Πολύς θόρυβος στην ανάρτησή σου Αλέξανδρε για το ...τίποτε! Απλά το πετυχαίνεις μόνο με την εντολή:
Κώδικας:

Private Sub Cmd_Convert_Numbers_Click()
    On Error GoTo PROC_ERR
    Me.TextBox2 = Replace(Me.TextBox1, "/", "/#")
PROC_EXIT:
    Exit Sub
PROC_ERR:
    MsgBox Err.Description
    Resume PROC_EXIT
End Sub

Νάσαι καλά...
Με εκτίμηση
Νίκος

alex 18-05-14 23:09

1 Συνημμένο(α)
Καλησπέρα Νίκο!!!
Καταρχήν ευχαριστώ που ασχολήθηκες με το θέμα μου.
Με το τρόπο που αναφέρεσαι γίνεται αντικατάσταση προσθήκη της κάθετου (/) με (/#) και όχι προσθήκη της δίεσης μπροστά από τον αριθμό.Αν το δοκιμάσεις στη φόρμα θα δείς ότι το πρώτο νούμερο το (12) μένει ορφανό πχ μορφή ημερομηνίας 12/12/1821 θα μας δώσει 12/#12/#1821.
Φαντάσου ότι δεν έχουμε ημερομηνία και έχουμε 5 αριθμούς τριψήφιους ,πενταψήφιους κλπ στην μετατροπή θα έπρεπε μπροστά από κάθε νούμερο να εμφανίζει τον αριθμοδείκτη # οπότε πιστεύω ότι με κώδικα στο module πρέπει να γίνει.
Ισως με τον παρακάτω κώδικα θέλει λίγο διαμόρφωση
Κώδικας:

Public Function Convert(strChars As String) As String
Dim strChars As Integer, strTemp As String, lngLen As Long, x As Integer
    Dim i As Long
    lngLen = Len(strChars)For i = 1 To Len(txtBox1)

            Str = Mid(txtBox1, i, 1)

            If Asc(Str) >= 48 And Asc(Str) <= 57 Then
                Select Case strChar
                    Case 48 To 57
                        If i = lngLen Then
                            strTemp = strTemp & "#"
                            strTemp = strTemp & N_0
                            i = i + 1
                        Else
                            Select Case AscW(Mid(strChars, i + 1, 1))
                                Case 49, 50, 51, 52, 53, 54, 55, 56, 57
                                    strTemp = strTemp & "#"
                            End Select
                            If x = 0 Then strTemp = strTemp
                        End If


Meteora 19-05-14 06:18

Καλημέρα

Το "ορφανό" μπορούμε να το αποκαταστήσουμε γράφοντας για παράδειγμα κάτι σαν αυτό εδώ :
Κώδικας:

me.textbox2 = "#" & replace(me.textbox1, "/", "/#")
Για να γράψεις μια ρουτίνα, όπως αυτή που προτείνεις πρέπει να ξέρεις τη ενδεχόμενη δομή που μπορεί να έχει το 'αντικείμενο' των αριθμών και καθέτων. Για τη δομή που μας παρουσίασες μια εντολή είναι αρκετή!

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

Τα λέμε
Με εκτίμηση
Νίκος

alex 19-05-14 07:54

1 Συνημμένο(α)
Καλημέρα Νίκο!!
Το δείγμα είναι ως εξής είτε γράψεις ένα μονοψήφιο είτε διψήφιο είτε τριψήφιο κλπ είτε εμφανίζεται αριθμός σαν ημερομηνία της μορφής 12/12/1821 είτε 12 Δεκεμβρίου 1821 στην αρχή σε κάθε νούμερο να εμφανίζει τον αριθμοδείκτη (#).
Ισως στη ρουτίνα να χρειάζεται να προσθέσουμε κάτι σαν
strTemp = Left(strTemp, Len(strTemp) )

Meteora 19-05-14 13:13

1 Συνημμένο(α)
Αλέξανδρε Καλημέρα

Θες κάτι πολύ πιο γενικό, που ελάχιστη συγγένεια έχει με αυτό που αρχικά νόμιζα...

Δες και ...εδώ είμαστε!

Νίκος

alex 19-05-14 14:37

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

Νίκο είναι σχεδόν αυτό που ήθελα.Δεν έχω λόγια να σε ευχαριστήσω.Θα το κοιτάξω να το προσαρμόσω στο δικό μου.Θέλω να περάσω μια εφαρμογή σε VisualBasic 13 οπότε τώρα μπορώ να την ξεκινήσω. Έμπλεξα με πολλά αν και από τις πολλές ώρες στο PC έπαθα αυχενικό. Δίνω και τέλος του μηνός για Β έπίπεδο πληροφορικής + αυτοαξιολόγηση + καλοκαιρινή γιορτή Νηπ/γείο .Άστα να πάνε .Σου χρωστώ ένα τηλέφωνο θα βρω ευκαιρεία μέχρι το τέλος της Χρονιάς.

Νάσαι καλά φίλε μου.


Η ώρα είναι 10:14.

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


Search Engine Optimization by vBSEO 3.3.2