와일드카드 문자가 있는 액세스 쿼리는 XML 문서로 데이터를 내보내지 않습니다.

버그 #: 8808 (콘텐츠 유지 관리)버그 #: 232596 (OfficeNet) 이 문서는 Microsoft 액세스 데이터베이스 (.mdb)에만 적용됩니다.보통: 기본 매크로, 코딩 및 상호 운용성 기술이 필요합니다.

증상

Access 쿼리를 XML 문서로 내보내고 쿼리에 기준에 별표(*)와 같은 Microsoft Jet 와일드카드 문자가 포함되어 있으면 데이터는 XML 문서로 내보내지지 않습니다. 따라서 결과 XML 문서에는 데이터가 포함되어 있지 않습니다. Access를 사용하여 동일한 쿼리를 실행하는 경우 쿼리가 올바르게 작동합니다.

원인

이 문제는 XML로 내보낼 때 발생합니다. XML은 ActiveX 데이터 개체(ADO)를 사용하여 데이터베이스에서 데이터를 쿼리합니다. Access 쿼리에서 Jet 관련 와일드카드 문자를 사용하는 경우 쿼리는 레코드를 반환하지 않습니다. 이 문제는 ADO가 미국 국립 표준 연구소(ANSI) 92 와일드카드 문자만 인식하기 때문에 발생합니다.

해결 방법

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.

방법 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. 레코드 메뉴에서 filter를 가리킨 다음 고급 필터/정렬을 클릭합니다.

  10. 필드 목록에서 CustomerID를 선택합니다.

  11. CustomerID아래의 기준 상자에 다음 코드를 붙여넣습니다.

    Like "A*"
  12. 필터 메뉴에서 필터/정렬 적용을클릭합니다.

  13. 파일 메뉴에서 저장을클릭합니다.

  14. 파일 메뉴에서 닫기를 클릭합니다.

  15. 데이터베이스 창에서 쿼리를 클릭합니다.

  16. 쿼리1을마우스 오른쪽 단추로 클릭한 다음 내보내기를클릭합니다.

  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는 이 문서의 시작 부분에 나열된 Microsoft 제품의 버그임을 확인했습니다.

추가 정보

Access 2003에서 문제를 재현하는 단계

  1. Northwind 샘플 데이터베이스를 엽니다.

  2. 삽입 메뉴에서쿼리를클릭합니다.

  3. 쿼리 대화 상자에서디자인 보기를 선택한 다음 확인을클릭합니다.

  4. 보기 메뉴에서 SQL 보기를 클릭합니다.

  5. 쿼리 창에서 다음 쿼리를 붙여넣습니다.

    SELECT Customers.CustomerIDFROM CustomersWHERE (((Customers.CustomerID)  Like "A*"));
  6. 파일메뉴에서 저장을 클릭합니다.

  7. 대화상자로 저장 상자에 있는 쿼리 이름 상자에서Query1을입력합니다.

  8. 파일 메뉴에서 닫기를 클릭합니다.

  9. 쿼리1을 마우스 오른쪽 단추로 클릭한 다음 내보내기를클릭합니다.

  10. 내보내기 쿼리 'Query1' 대화 상자에서 저장에서 XML을유형 목록으로 선택한 다음 내보내기를클릭합니다.

  11. XML 내보내기 대화 상자에서확인을 클릭하여 XML 관련 파일을 기본 위치에 저장합니다.

  12. Microsoft 인터넷 익스플로러에서 내보낸 XML 파일을 엽니다. 지정된 쿼리를 기반으로 하는 내보낸 XML 파일에 레코드가 포함되어 있지 않은 것을 확인할 수 있습니다.

참조

ANSI 92 구문에 대한 자세한 내용을 보려면 Office 도우미에서ansi SQL 쿼리 모드에 대해 입력한 다음 검색을클릭합니다.

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×