Εμφάνιση ενός μόνο μηνύματος
  #6  
Παλιά 27-07-20, 11:22
thanosgr Ο χρήστης thanosgr δεν είναι συνδεδεμένος
Όνομα: Θάνος
Έκδοση λογισμικού 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

Ευχαριστώ για τον χρόνο σας
Θάνος
Απάντηση με παράθεση