לצורך מסוים יצרתי קוד שבקלות הופך תיבה משולבת לתיבת השלמה אוטומטית כלומר שמחפש בכל חלקי המילה ולא רק בתחילתה
יש ליצור מודול עם הקוד הבא:
לאחר מכן בכל פקד שרוצים להכניס מכניסים בשאילתת מקור השורה את התנאי הבא בעמודה המתאימה :
בעת שינוי:
בעת קבלת מוקד:
בעת ירידת מקש:
יש ליצור מודול עם הקוד הבא:
קוד:
Option Compare Database
Option Explicit
Public Function Chipush() As String
On Error Resume Next
Chipush = Screen.ActiveControl.Tag
End Function
Public Function ChipushShinuy()
If Screen.ActiveControl.HelpContextId = 1 Then Screen.ActiveControl.HelpContextId = 0: GoTo Hemshech
Screen.ActiveForm.ActiveControl.Tag = Screen.ActiveForm.ActiveControl.Text
Hemshech:
Screen.ActiveForm.ActiveControl.RowSource = Screen.ActiveForm.ActiveControl.RowSource
Screen.ActiveForm.ActiveControl.Dropdown
End Function
Public Function ChipushGotFocus()
On Error Resume Next
Screen.ActiveForm.ActiveControl.Tag = ""
Screen.ActiveForm.ActiveControl.RowSource = Screen.ActiveForm.ActiveControl.RowSource
End Function
Public Function ChipushKeyDown(KeyCode As Integer)
If KeyCode = 38 Or KeyCode = 40 Then Screen.ActiveControl.HelpContextId = 1: Screen.ActiveForm.ActiveControl.Dropdown
End Function
קוד:
ALike "%" & Chipush() & "%"
לאחר מכן יש להכניס באירועים של התיבה המשולבת את הפונקציות כדלהלןבעת שינוי:
קוד:
ChipushShinuy()
קוד:
ChipushGotFocus()
קוד:
ChipushKeyDown(KeyCode)