› פורומים › שימוש במערכת › הגבלת אורך תווים בהקמת מק"ט חדש
- This topic has 8 תגובות, 2 משתתפים, and was last updated לפני 8 שנים, 6 חודשים by
levi.
- Post
- Replies
-
- ינואר 17, 2017 בשעה 2:03 pm
- ינואר 17, 2017 בשעה 2:48 pm
הנה אני אלמד לכם טריק(וכאן אני מתבסס על הנחה שהפונקציה הזאת זמינה – אם לא, תשתמשו בשיטה הזאת במקרים אחרים)
בתנאי יש לעשות
שדה מק"ט
שווה
*ביטוי*
שהוא כך, משמאל לימין, אני חושש שעיצוב כאן ישבש
STRCAT)
<>
,
)
STRLEN
)
<>
(
>= (קטן שווה)
16
?
" (אולי צריך להיות 0\ בפנים, נראה לי שלא)
:
'X'
(
(מה זה עושה?
משווה מק"ט לעצמו – אם האורך עד 16 – ויעבור. אם יותר, אז משווה למק"ט פלוס X – שלעולם לא יהיה, ויכשל.יש לי שחשש ששילוב של STRCAT וביטוי תנאי עובד רק בהרכב אחד ולא להיפך. אם זה לא עובד, נסו את ה STRCAT ביחד עם ה X ושימו מק"ט לבד במקום המחרוזת הריקה
פשוט אני לא ליד המערכת היום[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- ינואר 17, 2017 בשעה 3:05 pm
מיותר לציין אך אציין בכל זאת שלא משנה איזה שדה משווים כי משווים מול אותו הדבר או לא.[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- ינואר 17, 2017 בשעה 3:07 pm
- ינואר 18, 2017 בשעה 11:26 am
אוקיי אולי אעשה זאת בהמשך לאחר בדיקת הסינטקס גם[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- ינואר 19, 2017 בשעה 5:55 pm
אוקיי, הנה תשובה לאחר בדיקה.קודם כל אני חייב להתנצל כי היתה טעות עקרוית בתשובה המקורים שלי – אני כתבתי "שווה" אבל במקרה שלנו, אנחנו רוצים "להציג שגיאה כאשר" ולכן מדובר ב"מק"ט שונה מ-" ולא "שווה ל-".
הביטוי הנדרש, כפי שהגדרתי אותו שלשום, הוא:
STRCAT(<>,(STRLEN(<>)<=16?'':'X'))
וכאן שמתי עם שם שדה באנגלית כדי לא להסתבך כאן התצוגה.
אבל
בעצם זה מיותר. אפשר לעשות בדיקה פשוטה יותר:
כאשר מק"ט לא שווה ל- (שונה מ-)
STRIND(<>,1,16)
דהיינו – אני חותך את המק"ט בתו ה-16. אם המקור פחות מ- או שווה ל-16 תווים אז המקור שווה לתוצאה. אם זה ארוך יותר אז לא שווה ועונים לתנאי (של שוני) ורואים הודעת שגיאה.
הערה:
הגישה הנ"ל יכול לשמש עדיין פתרון למצבים כמו זה שמוזכר בשאלה אחרת בהם רוצים ליישם יותר תנאים ממה שהמערכת נותנת.
צריכים לתפור ביטוי שידאג לכך שרק שעומדים בתנאי השני, מקבלים ערך שיעזור לענות על התנאי הראשון – נגיד את זה באופן אחר: התנאי השני צריך לשבש את הערך שבודקים בתנאי הראשון כך שרק כשעומדים בשני התנאים, נעבור את התנאי החיצוני. לפעמים זה לא פשוט וצריכים לתת לזה לא מעט מחשבה אבל שיטה זאת יכולה מאוד לעזור.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
- יש להתחבר למערכת על מנת להגיב.