לעתים ייתכן שתרצה להשוות בין שתי טבלאות Access ולזהות רשומות באחת הטבלאות שאין רשומות תואמות בטבלה האחרת. הדרך הקלה ביותר לזהות רשומות אלה היא באמצעות 'אשף שאילתת חיפוש של לא תואמים'. לאחר שהאשף בונה את השאילתה, באפשרותך לשנות את עיצוב השאילתה כדי להוסיף או להסיר שדות, או להוסיף צירופים בין שתי הטבלאות (כדי לציין שדות שהערכים שלהם אמורים להתאים). תוכל גם ליצור שאילתה משלך כדי למצוא רשומות של לא תואמים, מבלי להשתמש באשף.
מאמר זה מסביר לך כיצד להפעיל את 'אשף שאילתת חיפוש של לא תואמים', כיצד לשנות את הפלט של האשף וכיצד ליצור שאילתה משלך כדי לחפש רשומות לא תואמות.
במאמר זה
מתי עלי לחפש רשומות לא תואמות?
להלן שני מצבים שכיחים שבהם ייתכן שתרצה להשוות בין שתי טבלאות ולחפש רשומות לא תואמות. בהתאם למצב שלך, חיפוש של רשומות לא תואמות עשוי להיות השלב הראשון מתוך כמה שלבים שברצונך לבצע. מאמר זה עוסק בחיפוש רשומות לא תואמות בלבד.
-
באפשרותך להשתמש בטבלה אחת לאחסון נתונים אודות פריט (כגון מוצר), ובטבלה אחרת לאחסון נתונים הקשורים לפעולות (כגון הזמנות) הכוללים את הפריט.
לדוגמה, בתבנית מסד הנתונים Northwind, נתונים אודות מוצרים מאוחסנים בטבלה Products, ונתונים אודות המוצרים הכלולים בכל הזמנה מאוחסנים בטבלה Order Details. מאחר ש(כחלק מן העיצוב) לא קיימים נתונים אודות הזמנות בטבלה Products, לא ניתן לקבוע רק על-ידי עיון בטבלה Products אילו מוצרים מעולם לא נמכרו. לא ניתן לקבוע מידע זה גם על-ידי עיון בטבלה Order Details לבדה, מאחר שטבלה זו כוללת נתונים רק אודות מוצרים שנמכרו. עליך להשוות בין שתי הטבלאות כדי לקבוע אילו מוצרים מעולם לא נמכרו.
אם ברצונך לעיין ברשימת פריטים מתוך הטבלה הראשונה שהטבלה השנייה לא כוללת פעולות תואמות עבורם, באפשרותך להשתמש ב'שאילתת חיפוש של לא תואמים'.
-
ברשותך שתי טבלאות הכוללות מידע חופף, מיותר או סותר וברצונך לאחד אותן לטבלה אחת.
לדוגמה, נניח שברשותך טבלה בשם Customers וטבלה אחרת בשם Clients. הטבלאות כמעט זהות, אך טבלה אחת או שתי הטבלאות מכילות רשומות מסוימות שחסרות בטבלה השניה. לאיחוד הטבלאות, תחילה עליך לקבוע אילו רשומות ייחודיות בטבלה אחת או בטבלה השניה.
אם זה אכן המצב, השיטות המתוארות במאמר זה עשויות לסייע, אך סביר להניח שתצטרך לנקוט צעדים נוספים. באפשרותך להפעיל את אשף שאילתת החיפוש של לא תואמים לזיהוי רשומות לא תואמות, אך אם ברצונך לאחזר את ערכת הרשומות המשולבת, עליך להשתמש בתוצאות כדי ליצור שאילתת איחוד. אם אתה מרגיש בנוח לכתוב משפטים בשפת שאילתות מובנית (SQL), ייתכן שתעדיף לוותר על אשף שאילתת החיפוש של לא תואמים ולכתוב את שאילתת האיחוד בעצמך.
במרבית המקרים, באפשרותך לגשת לבעיה של מידע חופף, מיותר או סותר על-ידי איתור נתונים כפולים בשתי טבלאות או יותר.
לקבלת מידע נוסף אודות שאילתות איחוד, או אודות איתור, הסתרה או הסרה של נתונים כפולים, לחץ על הקישורים בסעיף למידע נוסף.
הערה: בדוגמאות שבמאמר זה נעשה שימוש במסד נתונים שנוצר באמצעות תבנית מסד הנתונים Northwind.
הראה לי כיצד להתקין את Northwind
-
בכרטיסיה קובץ, לחץ על חדש.
-
בהתאם לגירסת Access שברשותך, תוכל לחפש את Northwind בתיבת החיפוש; לחלופין, בחלונית הימנית, תחת קטגוריות תבניות, לחץ על תבניות מקומיות.
-
תחת תבניות מקומיות, לחץ על Northwind 2007 sample ולאחר מכן לחץ על יצירה.
-
בצע את ההוראות בעמוד Northwind Traders (בכרטיסיית האובייקט של Startup Screen) כדי לפתוח את מסד הנתונים, ולאחר מכן סגור את החלון Login Dialog.
שימוש ב'אשף שאילתת חיפוש של לא תואמים' להשוואה בין שתי טבלאות
-
בכרטיסיה יצירה, בקבוצה שאילתות, לחץ על אשף השאילתות.
-
בתיבת הדו-שיח שאילתה חדשה, לחץ פעמיים על אשף שאילתת חיפוש של לא תואמים.
-
בעמוד הראשון של האשף, בחר את הטבלה המכילה רשומות לא תואמות ולאחר מכן לחץ על הבא. לדוגמה, אם ברצונך לראות רשימה של מוצרי Northwind שמעולם לא נמכרו, בחר את הטבלה Products.
-
בעמוד השני, בחר את הטבלה הקשורה ולאחר מכן לחץ על הבא. כדי לפעול לפי הדוגמה, בחר בטבלה Order Details.
-
בעמוד השלישי', בחר את השדות הקשורים לטבלאות, לחץ על < = > ולאחר מכן לחץ על הבא. באפשרותך לבחור שדה אחד בלבד מכל טבלה. כדי לפעול לפי הדוגמה, בחר מזהה מהטבלה Products ומזהה מוצר מהטבלה Order Details. ודא שהשדות המתאימים הותאמו על-ידי סקירת הטקסט בתיבה שדות תואמים.
שים לב שייתכן שהשדות ID ו-Product ID כבר נבחרו עקב קשרי גומלין קיימים שכלולים בתבנית.
-
בעמוד הרביעי, לחץ פעמיים על השדות שברצונך לראות מהטבלה הראשונה ולאחר מכן לחץ על הבא. כדי לפעול לפי הדוגמה, בחר את השדות ID ו- Product Name.
-
בעמוד החמישי, באפשרותך לבחור להציג את התוצאות או לשנות את עיצוב השאילתה. בדוגמה זו, לחץ על הצג את התוצאות. קבל את השם המוצע עבור השאילתה ולאחר מכן לחץ על סיום.
ייתכן שתרצה לשנות את עיצוב השאילתה כדי להוסיף קריטריונים נוספים, כדי לשנות את סדר המיון, או כדי להוסיף או להסיר שדות. לקבלת מידע אודות שינוי של שאילתת חיפוש של לא תואמים, קרא את הסעיף הבא; לחלופין, לקבלת מידע כללי יותר אודות יצירה ושינוי של שאילתות, עיין בקישורים בסעיף למידע נוסף.
יצירה ושינוי של שאילתת חיפוש של לא תואמים להשוואה על-ידי יותר משדה אחד
-
בכרטיסיה יצירה, בקבוצה שאילתות, לחץ על אשף השאילתות.
-
בתיבת הדו-שיח שאילתה חדשה, לחץ פעמיים על אשף שאילתת חיפוש של לא תואמים.
-
בעמוד הראשון של האשף, בחר את הטבלה המכילה רשומות לא תואמות ולאחר מכן לחץ על הבא. לדוגמה, אם ברצונך לראות רשימה של מוצרי Northwind שמעולם לא נמכרו, בחר את הטבלה Products.
-
בעמוד השני, בחר את הטבלה הקשורה ולאחר מכן לחץ על הבא. כדי לפעול לפי הדוגמה, בחר בטבלה Order Details.
-
בעמוד השלישי, בחר את השדות הקשורים לטבלאות, לחץ על < = > ולאחר מכן לחץ על הבא. באפשרותך לבחור שדה אחד בלבד מכל טבלה. כדי לפעול לפי הדוגמה, בחר מזהה מהטבלה Products ומזהה מוצר מהטבלה Order Details. ודא שהשדות הנכונים הותאמו על-ידי סקירת הטקסט בתיבה שדות תואמים. ניתן לצרף את השדות הנותרים לאחר השלמת האשף.
שים לב שייתכן שהשדות ID ו-Product ID כבר נבחרו עקב קשרי גומלין קיימים שכלולים בתבנית.
-
בעמוד הרביעי, לחץ פעמיים על השדות שברצונך לראות מהטבלה הראשונה ולאחר מכן לחץ על הבא. כדי לפעול לפי הדוגמה, בחר את השדות ID ו- Product Name.
-
בעמוד החמישי, לחץ על שנה את העיצוב ולאחר מכן לחץ על סיום.
השאילתה נפתחת בתצוגת עיצוב.
-
ברשת העיצוב של השאילתה, שים לב ששתי הטבלאות מחוברות בשדות (בדוגמה זו, ID ו- Product ID) שציינת בעמוד השלישי של האשף. צור צירוף עבור כל זוג נותר של שדות קשורים על-ידי גרירתם מהטבלה הראשונה (הטבלה שכוללת את הרשומות הלא תואמות) אל הטבלה השניה. עבור דוגמה זו, גרור את השדה List Price מהטבלה Products אל השדה Unit Price מהטבלה Order Details.
-
לחץ פעמיים על צירוף (הקו המחבר את השדות) כדי להציג את תיבת הדו-שיח מאפייני צירוף. עבור כל צירוף, בחר את האפשרות הכוללת את כל הרשומות מהטבלה Products ולאחר מכן לחץ על אישור.
ברשת עיצוב השאילתה, שים לב שבקצה כל צירוף מופיע חץ.
1. בעת יצירת צירוף בין השדות List Price ו- Unit Price, הצירוף מגביל את הפלט משתי הטבלאות. רק הרשומות בעלות הנתונים התואמים בשדות בשתי הטבלאות נכללות בתוצאות השאילתה.
2. לאחר עריכת מאפייני הצירוף, הצירוף רק מגביל את הטבלה שהחץ מצביע עליה. כל הרשומות בטבלה שהחץ מצביע מהן נכללות בתוצאות השאילתה.
הערה: ודא שכל החצים בצירופים פונים לאותו הכיוון.
-
עבור הטבלה בעלת הרשומות הקשורות (בדוגמה זו, הטבלה Order Details), לחץ פעמיים על כל שדה שמצורף לטבלה הראשונה, למעט עבור השדה שבחרת בעמוד השלישי של האשף (במקרה זה, השדה Product ID). עבור כל אחד משדות אלה, נקה את תיבת הסימון בשורה הצג והקלד Is Null בשורה קריטריונים.
-
לחלופין, הוסף קריטריונים לשדות השאילתה האחרים, או צור שדות מחושבים שמבוססים על ערכים מהטבלה הראשונה.
-
בכרטיסיה עיצוב שאילתה , בקבוצה תוצאות, לחץ על הפעל.
השאילתה מחזירה את שמות המוצרים שאינם חלק מהזמנות קיימות כלשהן.
יצירת שאילתה משלך לאיתור רשומות לא תואמות
-
בכרטיסיה יצירה, בקבוצה שאילתות, לחץ על עיצוב שאילתה.
-
לחץ פעמיים על הטבלה המכילה רשומות לא תואמות ולאחר מכן לחץ פעמיים על הטבלה המכילה רשומות קשורות.
-
ברשת עיצוב השאילתה, שתי הטבלאות צריכה להיות בעלות קווים, הנקראים צירופים, המחברים ביניהן על-ידי השדות הקשורים שלהן. אם צירופים אינם קיימים, צור אותם על-ידי גרירת כל שדה קשור מהטבלה הראשונה (הטבלה המכילה רשומות לא תואמות) לטבלה השניה (הטבלה המכילה רשומות קשורות).
-
לחץ פעמיים על צירוף כדי לפתוח את תיבת הדו-שיח מאפייני צירוף. עבור כל צירוף, בחר את אפשרות 2 ולאחר מכן לחץ על אישור.
ברשת עיצוב השאילתה, הצירופים משתנים כך שהם כוללים חצים באחד הקצוות.
הערה: ודא שכל החצים בצירופים מצביעים לאותו כיוון. השאילתה לא תפעל אם הצירופים מצביעים לכיוונים שונים, וייתכן שלא תפעל אם צירוף כלשהו אינו חץ. הצירופים צריכים להצביע מתוך הטבלה הכוללת רשומות לא תואמות.
-
בטבלה הכוללת רשומות לא תואמות, לחץ פעמיים על השדות שברצונך שהשאילתה תחזיר.
אם תרצה, הזן קריטריונים עבור שדות אלה, או צור שדות מחושבים.
-
עבור הטבלה המכילה רשומות קשורות, לחץ פעמיים על כל שדה המצורף לטבלה הראשונה. עבור כל אחד משדות אלה, נקה את התיבה בשורה הצג והקלד Null בשורה קריטריונים.
-
בכרטיסיה עיצוב שאילתה , בקבוצה תוצאות, לחץ על הפעל.