적용 대상
Form 개체 |
Report 개체 |
RecordSource 속성을 사용하여 폼 또는 보고서의 데이터 원본을 지정할 수 있습니다. 읽기/쓰기 String입니다.
expression.RecordSource
식 필수 요소입니다. 적용 대상 목록에 있는 개체 중 하나를 반환하는 식입니다.
주의
RecordSource 속성 설정은 테이블 이름, 쿼리 이름 또는 SQL 문일 수 있습니다. 예를 들어, 다음 설정을 사용할 수 있습니다.
샘플 설정 |
설명 |
Employees |
Employees 테이블을 데이터 원본으로 지정하는 테이블 이름입니다. |
SELECT Orders!OrderDate FROM Orders; |
Orders 테이블의 OrderDate 필드를 데이터 원본으로 지정하는 SQL 문입니다. 컨트롤의 ControlSource 속성을 OrderDate로 설정하여 폼 또는 보고서의 컨트롤을 Orders 테이블의 OrderDate 필드에 바인딩할 수 있습니다. |
참고: 폼 또는 보고서의 속성 시트, 매크로 또는 VBA(Visual Basic for Applications) 코드를 사용하여 RecordSource 속성을 설정할 수 있습니다.
VBA에서 문자열 식을 사용하여 이 속성을 설정합니다.
참고: 열린 폼 또는 보고서의 레코드 원본을 변경하면 기본 데이터가 자동으로 다시 쿼리됩니다. 폼의 Recordset 속성이 런타임에 설정되면 폼의 RecordSource 속성이 업데이트됩니다.
폼 또는 보고서를 만든 후 RecordSource 속성을 변경하여 해당 데이터 원본을 변경할 수 있습니다. 다시 사용 가능한 폼 또는 보고서를 만들려는 경우에도 RecordSource 속성이 유용합니다. 예를 들어, 표준 디자인을 통합한 폼을 만들고 나서, 폼을 복사하고 RecordSource 속성을 변경하여 다른 테이블, 쿼리 또는 SQL 문에서 데이터를 표시할 수 있습니다.
특히 응용 프로그램이 네트워크에서 실행될 때 폼의 레코드 원본에 포함된 레코드 수를 제한하면 성능을 개선할 수 있습니다. 예를 들어, 폼의 RecordSource 속성을 단일 레코드를 반환하는 SQL 문으로 설정하고 사용자가 선택한 기준에 따라 폼의 레코드 원본을 변경할 수 있습니다.
예
다음 예에서는 폼의 RecordSource 속성을 Customers 테이블로 설정합니다.
Forms!frmCustomers.RecordSource = "Customers"
다음 예에서는 cmboCompanyName 콤보 상자 컨트롤에서 선택한 회사 이름에 따라 폼의 레코드 원본을 Customers 테이블의 단일 레코드로 변경합니다. 콤보 상자는 고객 ID(바인딩된 열에 있음) 및 회사 이름을 반환하는 SQL 문을 통해 채워집니다. CustomerID의 데이터 형식은 Text입니다.
Sub cmboCompanyName_AfterUpdate()
Dim strNewRecord As String
strNewRecord = "SELECT * FROM Customers " _
& " WHERE CustomerID = '" _
& Me!cmboCompanyName.Value & "'"
Me.RecordSource = strNewRecord
End Sub