ACC2000: 매개 변수 In() 문 만들기 방법

기술 자료 번역 기술 자료 번역
기술 자료: 210530 - 이 문서가 적용되는 제품 보기.
보통: 기본적인 매크로, 코드 작성 및 상호 운용성 기술이 필요합니다.

이 문서에서는 경우에만 Access 데이터베이스를 수 (.mdb) 적용됩니다.

모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 매개 변수 메시지를 사용하여 여러 값을 쿼리에 전달하는 데 사용할 수 있는 두 가지 방법을 보여 줍니다. 첫 번째 방법은 Instr() 함수를 사용하여 쿼리를 실행할 때 입력한 매개 변수 값을 구문 분석합니다. 두 번째 방법은 여러 값을 함께 In() 연산자를 사용하여 쿼리를 만드는 방법을 설명합니다.

참고: 예제 파일 Qrysmp00.exe이 이 문서에 사용된 기술의 데모를 볼 수 있습니다. 이 예제 파일을 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
207626ACC2000: Access 2000 예제 쿼리 사용 가능한 다운로드 센터에서
참고: 이 문서에서는 예제 코드에서 Microsoft 데이터 액세스 개체를 사용합니다. 이 코드를 제대로 실행하려면 Microsoft DAO 3.6 개체 라이브러리에 참조해야 합니다. 이렇게 하려면 Visual Basic 편집기에서 [도구] 메뉴에서 참조 를 및 Microsoft DAO 3.6 개체 라이브러리에 확인란이 선택되어 있는지 확인하십시오.

추가 정보

방법 1

다음 메서드는 Instr() 함수를 사용하여 매개 변수 쿼리 쉼표로 구분하여 여러 값을 전달하는 방법을 보여 줍니다.

주의: 이 예제의 단계를 경우 Northwind.mdb 예제 데이터베이스를 수정합니다. Northwind.mdb 파일을 백업하려면 다음과 같이 데이터베이스의 복사본을 할 수 있습니다.

  1. Microsoft Access를 시작하고 Northwind.mdb 예제 데이터베이스를 엽니다.
  2. Employees 테이블을 기초로 다음 새 쿼리를 만듭니다.
    쿼리: ParamQuery
    쿼리 종류: 선택

    필드: EmployeeID
    표: 직원
    표시: True

    필드: 성
    표: 직원
    표시: True
  3. 다음 빈 열에서 쿼리 눈금의 특성 및 다음 식을 입력하십시오.
    필드: InStr ([마지막 commas,Blank=All],[LastName])에 의해 구분된 이름
    조건: > 0 또는 Null 입니다.
    표시: False
    ParamQuery 같이 쿼리를 저장하십시오.
  4. 보기 메뉴에서 데이터시트 보기 를 클릭한 다음 마지막 이름 매개 변수 값 입력 대화 상자에 쉼표로 구분하여 입력하십시오.
    선하라 덕훈, 킹
참고: 세 개의 레코드가 반환됩니다. 쿼리 매개 변수를 지정하지 않으면 모든 레코드를 반환합니다.

방법 2

다음 메서드는 함수를 호출하고 두 매개 변수를 전달하는 쿼리를 사용합니다. 첫 번째 매개 변수 쿼리를 기반으로 테이블에 있는 필드의 이름입니다. 두 번째 매개 변수는 값 목록을 입력하려면 묻는 메시지를 표시합니다. 함수는 사용자의 항목을 In() 연산자에 대한 여러 매개 변수 목록으로 처리합니다.

