VEA nr: 8808 (sisu hooldus)viga #: 232596 (officenet) Käesolev artikkel kehtib ainult Microsoft Accessi andmebaasi (. mdb).Mõõdukas: vajab põhilisi makro-, kodeerimis-ja koostalitlusvõimealaseid oskusi.
Sümptomid
Kui ekspordite Accessi päringu XML-dokument ja päring sisaldab Microsoft Jet metamärk nagu tärn (*) kriteeriumides, andmeid ei ekspordita XML-dokument. Seetõttu ei sisalda resulteeruva XML-dokument andmeid. Päring toimib õigesti, kui käivitate sama päringu Accessi abil.
Põhjus
Selline käitumine ilmneb siis, kui ekspordite XML-i. XML-i kasutab andmebaasi andmete päringu ActiveX Data Objects (ADO). Kui kasutate Jet-spetsiifilist metamärkide Accessi päring päring tagastab kirjeid. See probleem ilmneb, sest ADO tuvastab ainult American National standardite Instituut (ANSI) 92 metamärkide.
Lahendus
Selle probleemi lahendamiseks kasutage ühte järgmistest meetoditest.
1. meetod
Saate uuesti kirjutada päringu asendada Jet-spetsiifilist metamärkide ANSI 92 metamärk. Näiteks algne päring võib paista sarnane selle * metamärkide märk:
SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID) Like "A*"));
Saate päringu uuesti kirjutada järgmiselt:
SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID) Like "A%"));
Märkus Kui Accessi andmebaasi pole konfigureeritud ANSI 92 ühilduvuse, uuesti kirjutatud päringu käivitamisel Accessi, andmed tagastatakse. Kuid eksporditud XML-dokument, mis põhineb ümberkirjutatud päring tagastab oodatud tulemused.
2. meetod
Päringut saab ümber kirjutada nii, et päringu kriteerium ei sisaldaks metamärke. Näiteks algne päring võib paista sarnane selle * metamärkide märk:
SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID) Like "A*"));
Saate päringu uuesti kirjutada järgmiselt:
SELECT Customers.CustomerIDFROM CustomersWHERE Left(CustomerID,1) = "A";
3. meetod
Andmete eksportimisel XML-dokumenti saate määrata, kas rakendada objektile olemasolevat filtrit. Selle asemel, et määrata metamärk päringu kriteeriumides, saate luua filtri filtristringiga, mis vastab kriteeriumidele, mida soovite (nt "A *") ja seejärel rakendage seda filtrit XML-i eksportimise käigus. Selleks toimige järgmiselt, olenevalt Accessi versioonist.
Ligipääs 2003
-
Avage Põhjatuule näidisandmebaas.
-
Klõpsake menüü Lisa käsku päring.
-
Dialoogiboksis uus päring valige Kujundusvaadeja seejärel klõpsake nuppu OK.
-
Klõpsake menüü Vaade käsku SQL-i Vaade.
-
Kleepige päringu aknas järgmine päring:
SELECT Customers.CustomerIDFROM Customers;
Märkus Saate vaadata, kas päringu kriteerium on eemaldatud. Seetõttu päring ei sisalda metamärke.
-
Klõpsake menüü fail käsku Salvesta.
-
Dialoogiboksis Salvesta nimega väljale päringu nimi tippige Query1seejärel klõpsake nuppu OK.
-
Klõpsake menüü Vaade käsku andmelehevaade.
-
Menüü kirjed käsk Filtreerija klõpsake Täpsem filter/sort.
-
Valige väljade loendist CustomerID.
-
Jaotises CustomerIDväljal kriteeriumid kleepige järgmine kood:
Like "A*"
-
Klõpsake menüü filterRakenda filter/sort.
-
Klõpsake menüü fail käsku Salvesta.
-
Klõpsake menüü fail käsku Sule.
-
Klõpsake Andmebaasiaknas nuppu Päringud.
-
Paremklõpsake Query1seejärel klõpsake nuppu ekspordi.
-
Dialoogiaknas ekspordi päring "Query1" valige XML loendis Salvestustüüp ja klõpsake ekspordi.
-
Klõpsake dialoogiaknas Ekspordi XMLrohkem suvandeid.
-
Dialoogiaknas Ekspordi XML valige vahekaart andmed . Klõpsake jaotises kirjed eksportida, märkige ruut Rakenda olemasolev filter ja seejärel klõpsake nuppu OK.
Ligipääs 2007
-
Avage Põhjatuule näidisandmebaas.
-
Vahekaardil Loo klõpsake päringu kujundusjaseejärel klõpsake nuppu Sule.
-
Klõpsake vahekaardil kujundustulemuste rühma SQL-i Vaade .
-
Kleepige päringu aknas järgmine päring:
SELECT Customers.[First Name]FROM Customers;
Märkus Saate vaadata, kas päringu kriteerium on eemaldatud. Seetõttu päring ei sisalda metamärke.
-
Klõpsake Microsoft Office ' i nuppujaseejärel klõpsake nuppu Salvesta.
-
Dialoogiboksis Salvesta nimega väljale päringu nimi tippige Query1seejärel klõpsake nuppu OK.
-
Avaleht vahekaardil vaated rühma, klõpsake nuppu vaadjaklõpsake andmelehevaade.
-
Klõpsake menüü Avaleht nuppu Täpsemaltsortida & filter rühma ja klõpsake Täpsem filter/sort.
-
Valige loendist välieesnimi
-
Esimese nimeall kriteeriumide kasti kleepige järgmine kood:
Like "A*"
-
Klõpsake menüü Avaleht nuppu Täpsemaltsortida & filter rühma ja seejärel klõpsake nuppu Rakenda filter/sortimine.
-
Klõpsake Microsoft Office ' i nuppujaseejärel klõpsake nuppu Salvesta.
-
Paremklõpsake Query1, osutage eksportige, klõpsake XML-failjaseejärel klõpsake nuppu OK.
-
Klõpsake dialoogiaknas Ekspordi XMLrohkem suvandeid.
-
Klõpsake dialoogiaknas Ekspordi XML-i vahekaarti andmed .
-
Jaotises kirjed eksportida, valige Rakenda olemasolev filter valik ja seejärel klõpsake nuppu OK.
-
Klõpsake dialoogiaknas Ekspordi-XML-fail nuppu Sule.
Olek
Microsoft on kinnitanud, et see on viga Microsofti toodete, mis on loetletud käesoleva artikli alguses.
Lisateave
Juhised taasesilekutsumise probleem Access 2003
-
Avage Põhjatuule näidisandmebaas.
-
Klõpsake menüü Lisa käskupäring.
-
Dialoogiboksis uus päring valigeKujundusvaade ja seejärel klõpsake nuppu OK.
-
Klõpsake menüü Vaade käsku SQL-i Vaade.
-
Kleepige päringu aknas järgmine päring:
SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID) Like "A*"));
-
Klõpsake menüü failkäsku Salvesta .
-
VäljaleSalvesta nimega dialoogiboksis päringu nimi tippigeQuery1.
-
Klõpsake menüü fail käskuSule.
-
Paremklõpsake Query1 ja seejärel klõpsake nuppu ekspordi.
-
Dialoogiaknas ekspordi päring ' Query1 ' to... valige XML loendis Salvestustüüp ja klõpsake ekspordi.
-
XML-iga seotud failide vaikeasukohta salvestamiseksKlõpsake dialoogiaknasEkspordi XML-i .
-
Avage Microsoft Internet Exploreris eksporditud XML-fail. Näete, et eksporditud XML-fail, mis põhineb määratud päring ei sisalda kirjeid.
Viited
ANSI 92 süntaks kohta lisateabe saamiseks tippige selle ANSI SQL päringu režiimiOffice ' i abimehe ja klõpsake nuppu Otsing.