| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλημέρα μπορεί κάποιος να μου δώσει τους ascii χαρακτήρες για τα ελληνικά, θέλω να κάνω αναζήτηση με το event (keydown) σε φόρμα Ευχαριστώ Θάνος |
|
#2
| |||
| |||
|
Καλημέρα Θάνο, Υπάρχουν πολλά παραδείγματα στο 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 Ευχαριστώ. |
|
#3
| ||||
| ||||
|
Καλημέρα σε όλους! Στο συμβάν keydown το όρισμα Keycode επιστρέφει τον κωδικό του πλήκτρου που προκάλεσε το συμβάν. Δεν επιστρέφει κωδικό χαρακτήρων. Επισυνάπτω ένα αρχείο Excel με τους κωδικούς Unicode των ελληνικών χαρακτήρων που είναι οι ίδιοι με αυτούς του ορίσματος KeyAscii του συμβάντος KeyPress. Ωστόσο η αναζήτηση με τη μέθοδο KeyPress δεν θα επιστρέψει αποτέλεσμα αν κάποιος επικολλήσει στο πεδίο κειμένου κείμενο προς αναζήτηση. Καλή συνέχεια! Με εκτίμηση Τάσος ΥΓ. Γιώργο με πρόλαβες!!
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 24-07-20 στις 11:09. |
|
#4
| |||
| |||
|
Γεια σου Τάσο, Σωστές οι "Παρατηρήσεις" σου και οι διορθώσεις σου, χρήσιμο το αρχείο. Είσαι τεράστιος. Ευχαριστώ. |
|
#5
| |||
| |||
|
Ευχαριστώ Παιδιά, θα το δοκιμάσω, αλλιώς θα ανεβάσω database να το δείτε απο κοντά. Να ρωτήσω υπάρχει και για τα αγγλικά; αντίστοιχο, γιατι δοκιμάζω το plus (+) και το minus (-) και δεν μου βγαίνουν σωστά με αυτά που έχω βρει στο διαδίκτυο. Έχω βάλε case keycode 43 και 45 αλλά μου δείχνει πχ το k |
|
#6
| |||
| |||
|
Παιδιά καλημέρα, δεν το κατάφερα, δεν ξέρω αλλά δεν μου βγαίνει, να πατάω το πλήκτρο με τα ελληνικά και να μου βρίσκει την εγγραφή. Στα αγγλικά μου δουλεύει. Η Βάση ειναι περίπου 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 48 To 57, 65 To 90 Ευχαριστώ για τον χρόνο σας Θάνος |
|
#7
| ||||
| ||||
|
Καλησπέρα σε όλους! Φίλε Θάνο σου προτείνω να ρίξεις μια ματιά εδώ: https://www.ms-office.gr/forum/acces...ma-access.html Με εκτίμηση Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#8
| |||
| |||
|
Τάσο Ευχαριστώ, αλλά έχω την εξής απορία, ελέγχοντας το keycode με watch, παρατηρώ οτι όταν αλλάζω σε ελληνικά δεν το λαμβάνει υπόψει η keycode, δηλαδή βλέπει τον ελληνικό χαρακτήρα σαν αγγλικό. Στο criteria like * "Λ" το βλέπει η watch, αλλά η keycode επιστρέφει L. Ευχαριστώ |
|
#9
| ||||
| ||||
|
Καλημέρα Θάνο! Η απάντηση υπάρχει σε προηγούμενο μήνυμα: Παράθεση:
Τα συμβάντα αυτά χρησιμεύουν κυρίως για την αποτροπή συγκεκριμένων χαρακτήρων ή πάτημα κουμπιών κατά την πληκτρολόγηση από τον χρήστη. Σε ενδιαφέρει το τελικό και έγκυρο αποτέλεσμα δηλαδή να τρέχει μια διαδικασία αναζήτησης όταν αλλάζει (Change) το κείμενο του στοιχείου ελέγχου και όχι τo πλήκτρο που πατήθηκε ή ο τρόπος τυχόν επικόλλησης. Καλή συνέχεια! Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 28-07-20 στις 10:51. |
|
#10
| |||
| |||
|
Ευχαριστώ Τάσο
|
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| vba και χαρακτηρες | gianniskar | Access - Ερωτήσεις / Απαντήσεις | 2 | 27-04-20 20:28 |
| [ Φόρμες ] Αναζητηση εγγραφης και με λατινικους χαρακτηρες | gianniskar | Access - Ερωτήσεις / Απαντήσεις | 1 | 19-03-20 09:42 |
| [Συναρτήσεις] Χαρακτήρες σε συναρτήσεις | gianast | Excel - Ερωτήσεις / Απαντήσεις | 3 | 04-10-13 09:09 |
| [Excel07] Από ascii σε Excel | giorgos-barca | Excel - Ερωτήσεις / Απαντήσεις | 9 | 23-03-12 22:38 |
| Εξαγωγή πίνακα σε ascii file | stavros | Access - Ερωτήσεις / Απαντήσεις | 13 | 07-12-09 19:05 |
Η ώρα είναι 05:57.


Αλλαγή σε γραμμικό τρόπο

