Access 2003 또는 Access 2007의 데이터베이스에서 Common Dialog API를 사용하는 방법
원본 KB 번호: 888695
소개
이 문서에서는 Microsoft Office Access 2003 또는 Microsoft Office Access 2007에서 Common Dialog API를 사용하여 공통 대화 상자 기능을 대체하는 방법을 설명합니다. 이 기능은 Microsoft Office 2000 Developer Edition 또는 Microsoft Office XP Developer Edition에만 포함되어 있습니다.
Microsoft에서 제공하는 프로그래밍 예제는 예시를 위한 것일 뿐이며 이와 관련하여 명시적이거나 묵시적인 어떠한 보증도 하지 않습니다. 이는 상품성이나 특정 목적에 대한 적합성의 묵시적인 보증을 포함하며 이에 제한되지 않습니다. 이 문서에서는 예제에 사용되고 있는 프로그래밍 언어와 프로시저를 만들고 디버깅하는 데 사용되는 도구를 사용자가 잘 알고 있는 것으로 가정합니다. Microsoft 지원 엔지니어는 사용자에게 도움이 되도록 특정 프로시저에 대한 기능을 설명할 수 있지만 사용자의 특정 요구 사항에 맞도록 예제를 수정하여 추가 기능을 제공하거나 프로시저를 구성하지는 않습니다.
공통 대화 상자 기능을 대체하는 단계
Microsoft Office Access 2003
Access에서 이름이 Northwind.mdb 샘플 데이터베이스를 엽니다.
참고
Access 2003의 Northwind.mdb 데이터베이스는 일반적으로 폴더에
C:\Program Files\Microsoft Office\OFFICE11\Samples
있습니다.Northwind 데이터베이스 창의 개체 아래에서 폼 을 클릭합니다.
데이터베이스 창 도구 모음에서 새로 만들기를 클릭합니다.
새 양식 대화 상자에서 디자인 뷰를 클릭한 다음 확인을 클릭합니다.
Form1에 텍스트 상자를 추가하고 텍스트 상자를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
모두 탭을 클릭하고 이름을 클릭하고Text1을 입력한 다음 속성 대화 상자를 닫습니다.
Text1 텍스트 상자와 연결된 레이블 컨트롤을 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 모두 탭을 클릭합니다.
캡션을 클릭하고 Text1을 입력한 다음 속성 대화 상자를 닫습니다.
Form1에 명령 단추를 추가하고 명령 단추를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 이름을 클릭하고 Command1을 입력한 다음 캡션을 클릭한 다음 Command1을 입력합니다.
이벤트 탭을 클릭하고 클릭 시 목록에서 [이벤트 프로시저]를 클릭한 다음 줄임표 단추를 클릭하여 Microsoft Visual Basic 편집기 시작합니다.
Command1_Click 프로시저의 코드를 다음으로 수정합니다.
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End Sub
삽입 메뉴에서 모듈을 클릭한 다음 Module1에 다음 코드를 삽입합니다.
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long Private Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type Function LaunchCD(strform As Form) As String Dim OpenFile As OPENFILENAME Dim lReturn As Long Dim sFilter As String OpenFile.lStructSize = Len(OpenFile) OpenFile.hwndOwner = strform.hwnd sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _ "JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0) OpenFile.lpstrFilter = sFilter OpenFile.nFilterIndex = 1 OpenFile.lpstrFile = String(257, 0) OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1 OpenFile.lpstrFileTitle = OpenFile.lpstrFile OpenFile.nMaxFileTitle = OpenFile.nMaxFile OpenFile.lpstrInitialDir = "C:\" OpenFile.lpstrTitle = "Select a file using the Common Dialog DLL" OpenFile.flags = 0 lReturn = GetOpenFileName(OpenFile) If lReturn = 0 Then MsgBox "A file was not selected!", vbInformation, _ "Select a file using the Common Dialog DLL" Else LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1)) End If End Function
디버그 메뉴에서 Northwind 컴파일을 클릭한 다음 Visual Basic 편집기 닫습니다.
보기 메뉴에서 양식 보기를 클릭합니다.
Command1을 클릭한 다음 열리는 창에서 파일을 클릭합니다.
파일의 경로가 텍스트1 텍스트 상자에 나타납니다.
Microsoft Office Access 2007
Access 2007에서 Northwind.accdb라는 샘플 데이터베이스를 엽니다.
만들기 탭의 양식 그룹에서 폼을 클릭합니다.
서식 탭에서 보기 아래의 아래쪽 화살표를 클릭한 다음 디자인 보기를 클릭합니다.
Form1에 텍스트 상자를 추가하고 텍스트 상자를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
모두 탭을 클릭하고 이름을 클릭한 다음 Text1을 입력합니다.
Text1 텍스트 상자와 연결된 레이블 컨트롤을 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 모두 탭을 클릭합니다.
캡션을 클릭한 다음 Text1을 입력합니다.
Form1에 명령 단추를 추가하고 명령 단추를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 이름을 클릭하고 Command1을 입력한 다음 캡션을 클릭한 다음 Command1을 입력합니다.
이벤트 탭을 클릭하고 클릭 시 목록에서 [이벤트 프로시저]를 클릭한 다음 줄임표 단추(...)를 클릭하여 Microsoft Visual Basic 편집기 시작합니다.
다음 코드 예제와 유사하도록 Command1_Click 프로시저의 코드를 수정합니다.
Private Sub Command1_Click() Me!Text1 = LaunchCD(Me) End Sub
삽입 메뉴에서 모듈을 클릭한 다음 다음 코드 예제와 유사한 코드를 Module1에 삽입합니다.
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long Private Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type Function LaunchCD(strform As Form) As String Dim OpenFile As OPENFILENAME Dim lReturn As Long Dim sFilter As String OpenFile.lStructSize = Len(OpenFile) OpenFile.hwndOwner = strform.hwnd sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _ "JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0) OpenFile.lpstrFilter = sFilter OpenFile.nFilterIndex = 1 OpenFile.lpstrFile = String(257, 0) OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1 OpenFile.lpstrFileTitle = OpenFile.lpstrFile OpenFile.nMaxFileTitle = OpenFile.nMaxFile OpenFile.lpstrInitialDir = "C:\" OpenFile.lpstrTitle = "Select a file using the Common Dialog DLL" OpenFile.flags = 0 lReturn = GetOpenFileName(OpenFile) If lReturn = 0 Then MsgBox "A file was not selected!", vbInformation, _ "Select a file using the Common Dialog DLL" Else LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1)) End If End Function
디버그 메뉴에서 Northwind 컴파일을 클릭한 다음 Visual Basic 편집기 닫습니다.
서식 탭에서 보기 아래의 아래쪽 화살표를 클릭한 다음 양식 보기를 클릭합니다.
Command1을 클릭한 다음 열리는 창에서 파일을 클릭합니다.
파일의 경로가 텍스트1 상자에 나타납니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기