Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Μορφοποίηση αριθμού ανάλογα με την προεπιλεγμένη ρύθμιση του PC. (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/6334-morfopoiisi-arithmoi-analoga-me-tin-proepilegmeni-rithmisi-toy-pc.html)

jorgis 07-06-23 10:59

Μορφοποίηση αριθμού ανάλογα με την προεπιλεγμένη ρύθμιση του PC.
 
1 Συνημμένο(α)
καλή σας ημέρα, αναζητώ λύση στο παρακάτω :

Από έναν αριθμό ο οποίος έχει αποθηκευτεί σε πεδίο πίνακα ως κείμενο η μετατροπή του σε αριθμό εξαρτάται από τη μορφοποίηση που έχει προεπιλεγεί στον υπολογιστή.
Δηλαδή , εάν η ρύθμιση είναι ΑΓΓΛΙΚΑ ΗΝΩΜΕΝΟΥ ΒΑΣΙΛΕΙΟΥ (#,##0.00) ενώ ο αποθηκευμένος αριθμός σε μορφή κειμένου είναι ( #.##0,00) , τότε η αριθμητική πράξη βγάζει σφάλμα .

Το ζητούμενο είναι πως μπορεί να γίνει μετατροπή έτσι ώστε εάν η ρύθμιση του υπολογιστή είναι (#,##0.00) τότε ο αριθμός να μετατρέπετε σε χ διαφορετικά σε ψ .
Επισυνάπτω παράδειγμα όπου φαίνεται εάν ο υπολογιστής έχει μορφοποίηση ΗΝΩΜΕΝΟΥ ΒΑΣΙΛΕΙΟΥ τότε το αποτέλεσμα έχει σφάλμα.
Ευχαριστώ εκ των προτέρων .

Γιώργος

Tasos 07-06-23 22:11

Καλησπέρα σε όλους!

Γιώργο, έστω ότι το πεδίο "NumericText" που περιέχει τον αποθηκευμένο αριθμό ως κείμενο βρίσκεται στον πίνακα "Table1".

Ο παρακάτω κώδικας SQL μετατρέπει το κείμενο του πεδίου "NumericText" σε αριθμό τόσο σε ελληνική όσο σε αγγλική ρύθμιση τοποθεσίας του υπολογιστή:


Κώδικας:

SELECT Table1.NumericText, IIf(CInt("1,1")=1,CDbl([NumericText]),
CDbl(Replace(Replace(Replace([NumericText],",","|"),".",","),"|","."))) AS TextToNumber
FROM Table1;

Η συνάρτηση VB CInt("1,1") επιστρέφει 1 σε ΗΥ με τοποθεσία "Ελληνικά..." και 11 σε τοποθεσία "Αγγλικά..."

Καλή συνέχεια

Τάσος

jorgis 08-06-23 07:22

ευχαριστώ πολύ Τάσο. Η λύση είναι άριστη. Δεν γνωρίζω πως κλείνει το θέμα .

Tasos 08-06-23 12:04

1 Συνημμένο(α)
Να είσαι καλά Γιώργο.

Αν θέλεις να κλείσεις το θέμα σου, κάνε κλικ στην επιλογή "Κλείσιμο θέματος" στο Dropdown "Εργαλεία θεμάτων" *στην κορυφή του θέματος).

Συνημμένο Αρχείο 12398

Καλή συνέχεια.

Με εκτίμηση

Τάσος


Η ώρα είναι 17:18.

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


Search Engine Optimization by vBSEO 3.3.2