שאילתת פרמטרים באקסס
-
באקסס ניתן לעשות שאילתת פרמטרים ולקח את הפרמטרים משדה X בטופס, כידוע.
הבעיה כשאני עושה את השאילתות בSQL SERVER ואני צריך שהשאילתא בSERVER תקבל פרמטרים מהFORM שבאקסס.
איך שולחים את הפרמטר מהאקסס / VBA לשרת כשהשרת יעבד את השאילתא ויחזיר אותה אלי מסוננת?ניסיתי לבדוק את הפתרון, ומצאתי חלק.
לVB יש פתרון בלינק , ושם מדברים על יצירת שאילתת פרמטר ונתינת הפרמטר, אבל זה עובד גם כשניגשים לשאילת פרמטר קיימת. וזה רלוונטי אלינו.
בSQL יש פתרון לזה בלינק , והתחביר לפני שאילתת הSELECT הוא:
CREATE PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime;
([פרמטר] תבנית, [פרמטר] תבנית)
ואחריו הסלקט כרגיל.אבל בSQL שיש באקסס זה לא עובד.
הצלחתי לעבוד בשאילתות בלוח הSQL שיש באקסס אותו דבר כמעט בתחביר דלהלן:PROCEDURE kkk [Ending Date] DateTime = 13;
ולאחריו את שאילתת הSELECT.
עד כאן הכל טוב ויפה, אבל כשניסיתי לשנות את הערך ולהפוך אותו לדינמי ע"י קישור לטופס - זה לא עובד. יוק.
ניסיתי להתעלל קצת באקסס באמצעות הVBA ולהוסיף למאפיין RowSource של תיבת רשימה / תיבה משולבת את המשפט PROCEDURE הנ"ל, אך ראה זה פלא: התוכנה משנה את המשפט ומורידה ממנו את החלק של ה"= 13" כך שעוד הפעם נשארתי ללא אפשרות להזין את הפרמטר.אשמח עם כל מי שיוכל לקדם אותי.
בתודה מראש(אולי בכיוון אחר: כיון שסוכ"ס באמצעות שאילתא ניתן לגשת ע"י הפרמטרים הנ"ל, אז האם ניתן בצורה תכנותית ליצור שאילתא שתופיע ברשימת השאילתות של אקסס, ואז כך אוכל פשוט כל פעם ליצור שאילתא, לעדכן את מאפיין ה-RowSource שבתיבת הרשימה וכד' שיגש לשאילתא זו ואז למחוק את השאילתא).
תודהפורסם במקור בפורום CODE613 ב23/06/2016 01:43 (+03:00)