באפשרותך להשתמש בפעולה המאקרו SearchForRecord במסדי נתונים שולחניים של Access כדי לחפש רשומה ספציפית בטבלה, בשאילתה, בטופס או בדוח.
הגדרה
פעולת המאקרו SearchForRecord מכילה את הארגומנטים הבאים.
ארגומנט פעולה |
תיאור |
||||||||||
סוג אובייקט |
הזן או בחר את סוג אובייקט מסד הנתונים שבו אתה מחפש. באפשרותך לבחור טבלה,שאילתה, טופס או דוח. |
||||||||||
שם אובייקט |
הזן או בחר את האובייקט הספציפי המכיל את הרשומה לחיפוש. הרשימה הנפתחת מציגה את כל אובייקטי מסד הנתונים מסוג שבחרת עבור הארגומנט סוג אובייקט. |
||||||||||
הקלטה |
ציין את נקודת ההתחלה ואת הכיוון של החיפוש.
|
||||||||||
תנאי Where |
הזן את הקריטריונים עבור החיפוש באמצעות אותו תחביר של משפט SQL WHERE, רק ללא המילה "WHERE". לדוגמה, Description = "Beverages" כדי ליצור קריטריון הכולל ערך מתיבת טקסט בטופס, עליך ליצור ביטוי לשרשור החלק הראשון של הקריטריון עם שם תיבת הטקסט המכילה את הערך שעבורו יש לחפש. לדוגמה, הקריטריון הבא יחפש בשדה תיאור את הערך בתיבת הטקסט בשם txtDescription בטופס בשם frmCategories. שים לב לסימן השוויון (=) בתחילת הביטוי והשימוש בגרשיים בודדים (') בכל צד של ההפניה לתיבת הטקסט: ="Description = '" & Forms![frmCategories]![txtDescription] & "'" |
הערות
-
במקרים שבהם יותר מרשומה אחת תואמת לקריטריונים בארגומנט תנאי Where , הגורמים הבאים קובעים איזו רשומה נמצאה:
-
הגדרת הארגומנט Record עיין בטבלה במקטע הגדרות לקבלת מידע נוסף אודות הארגומנט רשומה .
-
סדר המיון של הרשומות לדוגמה, אם הארגומנט Record מוגדר כ- First, שינוי סדר המיון של הרשומות עשוי לשנות את הרשומה שנמצאה.
-
-
האובייקט שצוין בארגומנט Object Name חייב להיות פתוח לפני הפעלת פעולה זו. אחרת, תתרחש שגיאה.
-
אם הקריטריונים בארגומנט תנאי Where אינם קיימים, לא תתרחש שגיאה והמוקד יישאר ברשומה הנוכחית.
-
בעת חיפוש הרשומה הקודמת או הבאה, החיפוש אינו "גולש" כאשר הוא מגיע לסוף הנתונים. אם אין רשומות נוספות התואמות לקריטריונים, לא מתרחשת שגיאה והמוקד נשאר ברשומה הנוכחית. כדי לוודא שנמצאה התאמה, באפשרותך להזין תנאי עבור הפעולה הבאה ותהפוך את התנאי לאותה קריטריונים בארגומנט תנאי Where .
-
כדי להפעיל את הפעולה SearchForRecord במודול VBA, השתמש בפעולת השירות SearchForRecord של האובייקט DoCmd .
-
פעולת המאקרו SearchForRecord דומה לפעולת המאקרו FindRecord, אך SearchForRecord כולל תכונות חיפוש חזקות יותר. פעולת המאקרו FindRecord משמשת בעיקר לחיפוש מחרוזות, ומשכפלת את הפונקציונליות של תיבת הדו-שיח חיפוש. פעולת המאקרו SearchForRecord משתמשת בקריטריונים דומה יותר לקריטריונים של מסנן או שאילתת SQL. הרשימה הבאה מדגימה כמה פעולות שניתן לבצע באמצעות פעולת המאקרו SearchForRecord :
-
באפשרותך להשתמש בקריטריונים מורכבים בארגומנט תנאי Where , כגון
-
תיאור = "משקאות" ו- CategoryID = 11
-
באפשרותך להפנות לשדות הקיימים במקור הרשומה של טופס או דוח, אך אינם מוצגים בטופס או בדוח. בדוגמה הקודמת, לא Description או CategoryID להופיע בטופס או בדוח כדי שהקריטריונים יפעלו.
-
באפשרותך להשתמש באופרטורים לוגיים, כגון<, >, AND, OR ו- BETWEEN. הפעולה FindRecord תואמת רק מחרוזות שוות, מתחילות ב או מכילות את המחרוזת שאתה מחפש.
דוגמה
המאקרו הבא פותח תחילה את הטבלה Categories באמצעות הפעולה OpenTable . לאחר מכן, המאקרו משתמש בפעולה המאקרו SearchForRecord כדי למצוא את הרשומה הראשונה בטבלה שבה השדה Description שווה "Beverages".
פעולה |
ארגומנטים |
OpenTable |
שם טבלה: קטגוריות תצוגה: גליון נתונים מצב נתונים: עריכה |
SearchForRecord |
סוג אובייקט: טבלה שם אובייקט: קטגוריות רשומה: תחילה מצב Where: תיאור = "משקאות" |