We couldn’t sign you in
Select the account you want to use.

באג: 8808 (תחזוקת תוכן)באג: 232596 (רפואי) מאמר זה חל רק על מסד נתונים של Microsoft Access (. mdb).מתון: מחייב מאקרו בסיסי, קידוד וכישורי יכולת פעולה הדדית.

תופעות

בעת ייצוא שאילתת Access למסמך XML, והשאילתה מכילה תו כללי של Microsoft Jet, כגון כוכבית (*) בקריטריון, הנתונים אינם מיוצאים למסמך ה-XML. לכן, מסמך ה-XML של התוצאה אינו מכיל נתונים. השאילתה מתפקדת כראוי אם אתה מפעיל את אותה שאילתה באמצעות Access.

סיבה

אופן פעולה זה מתרחש בעת ייצוא ל-XML. XML משתמש באובייקטי נתונים של ActiveX (ADO) כדי לבצע שאילתה על הנתונים ממסד הנתונים. בעת שימוש בתו כללי הספציפי ל-Jet בשאילתת Access, השאילתה מחזירה ללא רשומות. בעיה זו מתרחשת מכיוון ש-ADO מזהה רק את התווים הכלליים 92 של מכון התקנים הלאומי (ANSI).

פתרון

כדי לעקוף בעיה זו, השתמש באחת מהשיטות הבאות.

שיטה 1

באפשרותך לשכתב את השאילתה כך שתחליף את התו הכללי הספציפי ל-Jet עם התו הכללי של ANSI 92. לדוגמה, השאילתה המקורית עשויה להיראות דומה לזו עם התו הכללי *:

SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID)  Like "A*"));

באפשרותך לשכתב את השאילתה באופן הבא:

SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID)  Like "A%"));

שים לב אם תצורת מסד הנתונים של Access לא נקבעה עבור תאימות ANSI 92, כאשר תפעיל את השאילתה ששוכתב משכתב מ-Access, לא יוחזרו נתונים. עם זאת, מסמך ה-XML המיוצא המבוסס על השאילתה השכתב מחזיר את התוצאות הצפויות.

שיטה 2

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

SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID)  Like "A*"));

באפשרותך לשכתב את השאילתה באופן הבא:

SELECT Customers.CustomerIDFROM CustomersWHERE Left(CustomerID,1) = "A";

שיטה 3

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

גישה 2003

  1. פתח את מסד הנתונים לדוגמה Northwind.

  2. בתפריט הוספה , לחץ על שאילתה.

  3. בתיבת הדו שאילתה חדשה , בחר תצוגת עיצובולאחר מכן לחץ על אישור.

  4. בתפריט תצוגה , לחץ על תצוגת SQL.

  5. בחלון השאילתה , הדבק את השאילתה הבאה:

    SELECT Customers.CustomerIDFROM Customers;

    שים לב באפשרותך לראות שקריטריון השאילתה מוסר. לכן, השאילתה אינה מכילה תווים כלליים.

  6. בתפריט קובץ , לחץ על שמור.

  7. בתיבה שם שאילתה של תיבת הדו שמירה בשם , הקלד Query1ולאחר מכן לחץ על אישור.

  8. בתפריט תצוגה , לחץ על תצוגת גליון נתונים.

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

  10. ברשימה שדה , בחר באפשרות CustomerID.

  11. בתיבה קריטריונים תחת CustomerID, הדבק את הקוד הבא:

    Like "A*"
  12. בתפריט סינון , לחץ על החל סינון/מיון.

  13. בתפריט קובץ , לחץ על שמור.

  14. בתפריט קובץ , לחץ על סגור.

  15. בחלון מסד הנתונים , לחץ על שאילתות.

  16. לחץ לחיצה ימנית על Query1ולאחר מכן לחץ על ייצוא.

  17. בתיבת הדו ' Query1 ' של ' שאילתת ייצוא ' , בחר ב -XML ברשימה שמור כסוג ולאחר מכן לחץ על יצא.

  18. בתיבת הדו ייצוא XML , לחץ על אפשרויות נוספות.

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

