› פורומים › אפיון ופיתוח פריוריטי › הוספת עמודה עם יצירת תנאי
- This topic has 5 תגובות, משתתף 1, and was last updated לפני 10 שנים by
אלמוני.
- Post
-
- ספטמבר 2, 2015 בשעה 12:45 pm
שלום ,
אני מעוניינת ליצור עמודה חדשה (במסך בן ) – עמודה שתבצע מספור אוטומטי בעל 6 ספרות .במסך הנוכחי ישנם כעת אלפי רשומות, לכן אני רוצה להתחיל את המספור האוטומטי החל מהיום (בכדי שאוכל להשתמש במספר קצר בעל 6 ספרות ).
כיצד צריך לעשות זאת ? אני צריכה לרשום שאילתה לכך או שישנה דרך אחרת ?בנוסף, אני רוצה שהמספור יחול רק על ערכים מסוימים(הנמצאים בעמודה אחרת) לדוגמא : ברגע שהוא מזהה שהמשתמש לא הזין דבר או לחלופין הזין ערך 0 בעמודה X , עמודת Y תקבל מספור , אחרת עמודת Y לא תמוספר.
אודה לעזרה
- Replies
-
- ספטמבר 2, 2015 בשעה 1:51 pm
- ספטמבר 2, 2015 בשעה 2:03 pm
תודה על התשובה נועם,
לא מצאתי את ההפעלה של הקמת מונה.
והאם ההפעלה תקפה החל מהתאריך שאני מפעילה אותה ?לגבי התנאי, אני רושמת את ההפעלה- PER-INSERT ואז לרשום שאילתת SQL לתנאי שאני רוצה ?
- ספטמבר 2, 2015 בשעה 3:05 pm
קודם כל, אל תשתמשי בהפעלה הקיימת אלא תייצרי הפעלה חדשה עם שם כמו TEST_PRE-INSERT
השורה הראשונה יכולה להיות כמו GOTO 99 WHERE :$$.VALID = 'Y
(עם גרש אחרי ה-Y) שפירושו לדלג על הכל אם ערך השדה VALID במסך האב שווה ל-Y
ואז בא הקוד שלך. המונה יתחיל לרוץ מהרגע שאת מתקינה אותו.
מוזר שלא מצאת את ההפעלה הסטנדרטית- ספטמבר 2, 2015 בשעה 4:00 pm
שוב תודה נועם,
לגבי BUF24 מצאתי אותו.אתה יכול לתת לי אתר או להסביר לי בכמה מילים על ההפעלות האלו ? אני מתחיל בפיתוח ואני רוצה להשתמש בהן.
ונכון לעכשיו אני לא מצליחה להבין מה הן עושות.תודה מראש
- ספטמבר 2, 2015 בשעה 9:47 pm
זה לא בדיוק קוד בשביל מתחילים…. אין לי כרגע הקוד מול העיניים לכן אנסה להסביר בגדול מה קורה שם. דוגמא יותר פשוטה נמצאת בקוד שפתיחת פריט לפי תבנית.קודם מושכים מטבלה בשם LASTS (דהיינו, הערך האחרון של משהו) את הערך הנוכחי. אם לא קיים ערך, אז מאתחלים את המונה עם התאריך הנוכחי (אני לא מבין למה. כאשר אני כותב קוד כזה, אני מאתחל את המונה עם ערך 0).
מגדילים את ערך המונה באחד.
אחר כך רושמים נתונים מסוימים לתוך טבלה, כאשר ערך המפתח הראשי של הטבלה הוא המונה. אם הכתיבה אינה מצליחה, אז שוב מגדילים את ערך המונה באחד ומנסים לרשום את הנתונים שוב.כאשר הכתיבה מצליחה, מעדכנים את טבלת LASTS עם הערך הנוכחי של המונה.
למה הכתיבה לתוך הטבלה השניה יכולה להיכשל? נניח ששני אנשים מפעילים את התכנית בו זמנית. תחילה שניהם מקבלים את הערך האחרון של המונה. הראשון שכותב לטבלה השניה יצליח, מפני שהמונה יהיה יחודי בתוך הטבלה. כאשר השני מנסה לכתוב – את אותו הערך – הכתיבה תיכשל מפני שהערך הזה כבר קיים בתוך הבטלה. לכן מגדילים את ערך המונה באחד ומנסים שוב. כך בטבלה השניה, המפתח הראשי תמיד יהיה יחודי.
במקרה שלך, את צריכה להגדיר ערך מחרוזת בטבלת LASTS, כאשר הערך ההתחלתי יהיה 0. בהפעלה שלך, את צריכה לקרוא את הערך, להגדיל אותו באחד, להפוך אותו למחרוזת בת שישה תווים (יש פונקציה שעושה זאת), לוודא שערך הזה יחודי בטבלת היעד שלך, לשמור את הערך בטבלת היעד שלך ואז לשמור בטבלת LASTS את הערך המעודכן.
אם ההסבר הזה אינו מספיק, אני מציע שתשלחי לדוא"ל שלי את מספר הטלפון שלך ואנסה להסביר לך בעל פה.
- יש להתחבר למערכת על מנת להגיב.