צפיות
תשובות
שאלה
כתבתי את הקוד הבא:
if request.cookies("gclub")("username")="" then
userenter="אורח"
else
userenter=request.cookies("gclub")("username")
end if
sqle="select entern,ip,user,date,enter from enterlist where ip='"&request.servervariables("remote_addr")&"' and date="&date()&" and user='"&userenter&"'"
Set rse = Server.CreateObject("ADODB.Recordset")
rse.open sqle,con2,3,3
if rse.EOF then
sqled = "SELECT user,ip,date,enter From enterlist"
Set rsed = Server.CreateObject("ADODB.Recordset")
rsed.open "enterlist", con2, 3, 3
rsed.AddNew
rsed("user")=userenter
rsed("ip") = request.servervariables("remote_addr")
rsed.Update
rsed.close
set rsed=nothing
else
Set rsp = Server.CreateObject("ADODB.Recordset")
rsp.open "enterlist where ip='"&request.servervariables("remote_addr")&"' and date="&date()&" and user='"&userenter&"'", con2, 3, 3
rsp("enter") = rsp("enter")+1
rsp.Update
rsp.close
set rsp=nothing
end if
rse.close
set rse=nothing
אבל הוא לא עושה מה שהוא אמור לעשות.
הקוד הזה אמור ליבדוק אם המשתמש ניכנס כבר היום לאתר ואם הוא ניכנס להוסיף בעמודה של enter +1 ואם הוא עדיין לא ניכנס אז הוא מוסיף שורה חדשה בטבלה של האיפי שלו, שם שמשתמש שאם הוא לא מחובר לאתר אז זה מוסיף בטבלה "אורח", ואת התאריך של היום שהוא ניכנס כדי שכל יום זה איבדוק.
עכשיו הבעיה היא שזה כל הזמן מוסיף שורה חדשה זה לא בודק אם הוא ניכנס היום אז זה יוסיף +1 לenter אלה כל הזמן זה מוסיף שורה חדשה של ip,user,date,enter מה יכולה להיות הבעיה שזה לא עושה את הפונקציה של הוספת +1 לenter?
7 תשובות
טוב לא משנה הבנתי מה הבעיה
אבל למה אי אפשר לעשות מישפט select אם יותר מ2 תנאים?
שעשית כמו פה משפט select אם שלושה תנאים אזהוא לא פעל ביגלל זה תמיד זה עשה eof אבל ששניתי לשני תנאים מחקתי date מהתנאי אז זה פועל כמו שצריך.
למה זה?
כי date ואאל"ט גם יוזר הם מילים
שמורות בSQL של אקסס(רק בשלו ?!).
ומה שקורה כיוון שאקסס מבוסס על VBA אפשר לקרוא לרוב הפונקציות שלו ע"י כתיבתם ללא ה-() ולכן בעצם נותר לך תנאי שלא מתקיים.
כך אני מעריך
זאת גם לא הבעיה….
עכשיו שהורדיתי את הuser משאילתת הselect והצבתי בימקומו את משתנה הdate() אז זה כול פעם עושה לי שורה חדשה.
למה זה?
מה אי אפשר לעשות בשאילתת select משתנה date()?
אם אי אפשר מה ניתן לעשות כדי שהשאילתה תיתיחס לשמתמשים שניכנסו היום ולא שתוסיף +1 לenter למשתמש שניכנס אתמול נגיד והיום זאת רק כניסה ראשונה שלו?
תודה לכל העוזרים
מצטער על כל בילבולי המוח….
לא זה לא זה ניסיתי גם לשנות את השם
של השדה לedate ולשים את הdate בוגריים ריבועיים אאבל לום לא הולך.
לא משנה לבסוף הסתדרתי
מממ….
תאריכים מקיפים ב-#
לא הקפתי בכלום וזה פעל..
רשמתי ככה:
sql="selset ………………………. where …… and edate=Date()
(הנקודות זאת אומרת שכתוב בין לבין דברים..)