גישה 2007

  1. פתח את מסד הנתונים לדוגמה Northwind.

  2. בכרטיסיה יצירה , לחץ על עיצוב שאילתהולאחר מכן לחץ על סגור.

  3. בכרטיסיה עיצוב , לחץ על תצוגת SQL בקבוצה תוצאות .

  4. בחלון השאילתה , הדבק את השאילתה הבאה:

    SELECT Customers.[First Name]FROM Customers;

    שים לב באפשרותך לראות שקריטריון השאילתה מוסר. לכן, השאילתה אינה מכילה תווים כלליים.

  5. לחץ על לחצן Microsoft Officeולאחר מכן לחץ על שמור.

  6. בתיבה שם שאילתה של תיבת הדו שמירה בשם , הקלד Query1ולאחר מכן לחץ על אישור.

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

  8. בכרטיסיה בית , לחץ על מתקדם בקבוצה & סינון ולאחר מכן לחץ על סינון/מיון מתקדם.

  9. ברשימה שדה , בחר באפשרות שם פרטי

  10. בתיבה קריטריונים תחת שם פרטי, הדבק את הקוד הבא:

    Like "A*"
  11. בכרטיסיה בית , לחץ על מתקדם בקבוצה מיון & סינון ולאחר מכן לחץ על החל סינון/מיון.

  12. לחץ על לחצן Microsoft Officeולאחר מכן לחץ על שמור.

  13. לחץ לחיצה ימנית על Query1, הצבע על יצא, לחץ על קובץ XMLולאחר מכן לחץ על אישור.

  14. בתיבת הדו ייצוא XML , לחץ על אפשרויות נוספות.

  15. בתיבת הדו ייצוא XML , לחץ על לשונית הנתונים .

  16. תחת רשומות לייצוא, בחר באפשרות החל מסנן קיים ולאחר מכן לחץ על אישור.

  17. בתיבת הדו ייצוא-XML , לחץ על סגור.

מצב

מיקרוסופט אישרה שזהו באג במוצרי Microsoft המפורטים בתחילת מאמר זה.

מידע נוסף

שלבים לשחזור הבעיה ב-Access 2003

  1. פתח את מסד הנתונים לדוגמה Northwind.

  2. בתפריט הוספה , לחץ עלשאילתה.

  3. בתיבת הדו שאילתה חדשה , בחרתצוגת עיצוב ולאחר מכן לחץ על אישור.

  4. בתפריט תצוגה , לחץ על תצוגת SQL.

  5. בחלון השאילתה , הדבק את השאילתה הבאה:

    SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID)  Like "A*"));
  6. לחץ על שמור בתפריט קובץ.

  7. בתיבה שם שאילתה הנמצאת בתיבת הדושמירה בשם , הקלדQuery1.

  8. בתפריט קובץ , לחץ עלסגור.

  9. לחץ לחיצה ימנית על Query1 ולאחר מכן לחץ על ייצוא.

  10. בתיבת הדו שאילתת ייצוא ' Query1 ' ל-. .., בחר ב -XML ברשימה שמור כסוג ולאחר מכן לחץ על יצא.

  11. בתיבת הדו ייצוא xml , לחץ עלאישור כדי לשמור את הקבצים הקשורים ל-xml במיקום ברירת המחדל.

  12. ב-Microsoft Internet Explorer, פתח את קובץ ה-XML המיוצא. באפשרותך לראות שקובץ ה-XML המיוצא המבוסס על השאילתה שצוינה אינו מכיל רשומות.

הפניות

לקבלת מידע נוסף אודות תחביר 92 ANSI, הקלד אודות מצב שאילתת ansi sqlבמסייע של Office ולאחר מכן לחץ על חיפוש.

זקוק לעזרה נוספת?

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Microsoft insider

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלכם?

תודה על המשוב!

×