מעודכן:
יש ליצור מודול מחלקה עם הקוד הבא:
קוד:Option Compare Database Option Explicit Private Direction As Boolean Public Function ChipushShinuy() On Error Resume Next If Direction Then Direction = False Else Screen.ActiveControl.Tag = Screen.ActiveControl.Text Screen.ActiveControl.RowSource = Screen.ActiveControl.RowSource Screen.ActiveControl.Dropdown End If End Function Public Function ChipushGotFocus() On Error Resume Next Screen.ActiveControl.Tag = "" Direction = False Screen.ActiveControl.RowSource = Screen.ActiveControl.RowSource End Function Public Function ChipushKeyUp(KeyCode As Integer) On Error Resume Next If KeyCode = 38 Or KeyCode = 40 Then Direction = True End Function Public Function ChipushKeyDown(KeyCode As Integer) On Error Resume Next If KeyCode = 38 Or KeyCode = 40 Then Direction = True End Function Public Function ChipushNotInList() On Error Resume Next Dim Sql As Recordset Set Sql = CurrentDb.OpenRecordset(Screen.ActiveControl.RowSource) ChipushNotInList = Sql(Screen.ActiveControl.BoundColumn - 1) Set Sql = Nothing End Functionבמודול נוסף:
קוד:Option Compare Database Option Explicit Public Function Chipush() As String On Error Resume Next Chipush = Screen.ActiveControl.Tag End Functionלאחר מכן בכל פקד שרוצים להכניס מכניסים בשאילתת מקור השורה את התנאי הבא בעמודה המתאימה :
קוד:ALike "%" & Chipush() & "%"
יש להגדיר הרחב אוטומטית ללא
לאחר מכן לגשת לVBA:
צריך לתת שם למודול הארוך (אני נתתי לדוג' clsChipush)
צריך לתת שם לכל פעם שמשתמשים לפקד (בדוג' Shem)
בחלק העליון של המודול של הטופס להוסיף
קוד:private <<שם באנגלית>> as <<שם המודול הארוך>> דוג' private Shem as clsChipush
ובעת טעינה של הטופס להוסיף
קוד:set <<השם באנגלית>> = new <<שם המודול הארוך>> דוג' set Shem = new clsChipush
לאחר מכן יש להכניס באירועים של התיבה המשולבת את הפונקציות כדלהלן:
בעת שינוי:
בעת קבלת מוקד:קוד:<<השם באנגלית>>.ChipushShinuy
בעת ירידת מקש:קוד:<<השם באנגלית>>.ChipushGotFocus
בעת עליית מקש:קוד:<<השם באנגלית>>.ChipushKeyDown KeyCode
בעת שלא ברשימה:קוד:<<השם באנגלית>>.ChipushKeyUp KeyCode
במקרה הצורך בלבד להכניס את שורת הפקד לאחר עדכוןקוד:On Error Resume Next Response = 0 Me.ActiveControl = <<השם באנגלית>>.ChipushNotInList <<שם הפקד>>_AfterUpdate
private <<שם באנגלית>> as <<שם המודול הארוך>>
דוג'
private Shem as clsChipush
set <<השם באנגלית>> = new <<שם המודול הארוך>>
דוג'
set Shem = new clsChipush
זה הקוד בטופסלסיכום ערכתי את הפוסט המקורי
עכשיו אמור לעבוד חלק
לא כתבתי את זה מספיק אחיד וברור בתחילה
Option Compare Database
Private Shem As AutoComplete1
Private Sub cboCity_AfterUpdate()
DoCmd.Save acForm, "XYZ"
DoCmd.RefreshRecord
End Sub
Private Sub cboCity_Change()
Shem.ChipushShinuy
End Sub
Private Sub cboCity_GotFocus()
Shem.ChipushGotFocus
End Sub
Private Sub cboCity_KeyDown(KeyCode As Integer, Shift As Integer)
Shem.ChipushKeyDown KeyCode
End Sub
Private Sub cboCity_KeyUp(KeyCode As Integer, Shift As Integer)
Shem.ChipushKeyUp KeyCode
End Sub
Private Sub cboCity_NotInList(NewData As String, Response As Integer)
On Error Resume Next
Response = 0
Me.ActiveControl = Shem.ChipushNotInList
cboCity_AfterUpdate
End Sub
Private Sub Form_Load()
Set Shem = New AutoComplete1
End Sub
AutoComplete1 זה השם של המודל הארוך? (אם לא אז תחליף)זה הקוד בטופס
וזה מקפיץ שגיאהקוד:Option Compare Database Private Shem As AutoComplete1 Private Sub cboCity_AfterUpdate() DoCmd.Save acForm, "XYZ" DoCmd.RefreshRecord End Sub Private Sub cboCity_Change() Shem.ChipushShinuy End Sub Private Sub cboCity_GotFocus() Shem.ChipushGotFocus End Sub Private Sub cboCity_KeyDown(KeyCode As Integer, Shift As Integer) Shem.ChipushKeyDown KeyCode End Sub Private Sub cboCity_KeyUp(KeyCode As Integer, Shift As Integer) Shem.ChipushKeyUp KeyCode End Sub Private Sub cboCity_NotInList(NewData As String, Response As Integer) On Error Resume Next Response = 0 Me.ActiveControl = Shem.ChipushNotInList cboCity_AfterUpdate End Sub Private Sub Form_Load() Set Shem = New AutoComplete1 End Sub
צפה בקובץ המצורף 1069669
אולי צריך לשנות משהו גם במודולים עצמם?
כןAutoComplete1 זה השם של המודל הארוך? (אם לא אז תחליף)
שכחתי לכתוב שהמודול הארוך צריך להיות מודול מחלקה (Class)
לא, תודה,
Private Sub cboxyz_NotInList(NewData As String, Response As Integer)
On Error Resume Next
Response = 0
Me.ActiveControl = Shem.ChipushNotInList
cboxyz_AfterUpdate
End Sub
cboxyz_AfterUpdate צריכה להיות פקד אחר?כתבתי שאם לא קיים קוד לאחר עדכון לא לכתוב את השורה הזוהכנסתי את זה בבעת שלא ברשימה, ולא עובד:
יכול להיות שהשורה הזוקוד:Private Sub cboxyz_NotInList(NewData As String, Response As Integer) On Error Resume Next Response = 0 Me.ActiveControl = Shem.ChipushNotInList cboxyz_AfterUpdate End Subcboxyz_AfterUpdateצריכה להיות פקד אחר?
rhon.co.il
מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!
חלה שגיאה בשליחה. נסו שוב!
לוח לימודים
מסלולי לימוד שאפשר להצטרף
אליהם ממש עכשיו:
תהילים פרק כה
אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
הנושאים החמים



Reactions: אבסולוט פרימה בלרינה, חלומות ירוקים, Harmonyapro ועוד 113 משתמשים116 //