Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Το κόμμα(,) και η τελεία (.) στην Access

Îåêßíçóå áðü ôï ìÝëïò Molis. Τελευταία δημοσίευση από το μέλος Molis στις 06-07-2009, 19:48. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-07-2009, 21:29 52178

    Το κόμμα(,) και η τελεία (.) στην Access

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

    Ασχολούμαι -αυτοδίδακτος- με Access & VBA.  Σε αριθμητικό πεδίο πίνακα τύπου 'Πραγματικός'  προσθέτω αριθμούς δεκαδικούς πχ 13,6   αλλά και ακέριους πχ 46 κλπ Όσοι  αριθμοί είναι δεκαδικοί, εμφανίζονται στο πίνακα με κόμμα ανάμεσα στο ψηφίο των μονάδων και το ψηφίο των δέκατων.  Όμως όταν στα 'κριτήρια' κάποιας εντολής απαιτώ την συμμετοχή των περιεχομένων του πεδίου, τότε η παρουσία του κόμματος είναι καταστροφική.

    Στη έκφραση- παράδειγμα  DLookup("[Lekti]", "ΠΙΝΑΚΑΣ", "[Aritimi] = " & timi) άμα η timi ειναι δεκεδικός με υποδιαστολή, τότε η έκφραση [Aritimi]=2,3 προκαλεί διακοπή στη ροή του προγράμματος. Η έκφραση [Aritimi] = 2.3 λειτουργεί επιθυμητά.

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

    Φιλικά Molis 

  •  02-07-2009, 21:51 52179 σε απάντηση της 52178

    Απ: Το κόμμα(,) και η τελεία (.) στην Access

    O γενικός κανόνας είναι ότι όταν η τιμή πληκτρολογείται μέσα σε κάποιο κομμάτι κώδικα (πχ VBA) τότε ο χαρακτήρας για τα δεκαδικά είναι πάντοτε η τελεία ενώ όταν η τιμή πληκτρολογείται μέσω του user interface (πχ σε κάποια φόρμα) τότε χρησιμοποιείται ο χαρακτήρας που έχει καθοριστεί από τα regional settings στα Windows, όπερ σημαίνει αν μιλάμε για ελληνικές ρυθμίσεις, θα είναι το κόμμα.
    Vir prudens non contra ventum mingit
  •  02-07-2009, 22:05 52180 σε απάντηση της 52178

    Απ: Το κόμμα(,) και η τελεία (.) στην Access

    Ευχαριστώ για την αμεσότητα της παρέμβασης.

    Όμως αυτή την 'Αντίφαση' πως μπορώ -πρακτικά- να την παρακάμψω;

  •  02-07-2009, 22:40 52181 σε απάντηση της 52180

    Απ: Το κόμμα(,) και η τελεία (.) στην Access

    Για ποιόν λόγο να την παρακάμψεις; Τυπικά δεν χρειάζεται και δεν πρέπει να την παρακάμψεις. Ο χρήστης πάντοτε περιμένει ότι θα πρέπει να χρησιμοποιήσει αυτό που έχει επιλέξει στα regional settings και η εφαρμογή θα πρέπει να το σεβαστεί την επιλογή του. Κάνεις μήπως κάτι περιέργο;


    Vir prudens non contra ventum mingit
  •  03-07-2009, 16:58 52215 σε απάντηση της 52178

    Απ: Το κόμμα(,) και η τελεία (.) στην Access

    Καλημέρα KelMan, καλημέρα σε όλους.

    ... Το ζήτημα ειναι οτι πληκτρολογώ -μέσω φόρμας- δεκαδικό αριθμό σε πεδίο πίνακα κάνοντας χρήση το κόμμα. Αποθηκεύεται μέσα στο πεδίο ότι έγραψα με κόμμα. Ανακαλείται σε φόρμα πάλι με κόμμα. Όμως ας δούμε ένα παράδειγμα όπου υπάρχει το πρόβλημα:

       ΠΙΝΑΚΑΣ   ΑΛΦΑ                                                      ΠΙΝΑΚΑΣ  ΒΗΤΑ

    ID1        Aritimi       Lektika      ...                              ID2   timi      πεδίο2    ...

    1            3,2         Τρία και δύο δέκατα                       1      4                                          Το [timi] έχει ΠΑΝΤΑ τιμές που ειναι υποσύνολο των τιμών του Aritimi.

    2            6,6         Έξι και έξι δέκατα                          2      3,2    

    3            17          Δέκα επτά                                     3      9

    .............................                                                 ...................

    Λοιπόν !   "Αν η τιμή του [timi]  είναι έστω  3,2 θέλω απο τον πίνακα ΑΛΦΑ να πάρεις την τιμή του πεδίου Lektika, απο εκείνο το record που έχει Aritimi ίση με αυτή στο [timi]"

    Εδώ τα βρίσκω σκούρα, αφού εισπράτω error 3075 "Σφάλμα σύνταξης (κόμμα) στην έκφραση ερωτήματος '[Aritimi] = 3,2'".

    Αυτό το ζήτημα που περιγράφω πολύ με ταλαιπώρησε και σε κάποια φάση το ξεπέρασα ως εξής. Πολλαπλασίασα με το 10 τις τιμές των πεδίων [timi] και [Aritimi] και έτσι το κόμμα "εξαφανίστηκε'. Όμως αυτό δεν νομίζω οτι είναι η μόνη λύση.  Το ζητούμενο ειναι κάποια (-ες) άλλη λύση.

    Θερμά ευχαριστώ

    Molis

  •  06-07-2009, 09:55 52263 σε απάντηση της 52215

    Απ: Το κόμμα(,) και η τελεία (.) στην Access

    Οταν γράφεις κώδικα για τα δεκαδικά χρησιμοποιείς μόνο τελεία.

    Οταν παίρνεις την τιμή από κάποιο αριθμητικό πεδίο το:

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

    Αντίθετα το:

    πεδίο.value θα σου δώσει την (αριθμητική) τιμή.

    Φαντάζομαι για να έχεις πρόβλημα θα χρησιμοποιείς το .text και όχι το .value.

  •  06-07-2009, 14:07 52270 σε απάντηση της 52263

    Απ: Το κόμμα(,) και η τελεία (.) στην Access

    Καλημέρα

    ... Δεν κάνω χρήση των προαναφερθέντων προεκτάσεων στον κώδικα που χρησιμοποιώ. (Πιστεύω  οτι όταν γίνεται χρήση αριθμητικού πεδίου σε κώδικα VBA, προφανώς αναφερόμαστε στις αριθμητικές τιμές των περιεχομένων).

     Έφτιαξα μια δοκιμαστική εφαρμογή με ένα πίνακα (Pinakas) και πεδία αριθμητικά τα [alfa], [bita]. Έγραψα τον παρακάτω κώδικα. Άμα η μεταβλητή diktis πάρει τιμή δεκαδική υπάρχει το πρόβλημα. Εδώ κάνω χρήση 'προεκτάσεων' που πρότεινε ο DVA (Άν κατάλαβα σωστά την πρότασή του).

    Private Sub Εντολή8_Click()

    Dim dictis As Single
        dictis = [bita].Value

    Dim SQL As String
        SQL = "DELETE  * FROM   Pinakas  WHERE [alfa].value = " & dictis

    DoCmd.RunSQL SQL

    End Sub

    Παιδιά!  Μη αφήσουμε  αυτό το θέμα που ξεκίνησα στη μέση...

    Molis

  •  06-07-2009, 19:21 52275 σε απάντηση της 52270

    Απ: Το κόμμα(,) και η τελεία (.) στην Access

    Μάλλον αυτό θα διευκρινίσει τα πράγματα

    d = 123.45
    s1 = CStr(d) ' s1 = "123,45"
    s2 = Str(d)  ' s2 = "123.45"

    Οπότε κάνε τον κώδικα σου

    SQL = "DELETE * FROM Pinakas WHERE [alfa].value = " & Str(dictis)

  •  06-07-2009, 19:48 52276 σε απάντηση της 52275

    Απ: Το κόμμα(,) και η τελεία (.) στην Access

    Πράγματι !       Αυτό ειναι. Το θέμα έκλεισε...

    Dva - σε παρακολουθώ στα Forum. Δεν ....παίζεσαι.  Θα πιω ενα κρασάκι στην υγειά σου.

    Ευχαριστώ.  Molis

    ΥΣ (Πρέπει να βρω πως μπαίνει η πράσινη σημαία σε αυτό το topic)

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems