Ανανέωση ιστοσελίδας

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 24-07-20, 09:32
Όνομα: Θάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-05-2012
Περιοχή: Λάρισα
Μηνύματα: 49
Προεπιλογή ASCII Χαρακτήρες

Καλημέρα
μπορεί κάποιος να μου δώσει τους ascii χαρακτήρες για τα ελληνικά, θέλω να κάνω αναζήτηση με το event (keydown) σε φόρμα

Ευχαριστώ
Θάνος
Απάντηση με παράθεση
  #2  
Παλιά 24-07-20, 11:38
Super Moderator
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-01-2014
Μηνύματα: 234
Προεπιλογή

Καλημέρα Θάνο,

Υπάρχουν πολλά παραδείγματα στο internet.

Οι παρακάτω τιμές των χαρακτήρων είναι σύμφωνα με το πρότυπο ASCII (American Standard Code for Information Interchange). Αυτό αλλάζει βάση με την κωδικοποίηση και το περιβάλλον εργασίας (πχ UTF-8, ISO……. κλπ).

OI Ελληνικοί χαρακτήρες Ξεκινάνε με το κεφάλαιο Α = 128 (κώδικας ascii) , Β=129……. Και φτάνουν, αυξάνοντας κατά ένα, στο πεζό χαρακτήρα ψ=175 ενώ το πεζό ω=224.

Υπάρχει ακόμα η ομάδα των πεζόν χαρακτήρων με τόνο που είναι: ά=225, έ=226, ή=227, ϊ=228, ί=229, ό=230, ύ=231, ϋ=232

Και των κεφαλαίων χαρακτήρων με τόνο που είναι : Ά=234 , Έ=235, Ή=236, Ί=237 , Ό=238, Ύ=239, Ώ=240, Ϊ=244, Ϋ=245.

Ακόμα μπορείς στην access σε ένα πλαίσιο κειμένου στην ιδιότητα KeyPress να δεις τον κωδικό του χαρακτήρα με την εξορισμού μεταβλητή KeyAscii

Private Sub txtFindKeyAscii_KeyPress(KeyAscii As Integer)
MsgBox KeyAscii
End Sub

Ευχαριστώ.
__________________
Βραχνάκης Γιώργος
vrahnakisg@gmail.com
Απάντηση με παράθεση
  #3  
Παλιά 24-07-20, 11:54
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

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

Στο συμβάν keydown το όρισμα Keycode επιστρέφει τον κωδικό του πλήκτρου που προκάλεσε το συμβάν. Δεν επιστρέφει κωδικό χαρακτήρων.

Επισυνάπτω ένα αρχείο Excel με τους κωδικούς Unicode των ελληνικών χαρακτήρων που είναι οι ίδιοι με αυτούς του ορίσματος KeyAscii του συμβάντος KeyPress.

Ωστόσο η αναζήτηση με τη μέθοδο KeyPress δεν θα επιστρέψει αποτέλεσμα αν κάποιος επικολλήσει στο πεδίο κειμένου κείμενο προς αναζήτηση.


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

Με εκτίμηση

Τάσος

ΥΓ. Γιώργο με πρόλαβες!!
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm KeyAscii_Greek.xlsm (16,5 KB, 13 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 24-07-20 στις 12:09.
Απάντηση με παράθεση
  #4  
Παλιά 24-07-20, 12:33
Super Moderator
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 14-01-2014
Μηνύματα: 234
Προεπιλογή

Γεια σου Τάσο,

Σωστές οι "Παρατηρήσεις" σου και οι διορθώσεις σου, χρήσιμο το αρχείο.

Είσαι τεράστιος.

Ευχαριστώ.
__________________
Βραχνάκης Γιώργος
vrahnakisg@gmail.com
Απάντηση με παράθεση
  #5  
Παλιά 24-07-20, 14:46
Όνομα: Θάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-05-2012
Περιοχή: Λάρισα
Μηνύματα: 49
Προεπιλογή

Ευχαριστώ Παιδιά, θα το δοκιμάσω, αλλιώς θα ανεβάσω database να το δείτε απο κοντά.
Να ρωτήσω υπάρχει και για τα αγγλικά; αντίστοιχο, γιατι δοκιμάζω το plus (+) και το minus (-) και δεν μου βγαίνουν σωστά με αυτά που έχω βρει στο διαδίκτυο.
Έχω βάλε case keycode 43 και 45 αλλά μου δείχνει πχ το k
Απάντηση με παράθεση
  #6  
Παλιά 27-07-20, 12:22
Όνομα: Θάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-05-2012
Περιοχή: Λάρισα
Μηνύματα: 49
Προεπιλογή

Παιδιά καλημέρα,
δεν το κατάφερα, δεν ξέρω αλλά δεν μου βγαίνει, να πατάω το πλήκτρο με τα ελληνικά και να μου βρίσκει την εγγραφή. Στα αγγλικά μου δουλεύει.
Η Βάση ειναι περίπου 4mb να την επισυνάψω; παραθέτω το event παρακάτω

Κώδικας:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

On Error GoTo ErrHandler

Dim ctl As Control
Dim fldName As String
Dim rst As Recordset

 
   Select Case KeyCode
      
      Case vbKeyHome
         KeyCode = 0
         DoCmd.RunCommand acCmdRecordsGoToFirst
         
      Case vbKeyUp
         KeyCode = 0
         DoCmd.RunCommand acCmdRecordsGoToPrevious
         
      Case vbKeyDown
         KeyCode = 0
         DoCmd.RunCommand acCmdRecordsGoToNext
         
      Case vbKeyEnd
         KeyCode = 0
         DoCmd.RunCommand acCmdRecordsGoToLast
         
      Case vbKeyRight, vbKeyLeft
      
      Case 8
      Case 13
      Case 9, 36 ' tab  backspace  delete
      
      Case 107, 187    ' + Keypress
         KeyCode = 0
         If Srchval = "" Then Exit Sub
         
         Set rst = Me.RecordsetClone ' look the record on the formn
         rst.FindNext Srchcrit
         
         If rst.NoMatch Then
            MsgBox (" Η Εγγραφή Δεν Βρέθηκε! ")
         Else
            Me.Bookmark = rst.Bookmark
         End If
         rst.Close
             
      Case 109, 189
         KeyCode = 0
         If Srchval = "" Then Exit Sub
         
         Set rst = Me.RecordsetClone ' look the record on the formn
         rst.FindPrevious Srchcrit
         
         If rst.NoMatch Then
            MsgBox (" Η Εγγραφή Δεν Βρέθηκε! ")
         Else
            Me.Bookmark = rst.Bookmark
         End If
         rst.Close
      
      Case 48 To 57, 65 To 90 ' numbers and letters(english)
                   
         Set ctl = Screen.ActiveControl ' Caption control στην φόρμα
         fldName = ctl.Name
         
         Select Case UCase(fldName) ' no search at filters
            Case "APREQFLT", "AWARDREQFLT", "AESYMVFLT", "SYMVFLT", "SUPPLIERFLT"
               Exit Sub
         End Select
         
         ' σύγκριση column
         If fldName <> Lastfld Then
            Srchval = ""
         End If
         
         Lastfld = fldName
         
         Srchval = Srchval & Chr(KeyCode)
         KeyCode = 0
         
         Select Case fldName
         
            Case "Supplier"
               Srchcrit = "[" & fldName & "] like '*" & Srchval & "*'"
               
            Case "AE"
               Srchcrit = "[" & fldName & "] like '*" & Srchval & "*'"
               
            Case "Description"
               Srchcrit = "[" & fldName & "] like '*" & Srchval & "*'"
               
            Case Else
               Srchcrit = "[" & fldName & "] like '" & Srchval & "*'"
         End Select
         
         Set rst = Me.RecordsetClone ' lock the record on the formn
         rst.FindFirst Srchcrit
         
         If rst.NoMatch Then
            MsgBox (" Η Εγγραφή Δεν Βρέθηκε! ")
         Else
            Me.Bookmark = rst.Bookmark
         End If
         rst.Close
      
        
      Case 27
         Srchval = ""
         KeyCode = 0
      
                
      Case 122 'shift =1, ctrl =2, alt =3
         If Shift <> 4 Then
            KeyCode = 0
         End If
      
      Case Shift = 5
         Srchval = ""
         KeyCode = 0
         
      Case Shift = 3
         Srchval = ""
         KeyCode = 0
         
      Case Else
         KeyCode = 0
               
      
   End Select
Exit Sub ' Exit before error

ErrHandler:
   Select Case Err.Number
      Case 2046 ' πηγαινε στην επόμενη γραμμή μην δίνεις σημασία
      Case Else
         MsgBox (" Λάθος " & Err.Number & " " & Err.Description & "! ")
   End Select
   Resume Next
   
End Sub
η Υπόθεση ειναι εκεί στην case με τα αγγλικά και τα ελληνικά
Case 48 To 57, 65 To 90

Ευχαριστώ για τον χρόνο σας
Θάνος
Απάντηση με παράθεση
  #7  
Παλιά 27-07-20, 13:45
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

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

Φίλε Θάνο σου προτείνω να ρίξεις μια ματιά εδώ: https://www.ms-office.gr/forum/acces...ma-access.html

Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #8  
Παλιά 28-07-20, 07:18
Όνομα: Θάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-05-2012
Περιοχή: Λάρισα
Μηνύματα: 49
Προεπιλογή

Τάσο Ευχαριστώ,
αλλά έχω την εξής απορία, ελέγχοντας το keycode με watch, παρατηρώ οτι όταν αλλάζω σε ελληνικά δεν το λαμβάνει υπόψει η keycode, δηλαδή βλέπει τον ελληνικό χαρακτήρα σαν αγγλικό.
Στο criteria like * "Λ" το βλέπει η watch, αλλά η keycode επιστρέφει L.

Ευχαριστώ
Απάντηση με παράθεση
  #9  
Παλιά 28-07-20, 08:53
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλημέρα Θάνο!

Η απάντηση υπάρχει σε προηγούμενο μήνυμα:

Παράθεση:
Στο συμβάν keydown το όρισμα Keycode επιστρέφει τον κωδικό του πλήκτρου που προκάλεσε το συμβάν. Δεν επιστρέφει κωδικό χαρακτήρων.
Επισυνάπτω ένα αρχείο Excel με τους κωδικούς Unicode των ελληνικών χαρακτήρων που είναι οι ίδιοι με αυτούς του ορίσματος KeyAscii του συμβάντος KeyPress.


Ωστόσο η αναζήτηση με τη μέθοδο KeyPress δεν θα επιστρέψει αποτέλεσμα αν κάποιος επικολλήσει στο πεδίο κειμένου κείμενο προς αναζήτηση.
Είναι απόλυτα λανθασμένη/ακατάλληλη κάθε μέθοδος αναζήτησης που βασίζεται σε συμβάντα KeyDown, KeyPress, κλπ.

Τα συμβάντα αυτά χρησιμεύουν κυρίως για την αποτροπή συγκεκριμένων χαρακτήρων ή πάτημα κουμπιών κατά την πληκτρολόγηση από τον χρήστη.

Σε ενδιαφέρει το τελικό και έγκυρο αποτέλεσμα δηλαδή να τρέχει μια διαδικασία αναζήτησης όταν αλλάζει (Change) το κείμενο του στοιχείου ελέγχου και όχι τo πλήκτρο που πατήθηκε ή ο τρόπος τυχόν επικόλλησης.

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

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 28-07-20 στις 11:51.
Απάντηση με παράθεση
  #10  
Παλιά 28-07-20, 10:52
Όνομα: Θάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-05-2012
Περιοχή: Λάρισα
Μηνύματα: 49
Προεπιλογή

Ευχαριστώ Τάσο
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
vba και χαρακτηρες gianniskar Access - Ερωτήσεις / Απαντήσεις 2 27-04-20 21:28
[ Φόρμες ] Αναζητηση εγγραφης και με λατινικους χαρακτηρες gianniskar Access - Ερωτήσεις / Απαντήσεις 1 19-03-20 10:42
[Συναρτήσεις] Χαρακτήρες σε συναρτήσεις gianast Excel - Ερωτήσεις / Απαντήσεις 3 04-10-13 10:09
[Excel07] Από ascii σε Excel giorgos-barca Excel - Ερωτήσεις / Απαντήσεις 9 23-03-12 23:38
Εξαγωγή πίνακα σε ascii file stavros Access - Ερωτήσεις / Απαντήσεις 13 07-12-09 20:05


Η ώρα είναι 08:15.