שלח תשובה

זירת השאלות

538
צפיות
3
תשובות

שלום יש לי בעיה במשהו שאני מנסה לבנ

,‏ 12 במאי, 2005

לבנות, לקראת פרוייקט בגרות של בית ספר.
אני מנסה לתת אפשרות להצביע למשהו מסויים, ולהראות את ממוצע הצבעות, שאנשים הצביעו.
(בשביל ספר מסויים במקרה שלי)
אז הוספתי 3 שדות לטבלה של הספרים במסד הנתונים (אחת sum, אחת num, ואחת avr.)
שהם סכום הצבעות מספר הצבעות וממוצע.
כל אחד מהם הוא מספר ממשי. (מוגדר בטבלה.)
וניסיתי לעשות דבר כזה:


sql = "select * from books where bname='"&name&"'"


books.open sql, c, 3

books.fields("votesavr")=books.fields("sumofvotes")/books.fields("numofvotes")

books.update

כאשר לפני זה הגדרתי להעלות את num ב1, ואת sum ב sum+value כאשר את value קיבלתי ב get.. (זתומרת אני שולח את ה value שהוא ההצבעה של המשתמש לדף הזה, ומעדכן.)
אבל משהו קרה:

ה sum, וה num  מעודכנים, אבל ה avr לא.
וגם מופיעה לי הודעה של type mismath, למרות שכולם ממשיים.
כאשר החלפתי את סוג ה sum ו ה num, למספר אינטגר רגיל, הודעת השגיאה שהופיעה לאחר הרצת הדף השתנתה והייתה קשורה ל updatble query
האם אתם יכולים בבקשה לעזור לי? אולי חילקתי לא נכון??

תגיות:

3 תשובות

  1. tttt הגיב:

    עדכון-עובד אבל שוב יש בעיה
    השתמשתי בפונקציות cint וכו, ועכשיו זה מחלק אחד בשני ושומר את התוצאה ב avr אבל בצורה כזאת.
    השתמשתי בפונקציה csng (כי ה avr ממשי ושאר האחרים אינטגר…)
    אבל הוא עושה דבר כזה:
    לדוגמא יש ב sum 40 וב num 6 אז בחילוק של sum ב Num או שומר ב avr את הערך
    6…… זתומרת בלי השארית.
    למה זה קורה? איך פותרים?<

  2. tttt הגיב:

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

  3. n0p הגיב:

    למה לשמור את הממוצע בטבלה?
    למה לא לחשב אותו כשאתה שולף את זה?


    SELECT *, (sum/num) AS avg FROM table

    לפי דעתי זה יעבוד, אבל לא בדוק.

    ובבקשה פעם הבאה לישר את הקוד לשמאל.

שלח תשובה