רשימה קשורה

Shaycus

New member
רשימה קשורה

שלום, אני מנסה לתכנת טבלאות ברמה מאוד בסיסית ב MS ACCESS ולא ממש מצליח. אני צריך ליצור 3 טבלאות כך שיש לקוח (טבלה 1) שיש לו חשבון מסויים (טבלה 2) והלקוח קונה מוצר (טבלה 3). העבודה קצת יותר מורכבת ומטבלת המוצרים ישנם טבלאות נוספות שיוצאות בצורת כוכב והטבלאות הללו מהוות את המוצרים אותם קונה הלקוח (נניח כספומט, אתר אינטרנט, סניף פיזי וכן הלאה) כשאני מכניס שדות בטבלת הלקוחות הכל בסדר. כשאני מכניס שדות בטבלת החשבונות אני מקבל את ההערה הבאה: " אין באפשרותך להוסיף או לשנות רשומה מכיוון שרשומה קשורה דרושה בטבלת 'מוצרים' " מישהו יודע מה יכול להיות לא בסדר וגורם להערה הזאת? ניסיתי לחפש תשובה ב MS ACCESS HELP אבל השלבים שאמרו שם לבצע לא עזרו לי אלא יצרו לי קשרי גומלין נוספים ולא קשורים. תודה, שי
 

כלליים

New member
מחק את כל קשר הגומלין

בשלב בו הינך עומד, וכל עוד אינך זקוק ל'אכיפת קשרי גומלין', אין שום צורך בהם. מכיוון שהגדרת, כנראה בשגגה, קשר גומלין בין שתי הטבלאות, ובחרת 'לאכוף את קשרי הגומלין', אתה זקוק לשאילתה כדי להוסיף רשומות. מכיוון שמסתבר שדברי אינם בהירים לך, מחק את כל קשרי הגומלין ודי.
 

Shaycus

New member
הסבר אם אפשר

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

כלליים

New member
אם האפיון הוא "זה התרגיל שנתנו לי"

אינני יודע מה להמליץ. ואינני יודע מהו התרגיל.. בכל אופן, אני על משמרתי אעמודה: ההגדרה של קשר גומלין היא: 'אילוץ' -CONSTRAINT. המטרה היחידה שלו, היא אכיפה. כל עוד שאינך נזקק לזה, הוא מיותר לגמרי. אני יודע שיש ספרים או אולי קורסים, שמלמדים דבר ראשון ליצור קשרי גומלין. סתם שטות. אני משתמש הרבה באקסס, ואינני נזקק ליצור את קשר הגומלין ברמת הטבלאות, אלא לעיתים רחוקות מאד. [להבדיל מקשר גומלין ברמת השאילתה, שזה לחם חוקנו]. והנה לנו דוגמא: קשר הגומלין יחיד ליחיד שהגדרת, הכולל אכיפה, מונע הוספת רשומה לטבלהA, כל עוד אין בטבלהB רשומה עם אותו מפתח. וזה, אם תקרא שוב, תוכן הודעת השגיאה שקבלת. באותה מידה, אתה מנוע מלהוסיף רשומה לטבלהB, כל עוד אין רשומה בטבלהA.. בקיצור, אינך יכול דבר. איך בכל זאת מוסיפים רשומות? ע"י שאילתה, המצרפת את שתי הטבלאות יחד, ואז מוסיפים רשומה לשתי הטבלאות בבת אחת. אבל אתה אומר שעדיין אינך יודע ליצור שאילתה כזו. אז אולי זה אומר, שמי שנתן לך את ההוראה ליצור את קשר הגומלין הזה, מעט הקדים את זמנו?
 

Shaycus

New member
אולי זה מה שזה אומר באמת

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

כלליים

New member
עצתי:

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

0 אור 0

New member
לפני קשרי גומלין יש פה שאלה של האפיון

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

Shaycus

New member
שלום אור

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

0 אור 0

New member
נקווה שהפעם יצליח

חבל שלא ציינת מה גירסת האקסס ,אנימצרפת גירסה ב MDB שים לב שאם למוצר יש פעולהאחת אז לא צריך טבלה - מספיק שדה - אשנה בדגמא שלי -- לגבי האשף-אצרף תמונה
 

Shaycus

New member
microsoft office access 2007

אני אמור לשנות את הקובץ שעכשיו הוספת ל ACCDB? כי זה עדיין לא פותח לי אותו.
 
למעלה