שאילתה באקסס

sapir1234561

New member
שאילתה באקסס

אני מעונין לשלוף מידע מטבלה לפי STRING חלקי לדוגמה אני אני מכניס את המחרוזת THE אני רוצה קבל את כול הרשמות שהמחורזת הזו מוכלת בתוכם הצלחתי לבצע את זה תוך כדי שימוש בטבלת עזר ששם אני מכניס את מחורזת החיפוש. השאילתה ניראת כך:
SELECT Moves.* FROM Moves, temp WHERE (((InStr(LCase([Moves]![name]),LCase([temp]![name])))>0));​
איך אני משנה אותה כך שאני אוכל להכניס לה מכרוזת בזמן ריצה ע"י שימוש בתוכנית חיצונית. אני יכול לבצע את השאילתה הזו בשני שלבים: אחד לעדכן את הטבלת העזר ושניה לשלוף את המידע מטבלת השאילתה. אם ישנה דרך לבצע את הפעם אחת? תודה מראש
 

זהר פלד

New member
אין שום סיבה להשתמש בטבלת עזר

בשביל לחפש חלק מביטוי משתמשים ב LIKE עם סימון wildcard מתאים - % או ? לחיפוש מספר לא ידוע של תווים או תו בודד, בהתאמה:
SELECT * FROM TableName WHERE ColumnName LIKE '%searchString%'​
יחזיר לך את כל הרשומות שאיפשהו בתוך columnName נמצאת המחרוזת searchString.
SELECT * FROM TableName WHERE ColumnName LIKE '?searchString%'​
יחזיר לך את כל הרשומות שהמחרוזת searchString מתחילה מהאות השניה בערך שנמצא ב ColumnName.
 

sapir1234561

New member
השאילה לא עובדת

כתבתי את השאילתה הזו לדוגמה באקסס
SELECT Moves.* FROM Moves WHERE name LIKE '%in%';​
ולכול מחרוזת שהכנסתי לא קבלתי אף תוצאה. האם ישנה טעות בשאילתה שכתבתי? תודה מראש
 

24sharon

New member
2 הערות:

ראשית לא מומלץ בכלל לקרוא לשדה בשם NAME שנית אתה צריך לשים כוכבית (*) במקום האחוז (%) - כי המדובר על אקסס. כל טוב
 

זהר פלד

New member
זה קטע מאוד מוזר עם האקסס הזה...

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