עזרה | קטע מוזר בשאילתה באקסס (כפילות שדות לא כפולה)
-
אז ככה, יש לי דו"ח שמדפיס נתונים מכמה טבלאות/שאילתות יחד, מקור הדו"ח הוא משאילתה שנוצרת בדו"ח שאוספת את כל הנתונים יחד עם התניות וקריטריונים.
עד כאן הכל עבד מעולה. רק מה, בניתי מחדש את אחת הטבלאות, וכששיניתי את המקור השורות בדו"ח לפי הטבלה החדשה קיבלתי שגיאה.
במקור הנתונים שלי (אחרי השינוי) יש שני טבלאות שיש בהם שדה בשם
id
לאחת נקראDonors
והיא טבלת הבסיס שלא שיניתי בה כלום, ולשניה נקראGroups
והיא הטבלה החדשה המחליפה את טבלהקבוצות
(למי שלא הבין למה עשיתי את הבלאגן.. הטבלה הישנה היתה בעברית...).וכעת, כשאני מנסה לפתוח את הדו"ח אני מקבל הודעה שיש יותר מ
Donors.Id
אחד בfrom
...
זה הsql אחרי השינוי כשעושה בעיהSELECT Donors.Family, Donors.First_name, Donors.Street, Donors.home, Donors.link, Groups.GroupName, Donors.Remarks, Groups.Captain, Donors.Floor, Donors.Apartment, Donors.by, Groups.Area, Groups.Id, Groups.Year, Donors.gateway, Donors.Postal_Code, Groups.City, Donors.active, total_sum.Total_sum, [total_sum_Y-2].[Total_sum_Y-2], [total_sum_Y-1].[Total_sum_Y-1], Donors.agent, Donors.Id FROM ([total_sum_Y-1] RIGHT JOIN ([total_sum_Y-2] RIGHT JOIN (Donors LEFT JOIN total_sum ON Donors.id = total_sum.id_donor) ON [total_sum_Y-2].id_donor = Donors.id) ON [total_sum_Y-1].id_donor = Donors.id) INNER JOIN Groups ON Donors.Area = Groups.Area;
זה לפני השינוי (בגדול
Groups
מחליף אתנתוני קבוצות
) כשעובד, אני לא מצליח להבין מה השתנה הלילה הזה..SELECT Donors.id, Donors.Family, Donors.First_name, Donors.Street, Donors.home, Donors.link, [נתוני קבוצות].[שם קבוצה], Donors.Remarks, [נתוני קבוצות].[ראש קבוצה], Donors.Floor, Donors.Apartment, Donors.by, [נתוני קבוצות].אזור, [נתוני קבוצות].מזהה, [נתוני קבוצות].שנה, Donors.gateway, Donors.Postal_Code, [נתוני קבוצות].עיר, Donors.active, total_sum.Total_sum, [total_sum_Y-2].[Total_sum_Y-2], [total_sum_Y-1].[Total_sum_Y-1], Donations.[7_sum], Donors.agent FROM ([total_sum_Y-1] RIGHT JOIN ([total_sum_Y-2] RIGHT JOIN (([נתוני קבוצות] INNER JOIN Donors ON [נתוני קבוצות].אזור = Donors.[Area]) LEFT JOIN total_sum ON Donors.id = total_sum.id_donor) ON [total_sum_Y-2].id_donor = Donors.id) ON [total_sum_Y-1].id_donor = Donors.id) INNER JOIN Donations ON Donors.id = Donations.id
יש לי גיבוי של המקור, כך שאני יכול לשחזר בחזרה, אבל אני מעדיף להבין מה לא בסדר במה שכתבתי.. או שהמחשב לא בסדר
-
@אביי אמר בעזרה | קטע מוזר בשאילתה באקסס (כפילות שדות לא כפולה):
אז ככה, יש לי דו"ח שמדפיס נתונים מכמה טבלאות/שאילתות יחד, מקור הדו"ח הוא משאילתה שנוצרת בדו"ח שאוספת את כל הנתונים יחד עם התניות וקריטריונים.
עד כאן הכל עבד מעולה. רק מה, בניתי מחדש את אחת הטבלאות, וכששיניתי את המקור השורות בדו"ח לפי הטבלה החדשה קיבלתי שגיאה.
במקור הנתונים שלי (אחרי השינוי) יש שני טבלאות שיש בהם שדה בשם
id
לאחת נקראDonors
והיא טבלת הבסיס שלא שיניתי בה כלום, ולשניה נקראGroups
והיא הטבלה החדשה המחליפה את טבלהקבוצות
(למי שלא הבין למה עשיתי את הבלאגן.. הטבלה הישנה היתה בעברית...).וכעת, כשאני מנסה לפתוח את הדו"ח אני מקבל הודעה שיש יותר מ
Donors.Id
אחד בfrom
...
זה הsql אחרי השינוי כשעושה בעיהSELECT Donors.Family, Donors.First_name, Donors.Street, Donors.home, Donors.link, Groups.GroupName, Donors.Remarks, Groups.Captain, Donors.Floor, Donors.Apartment, Donors.by, Groups.Area, Groups.Id, Groups.Year, Donors.gateway, Donors.Postal_Code, Groups.City, Donors.active, total_sum.Total_sum, [total_sum_Y-2].[Total_sum_Y-2], [total_sum_Y-1].[Total_sum_Y-1], Donors.agent, Donors.Id FROM ([total_sum_Y-1] RIGHT JOIN ([total_sum_Y-2] RIGHT JOIN (Donors LEFT JOIN total_sum ON Donors.id = total_sum.id_donor) ON [total_sum_Y-2].id_donor = Donors.id) ON [total_sum_Y-1].id_donor = Donors.id) INNER JOIN Groups ON Donors.Area = Groups.Area;
זה לפני השינוי (בגדול
Groups
מחליף אתנתוני קבוצות
) כשעובד, אני לא מצליח להבין מה השתנה הלילה הזה..SELECT Donors.id, Donors.Family, Donors.First_name, Donors.Street, Donors.home, Donors.link, [נתוני קבוצות].[שם קבוצה], Donors.Remarks, [נתוני קבוצות].[ראש קבוצה], Donors.Floor, Donors.Apartment, Donors.by, [נתוני קבוצות].אזור, [נתוני קבוצות].מזהה, [נתוני קבוצות].שנה, Donors.gateway, Donors.Postal_Code, [נתוני קבוצות].עיר, Donors.active, total_sum.Total_sum, [total_sum_Y-2].[Total_sum_Y-2], [total_sum_Y-1].[Total_sum_Y-1], Donations.[7_sum], Donors.agent FROM ([total_sum_Y-1] RIGHT JOIN ([total_sum_Y-2] RIGHT JOIN (([נתוני קבוצות] INNER JOIN Donors ON [נתוני קבוצות].אזור = Donors.[Area]) LEFT JOIN total_sum ON Donors.id = total_sum.id_donor) ON [total_sum_Y-2].id_donor = Donors.id) ON [total_sum_Y-1].id_donor = Donors.id) INNER JOIN Donations ON Donors.id = Donations.id
יש לי גיבוי של המקור, כך שאני יכול לשחזר בחזרה, אבל אני מעדיף להבין מה לא בסדר במה שכתבתי.. או שהמחשב לא בסדר
בשאילתה החדשה השדה הנ"ל חסר ב SELECT והדו"ח לא מוצא אותו
תוסיף אותו ב SELECT וזה יעבוד חלק