אקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר
-
יש לי איזה קובץ באקסס שעובד היטב בגרסת 2010 ו 365, משום מה במחשב אחר עם אופיס 2019, יש לו באג מוזר:
שהיות ואני מפעיל שאילתה ב VBA עם סינון על פי הערך של הרשומה הנוכחית בטופס משנה הפתוח.
והיות וכרגע זה לא מוגדר עדיין, (מופיע: #Name?), זה מוציא את כל הרשומות בטבלה (מאות אלפים) ומבצע על זה מוניפלציות, וזה תוקע את המחשב.
אני מסנן ככה:(A.ID)= [Forms]![SP1].[SUB]![mID]
אז אצלי במחשב ברגע ש [Forms]![SP1].[SUB]![mID] לא מוגדר, אז הוא לא מחזיר כלום.
אבל אצלו משום מה זה מחזיר הכל.מה יכול להיות הסיבה לכך?
וכן מה הערך של #Name? ? זה מחזיר אמת על יותר מ 0.
תודה רבה!
-
יש לי איזה קובץ באקסס שעובד היטב בגרסת 2010 ו 365, משום מה במחשב אחר עם אופיס 2019, יש לו באג מוזר:
שהיות ואני מפעיל שאילתה ב VBA עם סינון על פי הערך של הרשומה הנוכחית בטופס משנה הפתוח.
והיות וכרגע זה לא מוגדר עדיין, (מופיע: #Name?), זה מוציא את כל הרשומות בטבלה (מאות אלפים) ומבצע על זה מוניפלציות, וזה תוקע את המחשב.
אני מסנן ככה:(A.ID)= [Forms]![SP1].[SUB]![mID]
אז אצלי במחשב ברגע ש [Forms]![SP1].[SUB]![mID] לא מוגדר, אז הוא לא מחזיר כלום.
אבל אצלו משום מה זה מחזיר הכל.מה יכול להיות הסיבה לכך?
וכן מה הערך של #Name? ? זה מחזיר אמת על יותר מ 0.
תודה רבה!
-
@WWW תנסה להשתמש עם NZ בערך ברירת מחדל לא חוקי (לוגמא בID תעשה על זה -1 שזה ערך שלא יכול להיות)
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
@WWW תנסה להשתמש עם NZ בערך ברירת מחדל לא חוקי (לוגמא בID תעשה על זה -1 שזה ערך שלא יכול להיות)
אני רואה שמדובר במקור רשומה לא מוגדר.
דהיינו הפקד מוגדר עם הערך ID, אבל אין מקור לטופס, הוא מקבל אותו ע"י קוד VBA, והוא עדיין לא קיבל אותו. -
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
@WWW תנסה להשתמש עם NZ בערך ברירת מחדל לא חוקי (לוגמא בID תעשה על זה -1 שזה ערך שלא יכול להיות)
אני רואה שמדובר במקור רשומה לא מוגדר.
דהיינו הפקד מוגדר עם הערך ID, אבל אין מקור לטופס, הוא מקבל אותו ע"י קוד VBA, והוא עדיין לא קיבל אותו. -
@WWW תכלס מה הערך שחוזר?
שים תיבת טקסט עם הערך= [Forms]![SP1].[SUB]![mID]
מה הערך שיתקבל בתיבת טקסט?
-
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
@WWW תכלס מה הערך שחוזר?
שים תיבת טקסט עם הערך= [Forms]![SP1].[SUB]![mID]
מה הערך שיתקבל בתיבת טקסט?
"הביטוי שהזנת מכיל שדה, פקד, או שם מאפיין אותם ... אינו יכול למצוא"
-
-
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
בVBA או בתצוגה על המסך?
הקפצתי MSGBOX ב VBA עם הערך של התיבה הזאת, וזה מקפיץ שגיאה כנ"ל.
-
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
@WWW אז השגיאה בVBA ולא בתצוגה
זה רק ב2019?לא, בהכל.
אבל ב2019 זה גרם להתנהגות שונה לאחר השגיאה. -
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
@WWW אתה יכול להעלות דוגמא קטנה?
קשה מאד
בינתיים אני מנסה לטפל בכל השגיאות, וזהו.
זה איזה קובץ ישן מלפני 10 שנה...
@WWW אם זה בקוד, למה שלא תבדוק אם יש שגיאה וותנהל לפי זה
לדוגמא ככהon error resume next ' some code ...... if err<>0 then ' code if error end if '---------------------------- 'or '---------------------------- if err=1234 then ' replace error code end if
-
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
@WWW אז השגיאה בVBA ולא בתצוגה
זה רק ב2019?לא, בהכל.
אבל ב2019 זה גרם להתנהגות שונה לאחר השגיאה. -
@WWW אם זה בקוד, למה שלא תבדוק אם יש שגיאה וותנהל לפי זה
לדוגמא ככהon error resume next ' some code ...... if err<>0 then ' code if error end if '---------------------------- 'or '---------------------------- if err=1234 then ' replace error code end if
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
@WWW אם זה בקוד, למה שלא תבדוק אם יש שגיאה וותנהל לפי זה
נראה לענ"ד שלא הבנת את הבעיה שלו נכון..
בגרסאות מוקדמות, אם יש שאילתה שמסוננת על שדה שאינו מאוגד למקור בטופס - שאז מתקבל הערך Name בשדה.
הוא מחזיר 0 שורות.
ב2019 הוא מחזיר את כל השאילתה.
ולא מתקבל שגיאה... -
@clickone אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
@WWW אם זה בקוד, למה שלא תבדוק אם יש שגיאה וותנהל לפי זה
נראה לענ"ד שלא הבנת את הבעיה שלו נכון..
בגרסאות מוקדמות, אם יש שאילתה שמסוננת על שדה שאינו מאוגד למקור בטופס - שאז מתקבל הערך Name בשדה.
הוא מחזיר 0 שורות.
ב2019 הוא מחזיר את כל השאילתה.
ולא מתקבל שגיאה... -
@WWW אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
If IsNumeric([Forms]![SP1].[SUB]![mID]) Then
אצלי זה עובד.
השאלה מה יהיה ב 2019.קשה להגיד שיתקבל FALSE..
@WWW אמר באקסס | סינון ב SQL עם ערך מתיבת טקטס שלא הוגדר:
כשניסיתי את זה על 2019, זה לא הציג שגיאות.
זה מה שאמרתי. שהוא לא מציג שגיאות רק ממשיך כאילו השאילתה אינה מסוננת.