טבלה

  • Post
    יוסי
    משתתף
    שלום לכולם.
    אני מעוניין להוסיף עמודה למסך הצעות מחיר.
    שדה נוסף שלקוח מטבלה חדשה שבניתי.
    איך אני מקשר בין הטבלה החדשה למסך הצעות המחיר.
    האם אני מבצע את הפרוצדורה של "הוספת עמודה " ובוחר את המפתח הראשי של הטבלה החדשה שעשיתי..
    בתודה יוסי
מוצגות 9 תגובות – 1 עד 9 (מתוך 9 סה״כ)
  • Replies
    Lior
    מנהל בפורום
    אתה צריך להכניס במסך הצעת מחיר עמודה עם מאפיינים זהים של ה A של הטבלה החדשה ולעשות JOIN בין העמודה החדשה ל A של הטבלה הפרטית
    יוסי
    משתתף
    הי ליאור-מה שלומך?
    אשמח לעזרה מעט יותר מפורטת.
    אני אבין את הרעיון אחרי פעם אחת – אבל מסודרת:-)

    בניתי טבלה כלשהי-
    לטבלה שלי יש מפתח A
    אני מעוניין להוסיף שדות באחד המסכים מהטבלה החדשה- נאמר במסך הצעות מחיר.

    אז אני יודע ששלב ראשון אני אמור לעשות גיבוי לטבלה שאני עומד להוסיף לה עמודה..
    אם אפשר לדעת איך עושים את הגיבוי.

    היכן להכניס את הקוד של SQL
    לגיבוי (ומהוא הקוד)

    שלב הבא
    עכשיו אשמח לדעת איך עושים JOIN
    כפי שכתבת לי.
    להוסיף עמודות בתוך מסך מטבלה אני יודע .
    אך הקישור הראשוני של הטבלה החדשה למסך שלי -את זה איני יודע איך לעשות…
    אשמח להסבר של שלב אחר שלב – הפעם השניה אחרי שאבין תהיי קלה הרבה יותר
    תודה רבה

    יוסי
    משתתף
    הי ליאור-מה שלומך?
    אשמח לעזרה מעט יותר מפורטת.
    אני אבין את הרעיון אחרי פעם אחת – אבל מסודרת

    בניתי טבלה כלשהי-
    לטבלה שלי יש מפתח A
    אני מעוניין להוסיף שדות באחד המסכים מהטבלה החדשה- נאמר במסך הצעות מחיר.

    אז אני יודע ששלב ראשון אני אמור לעשות גיבוי לטבלה שאני עומד להוסיף לה עמודה..
    אם אפשר לדעת איך עושים את הגיבוי.

    היכן להכניס את הקוד של SQL
    לגיבוי (ומהוא הקוד)

    שלב הבא
    עכשיו אשמח לדעת איך עושים JOIN
    כפי שכתבת לי.
    להוסיף עמודות בתוך מסך מטבלה אני יודע .
    אך הקישור הראשוני של הטבלה החדשה למסך שלי -את זה איני יודע איך לעשות…
    אשמח להסבר של שלב אחר שלב – הפעם השניה אחרי שאבין תהיי קלה הרבה יותר
    תודה רבה

    Lior
    מנהל בפורום
    הי יוסי

    גיבוי לטבלה נהגו לעשות על ידי הפקודה הבאה ב WINDBI

    SELECT * FROM table_name DATA STRCAT (SQL.ENV, '-table_name') ;

    אני לא ממש מחזיק מהגיבוי הזה. ואף פעם לא נצרכתי לשחזר ממנו. הכי בטוח זה לבצע גיבוי יומי למערכת באמצעות התוכנית מתפריט מנהל המערכת

    לגבי שאלת ה JOIN אנסה להמחיש באמצעות דוגמא. לצורך הדוגמא את הקשר בין ההצעה לסוג ההצעה

    טבלת סוגי ההצעות מכילה מפתח A ששמו הוא CPROFTYPE
    גם טבלת CPROF – הצעות המחיר מכילה שדה בשם זה מסוג INT

    החיתוך בין הטבלאות הוא מעמודת CPROFTYPE ב CPROF (מופיעים בשדות עמודת טבלה , שם טבלהבמחולל) ל עמודת CPROFTYPE שבטבלת CPROFTYPES (עמודת חיתוך, טבלת חיתוך)

    CPROFTYPE הוא שדה מוסתר מכיון שאין למשתמש עניין בו. הוא משמש רק לקשר בין שתי הטבלאות.
    כמו כן מוצג למשתמש שדה TYPEDES מ CPROFTYPES – השם הטקסטואלי של סוג ההצעה
    TYPEDES הוא U – יש לעובדה הזו חשיבות!!

    כאשר המשתמש בוחר TYPEDES (סוג הצעה כלשהו) המערכת מזהה שזהו מפתח U ולכן "מביאה" את כל הערכים בעמודות של CPROFTYPES אשר משתתפות במסך ובינהן גם את CPROFTYPE – ה A הנ"ל.
    עמודת המסך מקבלת את ה A של ה CPROFTYPE שנבחר וכשהמשתמש יורד מהרשומה, נרשם ב CPROFTYPE של CPROF הערך של סוג ההצעה שנבחר.
    וכעת, כאשר אתה שולף את רשומת ההצעה הזו, מכיון שה CPROFTYPE שלה מכיל מספר אשר יש רשומה ב CPROFTYPES עם CPROFTYPE זהה, אתה רואה את סוג ההצעה שהמשתמש בחר.

    הערה:
    כדי שהמערכת תאפשר רשימת בחירה יש לבנות מסך על הטבלה החדשה ולהכניס לו טריגר CHOOSE-FIELD בהפעלות המסך. אפשר לראות דוגמאותבמערכת לטריגרים כאלו למכביר (גם בדוגמא לעיל)

    יוסי
    משתתף
    הי ליאור בוקר טוב
    קודם כל תודה על ההסבר.
    הבנתי את העניין.
    עכשיו שאלתי היא – כרגע יש לי את טבלת CPROF
    והטבלה החדשה שבניתי
    הלכה למעשה – איך אני מוסיף בפועל את עמודת A בכדי לקשור אותם
    את הפעולה עצמה לא הבנתי…
    האם אני ניגש למסך הצעות מחיר- F6
    ומכניס כביכול שורה נוספת עם שם הטבלה ועמודת A של הטבלה החדשה???????????……
    אשמח להבין כיצד..

    בתודה יוסי

    שלום יוסי,

    ליאור נתן הסבר מצוין בנושא. פשוט פספסת משהו ממנו.

    אני מבין שבנית את הטבלה שלך ממחולל הטבלאות והטבלה מכילה את המפתח הראשי שלך מטיפוס מפתח A, ואני גם מניח מטיפוס נתון INT.
    עוד לפני שאתה ניגש למחולל מסך הצעות מחיר באמצעות F6, את אותה עמודת המפתח מהטבלה שלך אתה חייב להוסיף גם לטבלת CPROF עם אותם המאפיינים. קוראים לזה "מפתח זר". באמצעות מפתח זר ניתן לבצע בדיוק את הקישור המבוקש מטבלת CPROF אל הטבלה שלך. דרך אגב, בטבלת CPROF, סוג המפתח של העמודה יהיה מטיפוס N, או שלא תספח לה מפתח בכלל. טיפוס N אומר שניתן לשלוף שאילתות באופן מהיר יותר מעמודה זו (מכנים את זה: אינדקס. כפי שקיים בסוף רוב ספרי הלימוד) ומותר שיהיו ערכים זהים של העמודה ברשומות שונות בטבלת CPROF.

    אחר-כך תוכל לגשת למחולל המסך של הצעות מחיר ולהוסיף שתי שורות:

    א) חיתוך בין המפתח הראשי של הטבלה שלך לבין המפתח הזר בטבלת CPROF. את העמודה הזאת מסתירים. מקדם החיתוך חייב להיות מ-5 ומעלה כאשר נדרשים לבצע קישור לטבלה חדשה.
    דבר נוסף שחשוב ביותר הוא שאם ישנם מצבים בהם שדה זה יהיה ריק בהצעות המחיר שונות (ולרוב הם יהיו), אתה חייב להוסיף למקדם את סימן השאלה (?) בעמודת הטבלה שלך, אחרת תגלה שחסרים לך מספר רב של הצעות מחיר. קוראים לזה "צירוף חיצוני".

    ב) עמודת התיאור מתוך הטבלה שלך. זאת תהיה העמודה אשר יהיה גלוי ותוכל כמובן לבצע ממנו רשימת בחירה באמצעות בניית טריגר CHOOSE-FIELD על המסך שתבנה גם לטבלה החדשה שלך. התכנות של הטריגר מתואר ב-SDK.

    בהצלחה,
    אלון.

    Lior
    מנהל בפורום
    כן
    תראה איך זה עובד באמצעות סוג ההצעה
    תשלוף את כל השורות שהטבלה בהן היא CPROFTYPES
    או שטבלת החיתוך בהן היא CPROFTYPES
    אם עדיין לא מובן, תחזור אלי
    יוסי
    משתתף
    הי ליאור –
    אני צריך עזרה עם הקוד של ה SQL
    בהמשך לטבלה שבניתי , טבלת ערים בעלת עמודה של עיר ועמודה של מרחק -(ק"מ)
    כמוצג:
    ——————————————————————
    שם טבלה טיפוס טבלה כותרת טבלה נתונים משותפים
    CITIES 1 טבלת מרחקים
    עמודת טבלה טיפוס רוחב כותרת דיוק עשרוני
    CITIES INT 13 טבלת ערים 0
    CITYNAME RCHAR 16 שם עיר\יישוב 0
    KM INT 3 קילומטר 0

    ————————————————————————
    מפתחות

    שם טבלה טיפוס טבלה כותרת טבלה נתונים משותפים
    CITIES 1 טבלת מרחקים
    טיפוס A/U/N עדיפות עמודת טבלה עדיפות עמודה
    A 1 CITIES 1
    U 2 CITYNAME 1

    ——————————————————————–
    קישרתי אותה למסך הצעות מחיר – והוספתי את העמודות.
    עכשיו אני רוצה להציג כך שאפתח את השדה ואראה את רשימת הערים שהכנסתי לטבלה.
    אני משתמש ב CHOOSE-FIELD
    אך קצת הסתבכתי עם הקוד שאני אמור לרשום
    אשמח לעזרה ..
    יוסי

    Lior
    מנהל בפורום
    הי יוסי
    תוכל להסביר לי בבקשה מה מטרת הטבלה ?

    אני לא בטוח שהיא בנויה נכון

מוצגות 9 תגובות – 1 עד 9 (מתוך 9 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.