עזרה באקסס

  • פותח הנושא ox
  • פורסם בתאריך

ox

New member
עזרה באקסס

שלום, אני עושה פרוייקט באקסס וצריך עזרה. הטבלאות הרלבנטיות לשאלה שלי: הזמנות- Orders, פירוט הזמנה- Order_List ומלאי-Stock. יש לי טופס הזמנות-Orders שבו טופס משנה בשם פירוט ההזמנה הנוכחית - Order_List(המוצרים להזמנה). בטופס המשנה הזה יש שדה בשם: כמות (להזמנה). אני רוצה שאחרי הוספת רשומה או עדכון שדה כמות בטופס המשנה Order_List, תופחת הכמות של המוצר שהוזמן מהשדה "כמות במלאי" שבטבלת מלאי עבור אותו מוצר. כיצד עושים זאת? תודה על העזרה.
 
על ידי משפט עידכון בSQL רוצה לראות?

נצא מתוך נקודת הנחה שכמות ההזמנה נקרא Quantity בטופס. עכשיו אני צריך להזהיר אותך שמיקום הקוד הוא חשוב מאוד, כלומר מומלץ, לדעתי, ליצור לחצן בצע הזמנה. וזאת משום שנניח שאני מזמין 5 וחזרתי בי ואני רוצה להזמין רק 3 או אפילו 6..... אם תשתמש באירוע של לאחר עדכון של השדה.... אז תקבל תוצאות שגויות של המלאי. אלא אם כן תבצע נעילה של הכמות לאחר ההקשה, דבר שהו לעניות דעתי מאוד לא ידידותי למשתמש. אז בוא תתיחס ללחצן בצע הזמנה..... ושם תעשה את כל החישובים שלך, גם לגבי מחיר אם יש וגם לגבי המלאי. עכשיו בעקרון, אני מעדיף לבצע את הפעולה ישירות על הטבלה, ולעדכן את הנתונים בטופס, למרות שאם השדה של המלאי הכולל נמצא בטופס, אתה יכול לעדכן גם משם, וממילא זה בשלב מאוחר יותר (יציאה מהטופס או מעבר רשומה) מעדכן את הטבלא. אז בוא נראה איך עושים את זה. שיטה ראשונה: עדכון הטבלא המצרכים הדרושים: 1 משתנה מסוג טקסט (sSQL) 1 משתנה מסוג שלם (iOrder) 3 שורות קוד
iOrder = Dlookup("[Stock]","MelaiTBL","[MutzarID] = " & Me![MutzarId])-Me![quantity] sSQL = " UPDATE MelaiTBL SET MelaiTBL.Stock = " & iORDER & " WHERE MelaiTBL.MutzarID = " & Me![MutzarId] DoCmd.RunSQL(sSQL)​
הדרך השניה עדכון הטופס: אני מתאר לעצמי שכמויות במלאי יישבו בטופס האב ולכן העדכון יתבצע על טופס האב. המצרכים הדרושים 1 שורת קוד
me![Stock]=Me![stock]-me![Order_List]![Quntity]​
 

ox

New member
תודה שמוליק

אבל לצערי אף אחת מהשיטות לא עבדו(השיטה השניה לא עבדה כי כמויות במלאי לא נמצאות בטופס האב).
 
למעלה