-
יש לי 2 טבלאות.
טבלה עם נתונים של אנשים, וטבלה עם נתונים של סכומים.
על טבלת הסכומים יש שאילתות סיכום שמסכמות את הסכומים לפי מזהה של האנשים באנשים.אני מנסה לעשות שאילתת עדכון שמשתמשת בתנאים מטבלת האנשים ומהשאילתות שעל טבלת הסכומים, ומעדכנת ערכים בטבלת האנשים.
הגדרתי קש"ג בין המזהה בטבלת האנשים למזהים בשאילתות.
אבל אני מקבל שגיאת שאילתה שאינה ניתנת לעידכון. מה לא עשיתי טוב?

-
@אביי אי אפשר לעדכן טבלה על ידי נתונים מאותה טבלה.
תחשוב מה יכול לקרות - אתה מעדכן את השורה הראשונה על ידי תוצאה של סכום מהטבלה, ובשורה השניה כבר התוצאה תשתנה...
תנסה להשתמש עם DCOUNT, אולי זה ילך כי זה פונקציה של VBA (לא ניסיתי).אפשרות שניה שעשיתי בעבר - להשתמש בטבלת מעבר. כלומר להזין את הנתונים לטבלה ממנה לעדכן לטבלה שלך. ואם אתה רוצה - למחוק אותה אח"כ.
-
@אביי אי אפשר לעדכן טבלה על ידי נתונים מאותה טבלה.
תחשוב מה יכול לקרות - אתה מעדכן את השורה הראשונה על ידי תוצאה של סכום מהטבלה, ובשורה השניה כבר התוצאה תשתנה...
תנסה להשתמש עם DCOUNT, אולי זה ילך כי זה פונקציה של VBA (לא ניסיתי).אפשרות שניה שעשיתי בעבר - להשתמש בטבלת מעבר. כלומר להזין את הנתונים לטבלה ממנה לעדכן לטבלה שלך. ואם אתה רוצה - למחוק אותה אח"כ.
-
@גגד נכון. אבל זה לא אותה טבלה, הנתונים בשאילתות מגיעים מטבלה אחרת שאינה נמצאת בכלל בשאילתת העידכון... הם רק מקושרים בקש"ג לID הראשי.
@אביי כשאתה באקסס, נקוט כללים אלו בידך:
- כל שאילתא שאינה ניתנת לעדכון - אינה יכולה להיות אחד המרכיבים של שאילתת עדכון.
- שאילתת סיכום אינה ניתנת לעדכון.
גם שאילתא שמבוססת על יותר מ-3 שאילתות - אינה ניתנת לעדכון.<- עריכה: זה לא נכון, כפי שהעיר @אפר-שריפה לקמן.
זכרתי משהו כזה, אך הניסוח הנכון הוא: "The query is based on three or more tables and there is a many-to-one-to-many relationship."
דהיינו שאילתא שמבוססת על 3 טבלאות שיש ביניהן קשר רבים-יחיד-רבים.
ממילא, הדבר שאתה מבקש אינו אפשרי בדרך זו.
ניתן להשתמש בפונקציית התחום DSum, DCount וכו' כפי שהציע @גגד, אבל הרבה יותר יעיל להשתמש בטבלת עזר זמנית:
א. צור שאילתת יצירת טבלה שיוצרת טבלת עזר זמנית המכילה את הסכומים עבור כל מזהה של איש.
ב. צור שאילתת עדכון שמעדכנת את טבלת האנשים לפי טבלת העזר. -
@אביי כשאתה באקסס, נקוט כללים אלו בידך:
- כל שאילתא שאינה ניתנת לעדכון - אינה יכולה להיות אחד המרכיבים של שאילתת עדכון.
- שאילתת סיכום אינה ניתנת לעדכון.
גם שאילתא שמבוססת על יותר מ-3 שאילתות - אינה ניתנת לעדכון.<- עריכה: זה לא נכון, כפי שהעיר @אפר-שריפה לקמן.
זכרתי משהו כזה, אך הניסוח הנכון הוא: "The query is based on three or more tables and there is a many-to-one-to-many relationship."
דהיינו שאילתא שמבוססת על 3 טבלאות שיש ביניהן קשר רבים-יחיד-רבים.
ממילא, הדבר שאתה מבקש אינו אפשרי בדרך זו.
ניתן להשתמש בפונקציית התחום DSum, DCount וכו' כפי שהציע @גגד, אבל הרבה יותר יעיל להשתמש בטבלת עזר זמנית:
א. צור שאילתת יצירת טבלה שיוצרת טבלת עזר זמנית המכילה את הסכומים עבור כל מזהה של איש.
ב. צור שאילתת עדכון שמעדכנת את טבלת האנשים לפי טבלת העזר. -
@אביי כשאתה באקסס, נקוט כללים אלו בידך:
- כל שאילתא שאינה ניתנת לעדכון - אינה יכולה להיות אחד המרכיבים של שאילתת עדכון.
- שאילתת סיכום אינה ניתנת לעדכון.
גם שאילתא שמבוססת על יותר מ-3 שאילתות - אינה ניתנת לעדכון.<- עריכה: זה לא נכון, כפי שהעיר @אפר-שריפה לקמן.
זכרתי משהו כזה, אך הניסוח הנכון הוא: "The query is based on three or more tables and there is a many-to-one-to-many relationship."
דהיינו שאילתא שמבוססת על 3 טבלאות שיש ביניהן קשר רבים-יחיד-רבים.
ממילא, הדבר שאתה מבקש אינו אפשרי בדרך זו.
ניתן להשתמש בפונקציית התחום DSum, DCount וכו' כפי שהציע @גגד, אבל הרבה יותר יעיל להשתמש בטבלת עזר זמנית:
א. צור שאילתת יצירת טבלה שיוצרת טבלת עזר זמנית המכילה את הסכומים עבור כל מזהה של איש.
ב. צור שאילתת עדכון שמעדכנת את טבלת האנשים לפי טבלת העזר. -
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות