שאלה באקסס

מוטל1

New member
שאלה באקסס

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

איך אני עושה את זה?
תודה
 

כלליים

New member
הערה

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

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

הפתרון: בטבלת הלקוחות יש רק שדה עיר.
וכדי להציג לכל לקוח את האיזור שלו, משתמשים בשאילתה, שמצרפת את טבלת הלקוחות עם טבלת הערים, ומציגה את כל פרטי הלקוחות + איזור.
 

מוטל1

New member
עדכון אוטומטי

אין אפשרות שברגע שאני אעביר את בית שמש לאזור ירושלים אוטומטית כל האנשים מבית שמש יועברו לירושלים?
 

כלליים

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

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

מוטל1

New member
באופן כללי

אני דיי חדש באקסס ואני לומד כל יום דברים חדשים
רציתי לשאול באופן כללי
מה יותר נכון?
לעבוד על טבלאות או לעבוד על שאילתות/טפסים?
כי יש דברים שאני לא יכול לראות בטבלה אבל אם אני יעשה שאיתלה אני כן יראה
 

כלליים

New member
מה יותר נכון:

לנסוע באוטובוס או במטוס?
לעיתים זה, ולעיתים זה. לעיתים הטוב ביותר לנסוע באופניים.
הכל לפי הענין.

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

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