اذهب الي المحتوي
أوفيسنا

Mustmus

عضو جديد 01
  • Posts

    2
  • تاريخ الانضمام

  • تاريخ اخر زياره

مشاركات المكتوبه بواسطه Mustmus

  1. شكرا اخي عالرد

    حاولت ادخل الmodule اللي رفعته حضرتك و اللي يحول العربي للانكليزي و بالعكس بس ماعرفت لحد هذا الوقت

    ياريت لو تساعدني

    هذا ملف البيانات

    لو تروح لcustomerlist form  تروح على keydown event

    وتوقف على عامود lastname

    وتبدا بكتابة الاحرف مثلا layla   راح يصير بحث ( اضغط esc لتصفير البحث)

    بس البحث مايتحول للعربي واذا حولته بهذا الكود If KeyCode = 76 Then KeyCode = 227 ماراح استطيع ابحث بالانكليزي.

    Data.rar

  2. السلام عليكم و رحمة الله و بركاته

    عندي بيانات زبائن و اسماءهم تكون باللغة العربية او الانكليزية..

    في ال continuous form عملت خاصية انه من تكتب حروف اسم الزبون يصبح بحث على هذا الاسم

    المشكلة انه لا استطيع البحث باللغة الانكليزية و العربية سوية( الكود اما كله يدعم بحث بالعربي او يدعم بحث بالانكليزي)

    مثلا كلمة Layla  اول حرف L  يقابله حرف الميم بالكيبورد,,

    والكود يفهم فقط اما keycode=76  واللي هو حرف ال L

    او يفهم فقط كود keycode=227 واللي هو حرف الميم

    هذا مثال على البيانات

    11.jpg.35f91bccc395e70d9986f895aef06c9b.jpg

     

    سؤالي هو ماهو الكود المناسب لهذه الطريقة للبحث لتغيير اللغتين؟؟؟

    ادناه الكود اللي عملته_يرجى ملاحظة الكود باللون الاحمر (ملاحظة حاليا فقط حرف الميم و الصاد مفعلهم في الكود)

    وهذا رابط كود الاحرف الباقيةللغة العربية من مايكروسوف https://msdn.microsoft.com/en-us/library/cc195058.aspx

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim ctl As Control
    Dim fldName As String
    Dim rst As Recordset
    On Error GoTo ErrHandler
    'MsgBox ("the keycode is " & KeyCode)
    Select Case KeyCode
       Case 122
          If Shift <> 4 Then
             KeyCode = 0
          End If
       Case vbKeyEnd
          KeyCode = 0
          DoCmd.RunCommand acCmdRecordsGoToLast
       Case vbKeyHome
          KeyCode = 0
          DoCmd.RunCommand acCmdRecordsGoToFirst
       Case vbKeyUp
          KeyCode = 0
          DoCmd.RunCommand acCmdRecordsGoToPrevious
       Case vbKeyDown
          KeyCode = 0
          DoCmd.RunCommand acCmdRecordsGoToNext
       Case vbKeyRight, vbKeyLeft
     
     Case 48 To 57, 65 To 90, 645
       
             هذا حرف الميمIf KeyCode = 76 Then KeyCode = 227
    هذا حرف الصاد    If KeyCode = 87 Then KeyCode = 213
       
          Set ctl = Screen.ActiveControl
          fldName = ctl.Name
          If fldName <> LastFld Then
             srchval = ""
          End If

          LastFld = fldName
          srchval = srchval & Chr(KeyCode)
          KeyCode = 0
          If fldName = "Address" Then
             srchcrit = "[" & fldName & "] Like '*" & srchval & "*'"
          Else
             srchcrit = "[" & fldName & "] Like '" & srchval & "*'"
          End If
          Set rst = Me.RecordsetClone
          rst.FindFirst srchcrit
          If rst.NoMatch Then
             MsgBox (" Record not found! ")
          Else
             Me.Bookmark = rst.Bookmark
          End If
          rst.Close
       Case 107, 187
          If srchval = "" Then
             KeyCode = 0
             Exit Sub
          End If
          Set ctl = Screen.ActiveControl
          fldName = ctl.Name
          KeyCode = 0
          Set rst = Me.RecordsetClone
          rst.Bookmark = Me.Bookmark
          rst.FindNext srchcrit
          If rst.NoMatch Then
             MsgBox (" Record not found! ")
          Else
             Me.Bookmark = rst.Bookmark
          End If
          rst.Close
       Case 109, 189
          If srchval = "" Then
             KeyCode = 0
             Exit Sub
          End If
          Set ctl = Screen.ActiveControl
          fldName = ctl.Name
          KeyCode = 0
          Set rst = Me.RecordsetClone
          rst.Bookmark = Me.Bookmark
          rst.FindPrevious srchcrit
          If rst.NoMatch Then
             MsgBox (" Record not found! ")
          Else
             Me.Bookmark = rst.Bookmark
          End If
          rst.Close
       Case 27
          KeyCode = 0
          srchval = ""
       Case Else
          KeyCode = 0
    End Select
    Exit Sub
    ErrHandler:
    Select Case Err.Number
       Case 2046
       Case Else
          MsgBox Err.Number & " " & Err.Description
    End Select
    Resume Next
    End Sub

     

     

     

     

×
×
  • اضف...

Important Information