סינון בתוך טופס אקסס
-
עד היום ביצעתי תמיד סינון בטופס באחד משני אופנים:
- לסינון לפני פתיחה - משפט where שהכנסתי כקריטריון בפונקציה openform.
- לסינון בטופס פתוח - בתוך השאילתא ששימשה מקור לטופס הכנסתי קריטריונים של התאמה לפקדים בטופס.
ניסיתי עכשיו להשתמש בפונקציה apllyfilter של האובייקט docmd כתחליף לסינון טופס משנה בטופס פתוח. העניין לא עלה יפה. במקום להסתבך בהסברים. אם יש למישהו שורת קוד שמדגימה שימוש בפונקציה ויוכל להעלות אותה כאן אני אשמח. הפונקציה חוסכת requery של הטופס וגם מאפשרת ליצור שינויים בטופס בלי לפתוח את כל השאילתא שמאחוריו ולהתחיל למשוך את השמיכה לכל כיוון. (כידוע למי שניסה פעם לנסות לסובב יישום שפיתח לכיוון שונה. כמו לסובב הגה על 200 קמ"ש)
פורסם במקור בפורום CODE613 ב03/05/2017 19:43 (+03:00)
-
אתה כנראה מנסה לתת את משפט הwhere שלך לפרמטר הראשון.
דא עקא, שהפרמטר הראשון הוא קריאה לשאילתא שעל פיה אתה מסנן.מה שאתה צריך לעשות, זה פסיק אחרי הפונקצייה, ואז את משפט הwhere לשלוח לפרמטר השני
דוגמא:docmd.ApplyFilter ,"price>0"
ואפשר גם ככה:
docmd.ApplyFilter WhereCondition:= "price>0"
אתה יכול להשתמש במקום זה גם במאפיין filter של הטופס, רק אל תשכח אח"כ להגדיר filteron
הנה דוגמא:Me.Filter="price>0" Me.FilterOn=True
פורסם במקור בפורום CODE613 ב03/05/2017 22:15 (+03:00)
-
לא עד כדי כך עם הארץ... נתתי את התנאי לפרמטר השני ולא הראשון. בכל זאת לא עבד. חשבתי שהבעיה בפרמטר השלישי, קרי, שם טופס המשנה שרציתי לסנן. בכל אופן אנסה את המאפיין פילטר שהזכרת. תודה.
פורסם במקור בפורום CODE613 ב04/05/2017 14:30 (+03:00)