בקשת מידע | החלפה של התו * (כוכבית) בתו אחר באקסס
-
@יראת-שמים-0 כתב בבקשת מידע | החלפה של התו * (כוכבית) בתו אחר באקסס:
@גבאי אתה יכול לעשות את זה בשאילתת עדכון.
מה זה אומר?
איפה זה נמצא האפשרות הזאת? , תודה -
@פרוזי כידוע, הנתונים באקסס נמצאים בטבלאות, ויש מספר דרכים לשלוף אותם בצורה קלה יותר: שאילתות, דוחות, טפסים. ולנהל את הנ"ל יש מאקרו ומודולים.
שאילתה פשוטה אוספת נתונים מטבלאות שונות ע"פ הקריטריונים והצירופים שאתה מזין לתוכה, ומסדרת אותם בטבלה. זה נקרא 'שאילתת בחירה'. וזו הנפוצה יותר
יש אפשרות ל'שאילתת עדכון', כלומר שנתונים מסוימים בטבלאות מסוימות ישתנו ע"פ הקריטריונים שתזין לתוכה.
זה נעשה כדלהלן: ברצועת הכלים לשונית 'יצירה', יש 'עיצוב שאילתה'. זה פותח לך חלונית שבה תוכל לצרף את הטבלה המבוקשת (הטבלה/אות שבה/ם אתה מבקש לשנות נתונים). כשהחלונית הנ"ל נפתחת נוסף לרצועת הכלים לשונית 'עיצוב שאילתה', שם יש אפשרות לבחור את סוג השאילתה. צריך לבחור 'עדכן' (צורה של טבלה ומעליה סימן קריאה ועיפרון). ואז תצטרך לבחור את השדה/ות המבוקש/ים בטבלה/אות ולכתוב מה אתה רוצה שיהיה לפי איזה קריטריון. במקרה דנן, הקריטריון הוא כוכבית. נ.ב. יש אפשרות לבחור יותר מקריטריון אחד.
בסיום הזנת הנתונים הנ"ל יש ללחוץ על 'הפעל' ברצועת הכלים בצד ימין למעלה.
מקוה שהסברתי מספיק טוב....
בהצלחה! -
@יראת-שמים-0 תודה רבה
אתה מטורף
שנים לא קראתי פוסט כזה ברור -
@יראת-שמים-0 זה בדיוק השאלה שלי
איך אני מגדיר לו בשאילתת עדכון (או בכל סוגי הפונקציות השונות) שיחפש כוכבית
כשאני כותב לו כוכבית הוא מחפש כל סוגי התווים הקימים כי כוכבית מסמל כל תו שהוא. -
@גבאי תנסה לכתוב את המשפט שמובא בהמשך בתצוגת SQL. רק אל תבחר שום טבלה לפני כן בשאילתה, רק תהפוך אותה לעדכון.
UPDATE YourTableName
SET YourFieldName = Replace(YourFieldName, '', 'YourReplacementChar')
WHERE YourFieldName Like '' & '*';
את YourTableName תחליף בשם הטבלה המבוקשת.
את YourFieldName בשם השדה המבוקש.
ואת YourReplacementChar באות/מילה/תו שאתה רוצה שיחליף את הכוכבית.
אני מקוה שהמשפט ההוא יצא ברור, כי אני לא יודע איך ליצור ולהעתיק לפה דוגמת קוד יפה.
תעדכן אם עובד לך -
@יראת-שמים-0 כתב בבקשת מידע | החלפה של התו * (כוכבית) בתו אחר באקסס:
כי אני לא יודע איך ליצור ולהעתיק לפה דוגמת קוד יפה.
hi!
-
@גבאי אני חושב שזה יעשה לך את זה, זה צריך להחליף את כל המופעים של * בעמודה שתיבחר
UPDATE YourTableName SET YourColmenName = Replace(YourColmenName, "*", "ReplacementValue") WHERE YourColmenName Like "*[*]*";
תחליף את YourTableName בשם הטבלה שלך, ואת YourColmenName בשם השדה שברצונך לעדכן, ובערך שבו "ReplacementValue"תרצה להחליף את הכוכבית.
-
@יראת-שמים-0 תודה רבה על העזרה
למעשה משהו לא מסתדר לי
זה נראה שיש שגיאה בקוד כי אני מכניס את הקוד לאקסס הוא נהיה אדום.
אולי אני לא מחליף את הארגומנטים נכון.
הטבלה שלי היא בשם "דוח"
השדה שאני רוצה להחליף הוא "P050"
הנתון להחליף את הכוכבית הוא ב "-" (אם זה לא אפשרי אז כל סימון אחר כמו למשל &)
אודה לך מאוד אם תכתוב לי את הקוד כפי הדוגמא לי.
תודה רבה רבה -
@גבאי בבקשה
UPDATE דוח SET P050 = Replace(P050, '*', '-') WHERE P050 Like '*' & '*';
כמה דגשים: אל תוסיף את השדה בעיצוב שאילתה, אתה צריך רק להוסיף את הטבלה ולסגור את החלונית של 'הוסף טבלה'. בכדי שרק הטבלה הזו תזוהה. את השדה שבתוך הטבלה הוא בוחר לפי הקוד, לכך לא להוסיף אותו בעיצוב שאילתה.
אם כשאתה פותח את התצוגת SQL מופיעה המילה SELECT אל תשאיר אותה אלא תעתיק את הקוד עליה.
כמובן שהייתי ממליץ לך לעשות את זה קודם כל בקובץ ניסוי (להעתיק את הקובץ ולעבוד על העותק).
בהצלחה... -
@יראת-שמים-0 זה עובד לי פצצה
אין מילים ממש עזרה עצומה.
עוד שאלה קטנה אם אני רוצה לעשות את זה על שדה נוספת, לעשות שאילתה נוספת או שאפשר לשתול עוד שורה? -
@גבאי אני חושב שכל עוד זה על אותה טבלה אין בעיה לכתוב את אותו משפט פעם נוספת בשינוי השם של השדות הנדרשים. אבל קח את זה בערבון מוגבל כי זכור לי שיש התניה שצריך לעשות אם מדובר בשתי שדות (אולי זה רק אם אתה מעדכן את שניהם יחד, לא זוכר כעת).
עכ"פ, לא תינזק מליצור שאילתה חדשה...
אם בכל זאת מעניין אותך תעשה את זה בקובץ ניסוי.