צריך עזרה

orenstat

New member
צריך עזרה

יש לי מסד נתונים נגיד קוראים לו orenstat. השדות בו הם שם, לינק, תמונה ושם משפחה ו-ID (מספור אוטומטי). איך אני עושה שיראה לי מתוך כל המסד נתונים את 5 ההודעות האחרנות שנרשמו? תודה מראש, טל
 

shanor

New member
דיי פשוט

תוסיף בסוף השאילתה שלך את הפרמטר של limit 5 כמובן תלוי במה אתה עובד... הנה שאילתה ב- MYSQL SELECT * FROM orenstat order by ID desc LIMIT 5 ב- MYSQL זה יתן לך את 5 השורות האחרונות על פי שדה ה- ID שלך מסודר מהסוף להתחלה (משמע מההודעה האחרונה ועוד 4 ההודעות הקודמות לה).
 

orenstat

New member
צרפתי את משפטי ה sql שלי...

משפטי ה sql שלי הם: SQL = "SELECT aaa.id, aaa.a,aaa.b,aaa.c," SQL = SQL & " bbb.a FROM MANAGER INNER JOIN aaa ON bbb.id = aaa.manager_id" SQL = SQL & " Order By b DESC, c DESC" איפה אני צריך לרשום את ה limit? תודה מראש, טל
 

orenstat

New member
טעיתי בנוגע למשפטים הקודמים-אל תתיח

טעיתי משפטי ה sql הם: SQL = "SELECT aaa.id, aaa.a,aaa.b,aaa.c," SQL = SQL & " bbb.a FROM bbb INNER JOIN aaa ON bbb.id = aaa.bbb_id" SQL = SQL & " Order By b DESC, c DESC" איפה אני צריך לרשום את ה limit? תודה מראש, טל
 

shanor

New member
תנסה את זה:

שוב אני משליך מ-MYSQL אז יכול להיות שיהיו כמה דברים מעט שונים: זה דיי בעייתי כי הניסוח של השאילתות שלך שונה במעט מזה שאני מכיר, אבל הלימיט בגדול אמור לבוא אחרי ה- ORDER BY DESC. על פי השאילתה שאותה אתה רוצה להגביל. שנאור.
 

orenstat

New member
אני צריך לעשות = או לכתוב limit 5?

אני צריך לעשות = או לכתוב limit 5? תודה, טל
 

orenstat

New member
יש הודעת שגיאה:

זה לא הולך בכל מצב. הוא כותב לי את הודעת השגיאה: Microsoft OLE DB Provider for ODBC Drivers error ´80040e14´ [Microsoft][ODBC Microsoft Access Driver] Syntax error in ORDER BY clause. מה הבעיה? תודה מראש, טל
 

shanor

New member
קטונתי, אני יודע לעבוד על MYSQL

כנראה שה- SQL שלך לא ממש אוהב אותי...
 
תנסה את זה...

אני משתמש בקוד שלך עם תוספת של שורת WHERE
SQL = "SELECT aaa.id, aaa.a,aaa.b,aaa.c," _ & " bbb.a FROM MANAGER INNER JOIN aaa ON bbb.id = aaa.manager_id" _ & " WHERE (aaa.id> dmax(aaa.id)-5) " _ & " Order By b DESC, c DESC"​
הרעיון הוא להביא את חמשת הרשומות האחרונות... פקודת Dmax נותן לנו את הערך הגבוה ביותר, מכאן שהביטוי dmax(aaa.id)-5 יתן לנו את חמשת הרשומות האחרונות שהוזנו לטבלה. שים לב, המדובר בחמש רשומות אחרונות שהוזנו, לא שעברו עריכה!!! בהצלחה שמוליק
 

orenstat

New member
תודה, אבל הפעם הודעת השגיאה היא

תודה אבל הודעת השגיאה עכשיו היא: Microsoft OLE DB Provider for ODBC Drivers error ´80040e14´ [Microsoft][ODBC Microsoft Access Driver] Wrong number of arguments used with function in query expression ´(aaa.id> dmax(aaa.id)-5)´. יש לך או לכל אחד אחר עוד רעיון... בתודה מראש, טל
 

yossin

New member
שתי שיטות

שיטה אחת, להשתמש בתכונת TOPVALUES מתוך מאפיינים בעת עיצוב השאילתה. דרך שניה, כללית יותר, היא להוסיף מונה בשאילתה שליד כל שורה יציג את המספר שלה ואז כשאתה בונה את המסך שלך, אתה משתמש בנומרטור מהשאילתה. הדרך להוסיף נומרטור לשאילתה: http://easyweb.easynet.co.uk/~trevor/AccFAQ/queries.htm#counter
 

orenstat

New member
עדיין, מישהו יכול לעזור???

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

yossin

New member
השיטה הראשונה תעזור לך

אתה יוצר שאילתה. כל הפקודות הן באמצעות האשף: מסדר את הנתונים לפי מספר הרשומה בסדר יורד בחלק העליון של המסך לוחץ על כפתור ימני בעכבר ובעזרת התפריט שנפתח בוחר מאפיינים אחד המאפיינים הוא TOPVALUES שנמצא כעת על ALL. אתה משנה אותו ל 5 זה הכל. בלי שורה אחת של קוד
 

orenstat

New member
לא הבנתי משהו

לא הבנתי משהו, מה אני אמור לעשות עם הקישור שהבאת לי ועם שורות הקוד שכתובות שם? תודה, טל
 
למעלה