적용 대상
Form 개체 |
Report 개체 |
폼을 연 OpenForm 메서드의 OpenArgs 인수로 지정된 문자열 식을 확인합니다. 읽기/쓰기 Variant입니다.
expression.OpenArgs
식 필수 요소입니다. 적용 대상 목록에 있는 개체 중 하나를 반환하는 식입니다.
주의
이 속성은 매크로를 사용하거나 VBA(Visual Basic for Applications) 코드를 DoCmd 개체의 OpenForm 메서드와 함께 사용해야 사용할 수 있습니다. 이 속성 설정은 모든 보기에서 읽기 전용입니다.
OpenArgs 속성을 사용하려면 DoCmd 개체의 OpenForm 메서드를 사용하여 폼을 열고 OpenArgs 인수를 원하는 문자열 식으로 설정합니다. 그러면 OpenArgs 속성 설정을 Open 이벤트 프로시저와 같은 폼에 대한 코드에서 사용할 수 있습니다. 또한 Open 매크로와 같은 매크로 또는 폼에서 컨트롤에 대한 ControlSource 속성을 설정하는 식과 같은 식에서 속성 설정을 참조할 수도 있습니다.
예를 들어, 직접 연 폼이 클라이언트의 연속 폼 목록이라고 가정해 봅니다. 폼이 열릴 때 포커스가 특정 클라이언트 레코드로 이동하게 하려면 OpenArgs 속성을 클라이언트 이름으로 설정하고 Open 매크로에서 FindRecord 작업을 사용하여 지정된 이름을 가진 클라이언트에 대한 레코드로 포커스를 이동하면 됩니다.
예
다음 예에서는 OpenArgs 속성을 사용하여 직원 폼을 특정 직원 레코드로 열고 OpenForm 메서드가 OpenArgs 속성을 설정하는 방법을 보여 줍니다. 예를 들어, 직원에 대한 새 정보를 입력하는 데 사용되는 사용자 지정 대화 상자에서 AfterUpdate 이벤트가 발생하는 경우 이 프로시저를 적절하게 실행할 수 있습니다.
Sub OpenToCallahan()
DoCmd.OpenForm "Employees", acNormal, , , _ acReadOnly, , "Callahan" End Sub Sub Form_Open(Cancel As Integer) Dim strEmployeeName As String ' If OpenArgs property contains employee name, find ' corresponding employee record and display it on ' form. For example,if the OpenArgs property ' contains "Callahan", move to first "Callahan" ' record. strEmployeeName = Forms!Employees.OpenArgs If Len(strEmployeeName) > 0 Then DoCmd.GoToControl "LastName" DoCmd.FindRecord strEmployeeName, , True, , _ True, , True End If End Sub
다음 예에서는 FindFirst 메서드를 사용하여 OpenArgs 속성에서 명명된 직원을 찾습니다.
Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then Dim strEmployeeName As String strEmployeeName = Me.OpenArgs Dim RS As DAO.Recordset Set RS = Me.RecordsetClone RS.FindFirst "LastName = '" & _ strEmployeeName & "'" If Not RS.NoMatch Then Me.Bookmark = RS.Bookmark End If End If End Sub