שימוש בפרמטרים בשאילתת עדכון באקסס
-
@OdedDvir אמר ב[שימוש בפרמטרים בשאילתת עדכון
אגב, מדוע שינית את הקוד ומה הרווחת בזה?
ניסיתי בדיוק כמו שכתבת וזה החזיר שגיאה
עשיתי חיפוש קצר על הקוד ומצאתי את זה ושילבתי את זה ביחד ועובד מצוין וזה גם מיד מריץ את השאילתה.@OdedDvir אמר בשימוש בפרמטרים בשאילתת עדכון באקסס:
באופן כללי, אתה יוצר טבלה אחת עם שני שדות: מזהה, ותאריך עדכון. ובכל עדכון אתה מוסיף שורה למי עדכנת ומתי:
ID | UpdatedOn 100 | 10/01/2020 101 | 10/01/2020
איך אני מוסיף לשאילתה שיעדכן בטבלה אחרת את המזהה ואת התאריך?
-
@איש-ימיני אמר בשימוש בפרמטרים בשאילתת עדכון באקסס:
ניסיתי בדיוק כמו שכתבת וזה החזיר שגיאה
שורות 8-9 בקוד שלי אמורות להכתב כשורה אחת ארוכה. ייתכן והדבקת אותן כשתי שורות כמו שמופיע בפוסט.
איך אני מוסיף לשאילתה שיעדכן בטבלה אחרת את המזהה ואת התאריך?
INSERT INTO UserUpdates(Id, UpdatedOn) VALUES (UserId, UpdateDate);
-
@OdedDvir אמר בשימוש בפרמטרים בשאילתת עדכון באקסס:
INSERT INTO UserUpdates(Id, UpdatedOn) VALUES (UserId, UpdateDate);
איך אני משלב את זה עם:
UPDATE ראשי LEFT JOIN חודשי ON [ראשי].[מזהה]=[חודשי].[מזהה] SET ראשי.[" & fieldName & "] = IIf(Not (IsNull([חודשי].[Name])),'1','') WHERE Nz([ראשי].[" & fieldName & "],0)=0;
-
-
@איש-ימיני תצטרך ליצור שתי שאילתות ולהריץ אחת אחרי השניה:
שאילתא לעדכון המונה:
UPDATE Users INNER JOIN Monthly ON Users.Id = Monthly.UserId SET Users.[Counter] = [Users].[Counter]+1;
שאילתא להוספת רשומת עדכון לטבלת UserUpdates:
INSERT INTO UserUpdates ( UserId, UpdatedOn ) SELECT Monthly.UserId, Now() AS UpdatedOn FROM Monthly;
או שתוכל להקצות ערך ברירת מחדל לשדה UpdatedOn בטבלה UserUpdates
=Now()
ואז השאילתא יותר פשוטה:
INSERT INTO UserUpdates ( UserId ) SELECT Monthly.UserId FROM Monthly;
-
@איש-ימיני אמר בשימוש בפרמטרים בשאילתת עדכון באקסס:
עריכה: הוספתי רק את זה:
Nz([Users].[Counter],0)+1בעיקרון אם יש ערך ברירת מחדל 0 לשדה Counter לא צריך, אבל תמיד טוב להיות זהיר...