locked
עזרה במספר שאלות שנתקלתי בהם במהלך פרויקט תוכנה באקסס 2010 RRS feed

  • שאלה

  • בס"ד

    שלום לכולם!

    אני עובד על פרויקט תוכנה באקסס 2010 ויש לי מספר שאלות:

    1.       יצרתי טופס "רכישה לסיטונאי" ומסד נתונים בשם "רכישה לסיטונאי" במסגרת הפרוייקט, 

         ובו יצרתי פקד תיבת טקסט. זהו פקד מחושב אשר מחשב נתונים ופולט את הסכום מפקדים אחרים. השאלה היא, מה אני אמור לעשות בכדי שהפקד המחושב הזה יהיה גם פקד מאוגד. קרי, שאותו פקד יוכל גם להקליט את אותם הנתונים שהוא מציג במסד הנתונים עצמו? 

     

    2.       לאור השאלה למעלה, חיפשתי פתרון בפורומים שונים ובהם נכתב כי הדרך היחידה לגרום לפקד מחושב להקליט גם את המידע, הינה על ידי יצירת שאילתה ו"ולתווך" באמצעותה בין הפקד המחושב למסד הנתונים, על ידי לחיצה על הכפתור "רכישה", שבו תושתל פקודת מאקרו, הקוראת לשאילתה לפעול ולהקליט את המידע למסד. עשיתי זאת ע"י יצירת שאילתה מסוג "הוספה" והוספתי במאפיין "שדה" את הביטוי הבא:

        "[Expr1: [BatimTxt_Price1]=[BatimTxt_Price1"    

    ובשדה "הוסף ל": "בתים- סה"כ לתשלום" אשר נמצא בטבלה "רכישה לסיטונאי"

    בשפת SQL      הביטוי נראה כך:

    INSERT INTO     [רכישה - לסיטונאי] ( [בתים-סה"כ לתשלום1] )

    SELECT DISTINCTROW [BatimTxt_Price1]=[BatimTxt_Price1] AS Expr1

    FROM     [רכישה - לסיטונאי];

     

    ובעצם כאשר אני מריץ את הטופס ולוחץ על הכפתור "רכישה" קופץ לי החלון הבא:

    http://i194.photobucket.com/albums/z151/PInhas7000/cbb68231.png

    השאלה היא -  איך לגרום ע"י קוד SQL      או כל דבר אחר  לשאילתה לקחת את ערך הפרמטר מפקד תיבת הטקסט המחושב הנמצא בטופס עצמו, ולהזין אותו במסד נתונים באופן אוטומטי -  ולא לבקש   הזנת ערך נוספת כמתואר לעיל?

     

    3.      אותו חלון  "רכישה לסיטונאי", אמור להיות מקושר למסד נתונים "רכישה לסיטונאי". הבעיה היא שאני צריך קרוב ל - 700 שדות והתוכנה מוגבלת ל- 255 שדות בלבד. השאלה היא האם יש דרך לעקוף את המגבלה דרך הרג'יסטרי של המערכת, או בכל דרך אחרת? כגון קוד SQL  או קוד  VBAוכו'... ,כי ראיתי דרך "העזרה" של התוכנה שיש דרך לעקוף דרך הרג'יסטרי את ההגבלה של ה - 255 תווים בשדה מסוג "טקסט" במסד נתונים? (והעזרה של התוכנה אפילו אומרת את הערך של הרג'יסטרי שיש לשנות במערכת ההפעלה). אני משתמש במערכת הפעלה חוקית Windows 7 Ultimate 64 Bit

    ו  Microsoft Office 2010 Professional + Acsess Runtime x64 המותקן במערכת (כמובן שזה חוקי) המערכת הפעלה שברשותי היא בשפה העברית

    מפרט המחשב שלי אם צריך:

     Intel Pentium E6600 , 3.06 GHz , 1066Mhz FSB, Socket 775

    לוח אם: ASUS P5G41T-M LX

    זיכרון פנימי:  4GB G.SKILL  ,DDR3 1333 MHz, 9 CL

    כרטיס מסך: ASUS 210 GT , 512MB ,PCI-X (Nvidia Ge force 210GT)

    (...ואם תצטרכו עוד פרטים אני יכתוב לכם בשמחה...)

    הפתרון של קשרי הגומלין לא עזר במיוחד.

     

    4.      בטופס "רכישה לסיטונאי" אני משתמש בפקד ActiveX הנקרא  DTPiker  הבא במקור מהקובץ : "mscomct2.ocx" אשר מוכנס לרג'יסטרי כראוי. מה שייחודי בפקד אקטיבX  הזה שיש אפשרות "לשחק" עם התאריכים ולבחור בתאריכים אשר לפני תאריך הנוכחי ותאריכים מאוחרים יותר. הבעיה היא שהפקד החיצוני הזה  אינו יציב במערכת ולפעמים המחשב מזהה אותו ולפעמים לא. המחשב כותב את השגיאה הבאה:

     http://i194.photobucket.com/albums/z151/PInhas7000/70b4eb43.png

    השאלה היא האם יש דרך להוסיף את הפקד כך שלא יקרוס? או מה לכתוב בCMD בהוספת  הפקד כערך ברג'יסטרי של מערכת ההפעלה?  או איך להכניס את זה בצורה טובה ויציבה לרג'יסטרי?  או שצריך להשתמש בפקד חלופי פנימי המובנה בתוך האקסס? ואם כן, איזה פקד עלי לשים במקומו אשר עונה לצרכים שלי ואשר יש לו את אותה הייחודיות כמו לפקד הנ"ל - ולהביא לי חלופה טובה ויציבה אשר לא תקרוס בזמנים לא ידועים ?

        

    5.      בטופס "רכישה לסיטונאי",  הפקד תיבת הטקסט "כמות" אמור להסתנכרן עם מסד הנתונים בשם "מלאי ומחירים" ובכל פעם כאשר אני לוחץ על הכפתור "רכישה" אמור לרדת הסכום של הכמות במלאי לגבי אותו פריט בסכום כמות הרכישה. השאלה היא איזה ביטוי או קוד אני צריך לכתוב על מנת שכאשר אני אלחץ על כפתור "רכישה" הכמות מלאי תפחת בכמות של  הרכישה לגבי פריט מסויים, במסד הנתונים " מלאי ומחירים" .

     

    נ.ב

    מצורף לנ"ל צילום מסך של הטופס רכישה לסיטונאי על מנת שתוכלו להבין טוב יותר במה מדובר לעזור בצורה הטובה המהירה והיעילה.

     

     http://i194.photobucket.com/albums/z151/PInhas7000/9ab89d9b.png

     

    ממש תודה רבה על כל העזרה.

     

     

        

     


    יום ראשון 22 ינואר 2012 10:34