Microsoft Access에서 보고서 데이터라는 데이터 테이블에 저장된 식별 번호, 위치, 메모 등의 데이터를 사용자에게 제공하는 보고서를 만들었습니다. 보고서를 열기 위해 클릭하면 모든 2000 페이지 이상의 보고서가로드됩니다 (1 IDENT NO). 그러나 IDENT NO를 입력하여로드/표시 할 사용자가 선택한 보고서 하나만을 원합니다.Microsoft Access VBA : 필터 보고서 단추
클릭하면 다음과 같은 코드로 사용자가 입력 한 IDENT NO로 보고서를 필터링하려는 버튼을 만들었습니다. 사용자가 버튼을 클릭하면 팝업에서 IDENT NO, 해당 IDENT NO와 연관된 단일 보고서 만 열려고합니다. 그러나 그렇게 할 때, 원하는대로 한 페이지 보고서 만로드되지만 다른 데이터 필드는 채워지지 않습니다. 잠시 동안 코드를 가지고 놀았지만 지금은 할 수 없습니다. 문제가 아래 코드를 기반으로하는지 또는 다른 문제로 인해 발생하는지 파악하는 것 같습니다.
참조 용으로 식별 번호는 대시로 표시된 다음 형태로 표시됩니다. 1940-1 또는 1940-2 또는 2910-1은 모두 식별 번호의 예입니다.
Private Sub Command33_Click()
Dim id As String
id = InputBox("Enter the identification number:", "Report Filter")
'if a value was entered, open and filter report
If Len(Trim(id)) > 0 Then
DoCmd.OpenReport "RARL Requests Report", acViewPreview, , "[IDENT NO] like " & id, acWindowNormal
End If
End Sub
위의 내용을 수정하여 사용자가 입력 한 것으로 시작하는 보고서를 열 수 있습니까? 예를 들어 IDENT NO의 1940-1, 1940-2 및 1940-3 보고서가 있고 사용자가 InputBox에 1940 만 입력 한 경우 보고서 3 개가 모두 표시됩니까? – Xcelrate
""[IDENT NO] LIKE ' "& id &"*' "'- 콤보 상자는 여전히 내가 권장하는 방법입니다. 입력 값을 나열된 값으로 제한하지 않도록 설정하십시오. 그러나 목록은 유효한 완전한 ID 번호에 대해 사용자를 안내하기 위해 여전히 존재할 것입니다. – June7
나는 당신이 무엇을 얻고 있는지 보았습니다. 내가 콤보 박스 선택을 열기 위해 버튼을 클릭하는 것과 같은 코드 라인에서 InputBox를 대체 할 수있는 콤보 박스 기능이 있습니까? 또한이 경우 코드의 나머지 부분에 추가 수정이 필요합니까? – Xcelrate