שלח תשובה

זירת השאלות

377
צפיות
20
תשובות

זמן

,‏ 14 בינואר, 2005

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

תגיות:

20 תשובות

  1. ניר טייב הגיב:

    דקות, שעות של מה ?
    ובאיזה שפה/טכנולוגיה ?

    ולמה אתה לא משרשר ?

  2. המבורגר הגיב:

    בVBS
    אני מדבר על איך להציג דקות או שעות בVBS נגיד, את הזמן המלא אני כותב ככה: time() אז איך אני מציג דקות או שעות?
    אני לא שירשרתי כי ב"איך לכתוב הודעה?" רשום שאם יש יותר מדי שאלות באשכול אז זה מבלבל וכתוב שמומלץ לא לכתוב יותר מ-5 שאלות לאשכול, אז החלטתי לפתוח אשכול חדש. אם זה מפריע להנהלה אני מצטער, לא אעשה זאת שוב.

  3. המבורגר הגיב:

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


    do while not rs.eof
    if dateAdd("n",20,rs("date")) <= now() then
    oConn.execute("DELETE OpenLessons WHERE date=#date()#")
    end if
    loop
    do until RS.EOF
    response.write "השעור "
    response.write RS("ClassName") & " "
    response.write "שמנוהל ע"י "
    response.write RS("Teacher") & " "
    response.write "נפתח בין השעות "
    response.write RS("Houers") & " "
    response.write "<br>"
    response.write "לכניסה לשעור,"
    response.write "<a href=" & RS("Link") & ">לחץ כאן</a>"
    response.write "<BR><BR>"
    RS.MoveNext
    loop

    למעלה ניתן לראות שאני צריך למחוק רשומה. עכשיו, יש אתה ה
    DELETE OpenLessons WHERE xxx=xxx
    אני לא יודע לפי מה למחוק, אני לא יודע מה לשים בX.
    תוכלו לעזור לי?
    תודה לכל עוזר ואפילו למי שלא עזר.

  4. המבורגר הגיב:

    אנסח את השאלה בצורה אחרת
    סליחה,אני מצטער על היותי לא ברור. אנסח את זה בצורה אחרת:
    יש לי את השגיאה:


    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'OpenLessons WHERE date=#1/15/2005#'.

    /hpclubs/hgdigital/studies.asp, line 253


    והשורה עליה מראה הקוד:


    oConn.execute("DELETE OpenLessons WHERE date=#" & date() & "#")

    הבנתי שאופרטור חסר, אבל יש לי את הסימן "=" ואני לא מבין מה הבעיה?

    תודה לכל עוזר, וכמובן, גם למי שלא עזר.

  5. זהר פלד הגיב:

    date היא מילה שמורה באקסס.
    יכול להיות שגם ב SQL…

    אם אתה יכול, תשנה את השם של השדה.
    אם לא, תקיף אותו בסוגריים מרובעים בכל שאילתה.

    לגבי השאלה הקודמת שלך, על איך לחשב 20 דקות מהזמן שרשום לך בתוך האקסס, אתה יכול להשתמש ב dateAdd או ב dateDiff, מה שנוח לך יותר. אקסס אמור לתמוך בשניהם, מכיון שהוא תומך ב VBA.

  6. המבורגר הגיב:

    תודה!!!
    באמת תודה, הקהילה הזאת היא עשר.
    היא הכי טובה, יותר מכל קהילה שהייתי בה. איך אני כל-כך טיפש, איך לא שמתי לב לזה. באמת תודה לך ולכל מי שעזר לי.

  7. המבורגר הגיב:

    ניסיתי, לא עבד
    שינתי את השם בדטאבייס לdtdate וזה עדיין מראה לי את אותה שגיאה

  8. ניר טייב הגיב:

    תעשה כך:

    oConn.execute("DELETE OpenLessons WHERE dtdate=date()")

    אני אף פעם לא מבין למה אנשים לא מתשתמשים בפונקציות של אקסס

  9. המבורגר הגיב:

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

  10. ניר טייב הגיב:

    DELETE FROM tbl WHERE…
    ואם לא הבנת אז כנס למדריך ה-SQL…

  11. המבורגר הגיב:

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


    do while not rs.eof
    if dateAdd("n",20,rs("dtdate")) <= now() then
    oConn.execute("DELETE FROM OpenLessons WHERE dtdate=#" & date() & "#")
    end if
    loop
    do until RS.EOF
    response.write "השעור "
    response.write RS("ClassName") & " "
    response.write "שמנוהל ע"י "
    response.write RS("Teacher") & " "
    response.write "<br>"
    response.write "לכניסה לשעור,"
    response.write "<a href=" & RS("Link") & ">לחץ כאן</a>"
    response.write "<BR><BR>"
    RS.MoveNext
    loop


    כפי שאתם יודעים, אני בודק אם הזמן כעת הוא 20 דקות מאז הזמן ששלחתי את הטופס. השדה dtdate מכיל את התאריך. בגלל שאני מתוסכל, חבר שלי הביא לי את הקוד הזה. אני מבין שיכול שיש פה בעיה כי אין פה את הזמן שניתן לבצע בו את הבדיקה. אשמח אם תעזרו(אני חוזר, אני לא מבקש קוד, רק הכוונה). אני מבין שזה לא מציג לי את הנתונים כי כנראה הבעיה היא בקוד.
    תודה לכל עוזר וגם למי שלא עזר. אני לא מבקש קוד!, רק הכוונה!.

  12. BuildHome הגיב:

    נסה להוסיף
    בין השורות
    loop
    do until RS.EOF

    את הקוד
    rs.MoveFirst

  13. המבורגר הגיב:

    תודה. השגיאה: לא קיימות רשומות
    תודה לך על העזרה. התקדמתי בשלב בזכותכם, והעזרה הנפלאה שלכם.
    אבל עכשיו הוא מציג את השגיאה המעצבנת שאין רשומות בטבלה, למרות שהכנסתי לטבלה את המידע. יכל להיות שהבעיה היא בקוד שהבאתי בהודעה הקודמת. יכל להיות שהבעיה היא בלולאה הראשונה בDateAdd או בשאילתת המחיקה. אני לא יודע איפה הבעיה…
    הבנתי שהוא מוחק את הדטא למרות שהוא לא אמור למחוק. הכנסתי רשומה בשעה 10:45 והוא אמור למחוק את הרשומה ב11:05 אני לא מבין למה הוא לא פועל ככה…

    תודה לכל עוזר וגם למי שלא עזר.

  14. BuildHome הגיב:

    נסה משהו כזה
    rs.Open SQL, oConn, 3, 3
    do while not rs.eof
    if dateAdd("n",20,rs("dtdate")) <= now() then
    rs.Delete
    rs.Update
    end if
    rs.moveNext
    loop
    rs.MoveFirst
    do while not rs.eof
    response.write "השעור "
    response.write RS("ClassName") & " "
    response.write "שמנוהל ע"י "
    response.write RS("Teacher") & " "
    response.write "<br>"
    response.write "לכניסה לשעור,"
    response.write "<a href=" & RS("Link") & ">לחץ כאן</a>"
    response.write "<BR><BR>"
    RS.MoveNext
    loop

    השורה הראשונה היא כדי שתראה שהוספתי 3,3 לפתיחת הרקורדסט בשביל עדכון נתונים (מחיקה).

  15. המבורגר הגיב:

    תודה, אבל זה לא עזר…
    זה עדיין מראה לי את אותה שגיאה
    ניסיתי את מה שאמרת והדבקתי את הקוד, וזה עדיין מראה לי שאין רשומות. שמתי לב ל3,3 ולהזזה בין השדות, דרך חכמה, ותודה שעזרת לי, אבל זה לא עזר. (אני מעדיף שתדבר איתי באימייל: nahi_b@netvision.net.il)

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

  16. BuildHome הגיב:

    אז פשוט תעשה
    מחיקת רשומות לפני פתיחת הרקורדסט בעזרת החיבור למסד לפי התאריך (במקום משפט תנאי ולולאה) ואז פשוט תפתח רקורדסט ותריץ לולאה על הרשומות כרגיל.

  17. המבורגר הגיב:

    לא כל-כך הבנתי
    תודה על העצה, אבל אני לא חושב שהבנתי אותך…
    אתה מתכוון לעשות את שאילת המחיקה לפני ה rs.open "SELECT * FROM…" ואז הלולאה להצגת הפריטים, או שלא הבנתי אותך…

  18. BuildHome הגיב:

    כן. קודם מחיקה ואח"כ פתיחת רקורדסט

שלח תשובה