עזרה בשאילתה בVBA
-
אני רוצה לעשות בדיקה כמה רשומות יש לי שעונות על כמה קריטריונים, ואני לא מצליח לכתוב את זה בrecordset.
כל פעם הוא כותב לי פרמטרים מעטים מדי (שגיאה מס' 3061), מישהו יודע אם יש דרך לכתוב את זה?
הקוד זה
Set rs = CurrentDb.OpenRecordset("SELECT * FROM [טתלושים] WHERE (((טתלושים.בטיפול) = True) AND ((טתלושים.שולם) = False) AND ((טתלושים.חנות) = CT))")
השדה חנות זה טקסט ובטיפול ישולם זה כן/לא.
תודה רבה על העזרה. -
ה string מוקף ב מרכאות ?
-
צריך להיות כך:
Set rs = CurrentDb.OpenRecordset("SELECT * FROM [טתלושים] WHERE (((טתלושים.בטיפול) = True) AND ((טתלושים.שולם) = False) AND ((טתלושים.חנות) = 'CT'))")
-
@מנצפך אמר בעזרה בשאילתה בVBA:
צריך להיות כך:
Set rs = CurrentDb.OpenRecordset("SELECT * FROM [טתלושים] WHERE (((טתלושים.בטיפול) = True) AND ((טתלושים.שולם) = False) AND ((טתלושים.חנות) = 'CT'))")
CT זה שם של השדה
-
-
אם אני שם מרכאות בשם של השדה זה עושה לי שגיאה בVBA ולא נותן לי לכתוב את זה
-
ניסיתי לשים מרכאות כאלה ' ' וזה לא עבד בכלל, אפי' לא שגיאה.
וכשאני של מכרות כאלה " " אז אקסס מביא לי שגיאה כבר כשאני כותב את זה בVBA -
מה זה CT? משתנה?
א"כ אתה צריך לכתוב:AND ((טתלושים.חנות) = ' " & CT & " '))" -
CT זה השם של השדה בטופס
-
אז צריך לעשות משהו כזה:
(אני כבר לא זוכר כ"כ)AND ((טתלושים.חנות) = ' " & [CT] & " '))" -
אם אני כותב בלי מרכאות זה מביא לי שגיאה שפרמטרים מעטים מדי, ואם אני כותב עם מרכאות זה לא מביא לי כלום (בערך rs.RecordCount הוא מביא לי אפס)
-
לא.
זה כותב לי פרמטרים מעטים מדי. -
לא.
זה כותב לי פרמטרים מעטים מדי. -
בשביל לגשת לטופס צריך לעשות משהו כמו:
[Forms]![myFrom]![MyControl]
-
טעות, האתר לא נותן לי לכתוב מדי הרבה תגובות.
צריך לעשות את זה גם כשהקוד נמצא על הטופס עצמו, עשיתי משתנה שהערך שלו זה השדה ואת זה הוא הצליח, אבל לסנן לפי זה הוא נתקע.
אגב איך עושים ציטוט של קוד? -
- אתה יכול להעלות דוגמא קטנה?
- עצה שלי. תנסה לעבור לשמות טבלאות טפסים ושדות באנגלית. זה ממש יקל עליך את החיים. (אין לך מושג כמה...)
לכארה כמו שכתבו כאן אתה צריך להקיף במרכאות או בגרש בודד.
אם CT זה משתנה, אני ממליץ בחום להוסיף לפרוייקט את פונקציית Enquote
ופשוט לעטוף איתה בשאילתות בקוד את הסטרינג.
היא מטפלת בגרשיים באופן מושלם.Function Enquote(ByVal strText As String) As String Enquote = """" & Replace(strText, """", """""") & """" End Function
4/28