Microsoft는 묵시적인 보증 없이 목적으로만 프로그래밍 예제를 제공합니다. 이 포함되지만, 상품성 또는 특정 목적에의 적합성에 대한 묵시적인된 보증이 제한되지 않습니다. 이 문서에서는 만들려면 및 프로시저를 디버깅하는 데 사용되는 도구 및 여기서 설명하는 프로그래밍 언어에 익숙한 사용자를 대상으로 합니다. Microsoft 지원 엔지니어는 사용자에게 도움이 되도록 특정 절차에 대한 기능을 설명할 수 있지만 추가 기능을 제공하거나 특정 요구 사항에 맞도록 프로시저를 구성하지는 이 예제를 수정하지 않습니다. 주의: 이 예제의 단계를 경우 Northwind.mdb 예제 데이터베이스를 수정합니다. Northwind.mdb 파일을 백업하려면 다음과 같이 데이터베이스의 복사본을 할 수 있습니다.

  1. Microsoft Access를 시작하고 Northwind.mdb 예제 데이터베이스를 엽니다.
  2. 다음 두 함수를 사용하여 새 모듈을 만듭니다:
    '************************************************************
    'Declarations section of the module.
    '************************************************************
    
    Option Explicit
    
    '============================================================
    ' The GetToken() function defines the delimiter character.
    '============================================================
    
    
    Function GetToken (stLn, stDelim)
       Dim iDelim as Integer, stToken as String
       iDelim = InStr(1, stLn, stDelim)
       If (iDelim <> 0) Then
          stToken = LTrim$(RTrim$(Mid$(stLn, 1, iDelim - 1)))
          stLn = Mid$(stLn, iDelim + 1)
       Else
          stToken = LTrim$(RTrim$(Mid$(stLn, 1)))
          stLn = ""
       End If
       GetToken = stToken
    End Function
    
    '============================================================
    ' The InParam() function is the heart of this article. When
    ' the query runs, this function causes a query parameter
    ' dialog box to appear so you can enter a list of values.
    ' The values you enter are interpreted as if you
    ' had entered them within the parentheses of the In() operator.
    '============================================================
    Function InParam (Fld, Param)
       Dim stToken as String
       'The following two lines are optional, making queries
       'case-insensitive
       Fld = UCase(Fld)
       Param = UCase(Param)
       If IsNull(Fld) Then Fld = ""
       Do While (Len(Param) > 0)
          stToken = GetToken(Param, ",")
          If stToken = LTrim$(RTrim$(Fld)) Then
             InParam = -1
             Exit Function
          Else
             InParam = 0
          End If
       Loop
    End Function
    					
  3. 모듈을 저장하고 닫습니다.
  4. Customers 테이블을 기초로 새 쿼리를 만듭니다. 원하는 필드를 쿼리 눈금으로 끌어 놓습니다.
  5. 다음 필드를 쿼리 눈금으로 추가:
    참고: 다음 예제에서는 줄 끝의 밑줄 (_)은 줄 연속 문자로 사용됩니다. 이 예제를 다시 작성할 때는 줄 끝에서 밑줄을 삭제하십시오.
    필드 이름: InParam([CustomerID],[Enter ID list using _
    쉼표와 공백이:])
    표시: False
    조건: True
    참고: 값이 필드 이름 한 줄에 하나의 문 형식이 지정되어야 합니다에 대해 표시된 InParam(...). InParam() 함수는 Integer 필드를 물론 텍스트 필드와 함께 작동합니다.
  6. 쿼리를 실행하십시오. 매개 변수 목록을 입력할 것인지 묻는 것을 유의하십시오. 대화 상자에서 다음 메시지가 표시됩니다.
    쉼표와 공백을 사용하여 ID 목록을 입력하십시오.
  7. 매개 변수 값 입력 상자에 입력하십시오.
    CHOPS, EASTC, FAMIA
    조건을 만족하는 모든 레코드가 표시됩니다. 매개 변수 없이 입력하면 레코드가 반환됩니다.
참고: 한 In() 연산자의 와일드카드를 같은 지원하지 않는 것을 한계입니다 * 또는?. 예를 들어, Microsoft Access에서 다음 쿼리를 실행할 수 없습니다.
IN("A*","BON*","CRATE???")

참조

In 연산자 Visual Basic 편집기에서에 대한 자세한 내용은 도움말 메뉴에서 Microsoft Visual Basic 도움말 을, (dao) 연산자 예제의 Office 길잡이나 도움말 마법사에서 입력한 다음 해당 항목을 보려면 검색 누릅니다.

속성

기술 자료: 210530 - 마지막 검토: 2005년 6월 23일 목요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Access 2000 Standard Edition
키워드:?
kbmt kbhowto kbinfo kbusage KB210530 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com