כיצד להשתמש פרמטרי טופס במאפיין RecordSource בפרוייקט של Access


מתקדם: דורשת קידוד מומחה, יכולת פעולה הדדית ומיומנויות עבודה מרובת משתמשים.


מאמר זה חל רק על פרוייקט Microsoft Access (. adp).


סיכום


מאמר זה מתאר כיצד להשתמש טפסים! FormName ! הפניית פרמטר ControlName במאפיין מקור רשומה של טופס בפרוייקט של Microsoft Access (. ADP). בשיטה זו, הוא שלב קשה שילוב שאילתה מבוסס-שרת עם אובייקטים של Access, כגון טופס הפניה.

מידע נוסף


שים לב: אם לבצע את השלבים בדוגמה זו, תשנה את פרוייקט Access דוגמת NorthwindCS.adp. מומלץ לגבות את הקובץ NorthwindCS.adp, בצע את הפעולות הבאות על עותק של הפרוייקט.

השלבים הבאים ליצור לחצן פקודה בטופס לקוחות פותח את הטופס ' הזמנות אשר מציגה רק את הרשומות התואמות עבור הלקוח הנוכחי.

הוספת לחצן פקודה לטופס הלקוחות

  1. ב- Access, פתח את מסד הנתונים לדוגמה NorthwindCS.adp.
  2. פתח את טופס הלקוחות בתצוגת עיצוב.
  3. באמצעות האשף הוספת לחצן פקודה לטופס לקוחות פותח את הטופס ' הזמנות ומחזירה את כל הרשומות.
  4. סגור ושמור את הטופס.

צור פונקציה כדי להחזיר רשומות תואמות

  1. בקבוצה אובייקט השאילתות , לחץ פעמיים על צור פונקציה במעצב.

    הערה ב- Access 2007, לחץ על אשף שאילתת בקבוצה אחר בכרטיסיה צור . בתיבת הדו-שיח שאילתה חדשה , לחץ על פונקצית עיצובולאחר מכן לחץ על אישור.
  2. בתיבת הדו-שיח הוספת טבלה , לחץ על הכרטיסיה תצוגות , לחץ על הזמנות Qryולאחר מכן לחץ על אישור.
  3. באובייקט Qry הזמנות , לחץ כדי לבחור * (כל העמודות) תיבת סימון.
  4. הוסף את השדה CustomerID לפונקציה.
  5. הוסף = @p1 את הקריטריונים עבור השדה CustomerID .
  6. לחץ כדי לנקות את המאפיין פלט עבור השדה CustomerID .

    שים לב השדהCustomerID מוצג באופן אוטומטי מכיוון * (כל העמודות) האפשרות נבחר.
  7. בתפריט תצוגה , הצבע על הצג חלוניותולאחר מכן לחץ על SQL.

    הערה ב- Access 2007, לחץ על SQL בקבוצה כלים בכרטיסיה עיצוב .

    שים לב כי יש להציג את משפט ה-SQL הבא בחלונית SQL.
    SELECT dbo.[Orders Qry].*<BR/>
    FROM dbo.[Orders Qry]<BR/>
    WHERE (CustomerID = @p1)
  8. סגור ושמור פונקציה זו כ- fn_CustOrders.

שינוי טופס ההזמנות כדי להציג רשומות תואמות

  1. פתח את הטופס ' הזמנות בתצוגת עיצוב.
  2. שנה את המאפיין מקור רשומה כדי להגדיר את הפרמטר מהפונקציה כדי להשתמש בשדה CustomerID מהטופס לקוחות כקריטריון.
    Select * from fn_CustOrders(@[Forms]![Customers]![CustomerID])
    שים לב המאפיין פרמטרים של קלט באופן אוטומטי שונה כדי:
    ? = [Forms]![Customers]![CustomerID]
  3. סגור ושמור את טופס ההזמנות .

לבדוק את הלקוחות ואת הטפסים הזמנות

  1. פתח את טופס הלקוחות .

    שים לב אילו לקוחות מופיעים.
  2. לחץ על לחצן הפקודה כדי לפתוח את טופס ההזמנות .

    שים לב מופיעות רק הזמנות התואמות את הלקוח הנוכחי.
באמצעות גישה זו מאפשרת את הרשומות שיש לסנן בצד השרת, בהתבסס על איזה לקוח מוצג, המחזירה רק את הרשומות התואמות עבור הלקוח הנוכחי.