באמצעות פונקציות מחרוזת, באפשרותך ליצור ביטויים ב- Access שמטפלים בטקסט במגוון דרכים. לדוגמה, ייתכן שתרצה להציג רק חלק ממספר סידורי בטופס. לחלופין, ייתכן שיהיה עליך לצרף (לשרשר) כמה מחרוזות יחד, כגון שם משפחה ושם פרטי. אם אינך בקיא עדיין בביטויים, ראה/י בניית ביטוי.
להלן רשימה של כמה מפעולות המחרוזת הנפוצות ביותר ב- Access והפונקציות שבהן תשתמש כדי לבצע אותן:
| לשם... | השתמש ב... | לדוגמה... | תוצאות |
|---|---|---|---|
| החזרת תווים מתחילת מחרוזת | הפונקציה Left | =Left([SerialNumber],2) | אם [SerialNumber] הוא "CD234", התוצאה היא "CD". |
| החזרת תווים מסוף מחרוזת | הפונקציה Right | =Right([SerialNumber],3) | אם [SerialNumber] הוא "CD234", התוצאה היא "234". |
| איתור המיקום של תו במחרוזת | הפונקציה InStr | =InStr(1,[FirstName],"i") | אם [FirstName] הוא "Colin", התוצאה היא 4. |
| החזרת תווים ממרכז מחרוזת | הפונקציה Mid | =MID([SerialNumber],2,2) | אם [SerialNumber] הוא "CD234", התוצאה היא "D2". |
| חיתוך רווחים מובילים או נגררים ממחרוזת | הפונקציות LTrim, RTrim ו- Trim | =Trim([FirstName]) | אם [FirstName] הוא " Colin ", התוצאה תהיה "Colin". |
| צירוף שתי מחרוזות יחד | אופרטור סימן חיבור (+)* | =[FirstName] + [LastName] | אם [FirstName] הוא "Colin" ו- [LastName] הוא Wilcox, התוצאה היא "ColinWilcox" |
| צרף שתי מחרוזות יחד עם רווח ביניהן | אופרטור סימן חיבור (+)* | =[FirstName] + " " + [LastName] | אם [FirstName] הוא "Colin" ו- [LastName] הוא Wilcox, התוצאה תהיה "Colin Wilcox" |
| שינוי מצב הרישיות של מחרוזת לאותיות רישיות או לאותיות קטנות | הפונקציה UCase או הפונקציה LCase | =UCase([FirstName]) | אם [FirstName] הוא "Colin", התוצאה תהיה "COLIN". |
| קביעת אורך מחרוזת | הפונקציה Len | =Len([FirstName]) | אם [FirstName] הוא "Colin", התוצאה היא 5. |
* אוקיי, אז זו לא פונקציה, זה אופרטור. עם זאת, זוהי הדרך המהירה ביותר לחבר מחרוזות. במסד נתונים שולחני, באפשרותך גם להשתמש באופרטור אמפרסנד (&) לצורך שרשור.
קיימות ב- Access פונקציות רבות נוספות הקשורות לטקסט. דרך טובה ללמוד עוד אודות הביטויים היא לפתוח את בונה הביטויים ולעיין ברשימות הפונקציות. בונה הביטויים זמין כמעט בכל מקום שבו ברצונך לבנות ביטוי - בדרך כלל ישנו לחצן ' בנה ' קטן שנראה כך:
כדי להדגים את בונה הביטויים, בוא נפתח אותו מתוך המאפיין 'מקור פקד ' בטופס או בתצוגה. השתמש באחד מההליכים שלהלן בהתאם לשאלה אם אתה משתמש במסד נתונים של שולחן עבודה או ב- Access Web App.
הצגת בונה הביטויים במסד נתונים שולחני
פתח מסד נתונים שולחני (.accdb).
הקש F11 לפתיחת חלונית הניווט, אם היא לא פתוחה כבר.
אם כבר יש לך טופס זמין, לחץ עליו באמצעות לחצן העכבר הימני בחלונית הניווט ולאחר מכן לחץ על תצוגת פריסה. אם אין לך טופס לעבוד איתו, לחץ על צור>טופס.
לחץ באמצעות לחצן העכבר הימני על תיבת טקסט בטופס ולחץ על 'מאפיינים'.
בגליון המאפיינים, לחץ על כל>מקור הפקדים ולחץ על לחצן 'בנה '
בצד השמאלי של תיבת המאפיין 'מקור פקד '.
תחת 'רכיבי ביטוי', הרחב את הצומת 'פונקציות ' ולאחר מכן לחץ על 'פונקציות מוכללות'.
תחת 'קטגוריות ביטויים', לחץ על 'טקסט'.
תחת ערכי ביטויים, לחץ על הפונקציות השונות וקרא את התיאורים הקצרים שבתחתית בונה הביטויים.
הערה
לא כל הפונקציות הללו זמינות בכל ההקשרים; Access מסנן את הרשימה באופן אוטומטי בהתאם לרשימות שפועלות בכל הקשר.
שילוב פונקציות טקסט לגמישות רבה יותר
פונקציות מחרוזת מסוימות מכילות ארגומנטים מספריים, שבמקרים מסוימים עליך לחשב בכל פעם שאתה קורא לפונקציה. לדוגמה, הפונקציה Left מקבלת מחרוזת ומספר, כמו =Left(SerialNumber, 2). זוהי אפשרות נהדרת אם אתה יודע שאתה תמיד צריך את שני התווים השמאליים, אך מה קורה אם מספר התווים הדרושים משתנה מפריט לפריט? במקום "לקודד באופן קשיח" את מספר התווים, באפשרותך להזין פונקציה אחרת המחשבת אותו.
להלן דוגמה של מספרים סידוריים שלכל אחד מהם יש מקף במקום כלשהו במחרוזת. עם זאת, מיקום המקף משתנה:
| מספר סידורי |
|---|
| 3928-29993 |
| 23-9923 |
| 333-53234 |
| 3399940-444 |
אם ברצונך להציג רק את המספרים מימין למקף, עליך לבצע חישוב בכל פעם כדי לברר היכן נמצא המקף. אפשרות אחת היא לעשות משהו כזה:
=Left([SerialNumber],InStr(1,[SerialNumber],"-")-1)
במקום להזין מספר כארגומנט השני של הפונקציה Left, חיברנו את הפונקציה InStr, המחזירה את מיקום המקף במספר הסידורי. אם תחסר 1 מערך זה, תקבל את מספר התווים הנכון להחזרת הפונקציה Left. זה נראה קצת מסובך בתחילה, אך בעזרת מעט התנסות ניתן לשלב שני ביטויים או יותר כדי לקבל את התוצאות הרצויות.