Module
Contents
Index 🔎︎

# 데이터

데이터 탭 페이지는 연결된 데이터베이스를 참조하는 양식 속성을 지정합니다.

양식의 기반이 되는 데이터 원본을 지정하거나 해당 데이터를 편집할 수 있는지 여부를 지정합니다. 정렬 및 필터 기능 외에도 하위 양식을 만드는 데 필요한 모든 속성을 찾을 수 있습니다.

이 명령을 사용하려면...

Open context menu of a selected form element - choose Form - Data tab.

Open Form Controls toolbar or Form Design toolbar, click Form icon - Data tab.

## ...로 링크

하위 양식을 만든 경우 사용 가능한 상위 양식 필드 값을 저장할 수 있는 변수를 입력합니다. 하위 양식이 쿼리를 기반으로 하면 쿼리에서 지정한 변수를 입력합니다. 데이터 원본 필드에 입력한 SQL 문을 사용하여 양식을 만드는 경우 해당 명령에서 사용한 변수를 입력합니다. 어떤 변수 이름도 선택할 수 있습니다. 여러 개의 값을 입력하려면 Shift + Enter를 누릅니다.

마스터 필드 연결의 상위 필드로서 예를 들어 "고객ID" 데이터 필드를 지정하였으면 슬레이브 필드 연결에서 변수의 이름을 지정하십시오. 이 변수에서 "고객 ID" 데이터 필드의 값이 판독됩니다. 이제 이 변수를 이용하여 SQL 문을 데이터 원본 필드에 지정하면 적합한 값이 하위 양식에 표시됩니다.

## SQL 명령 분석

LibreOffice에서 SQL 문을 분석할 것인지 여부를 지정합니다. 예를 설정하면 내용 목록 상자 옆에 있는 ... 버튼을 누를 수 있습니다. 그래픽 방식으로 데이터베이스 쿼리를 만들 수 있는 창이 열립니다. 이 창을 닫을 때, 생성된 쿼리에 대한 SQL 문은 내용 목록 상자 안으로 삽입됩니다.

## 내용

양식에 사용할 내용을 지정합니다. 이전에 만든 데이터베이스의 기존 테이블이나 쿼리를 내용으로 사용하거나 SQL 문으로 내용을 지정할 수 있습니다. 내용을 입력하기 전에 내용 유형에서 정확한 유형을 지정해야 합니다.

내용 유형에서 &quot;테이블&quot; 또는 &quot;쿼리&quot;를 선택하면 선택한 데이터베이스에 설정된 모든 테이블과 쿼리가 상자에 나열됩니다.

## 데이터 원본

양식에서 참조할 데이터 원본을 지정합니다. ... 버튼을 클릭하면 데이터 원본을 선택할 수 있는 열기 대화 상자가 열립니다.

## 데이터 원본의 유형

기존 데이터베이스 테이블 또는 쿼리를 데이터 원본으로 사용할 것인지 또는 SQL 문을 기반으로 양식을 만들 것인지 지정합니다.

테이블 또는 "쿼리"를 선택하면 양식은 데이터 원본에 지정한 테이블 또는 쿼리를 참조합니다. 새 쿼리나 하위 양식을 만들려면 "SQL" 옵션을 선택해야 합니다. 그런 다음 목록 내용 상자에 직접 SQL 쿼리 또는 하위 양식 문을 입력할 수 있습니다. 양식은 지정한 문을 기반으로 생성됩니다.

## 데이터만 추가

양식에서 새 데이터의 추가만 허용할지(예) 또는 다른 속성도 허용할지(아니요)를 지정합니다.

데이터만 추가를 "예"로 설정하면 데이터를 변경하거나 삭제할 수 없습니다.

## 마스터 필드 링크

하위 양식을 만드는 경우 상위 양식과 하위 양식 간의 동기화를 담당할 상위 양식의 데이터 필드를 입력합니다. 여러 값을 입력하려면 각 줄을 입력한 다음 Shift + Enter를 누릅니다.

하위 양식은 SQL 쿼리, 특히 매개 변수 쿼리를 기반으로 합니다. 마스터 필드 연결 상자에 필드 이름을 입력한 경우 주 양식에서 해당 필드에 있는 데이터를 읽어오는 변수를 슬레이브 필드 연결에 입력해야 합니다. 해당 SQL 문에서 이 변수는 하위 양식이 참조하는 테이블 데이터와 비교됩니다. 또는 마스터 필드 연결 상자에 열 이름을 입력할 수도 있습니다.

이에 덧붙여 다음의 예를 관찰하십시오:

양식을 기초로하는 데이터베이스 테이블은 예를 들어 명확한 번호로 각 고객을 식별할 수 있는 고객 데이터베이스("고객"), 자세히 말하면 "고객_ID"라는 이름의 데이터 필드를 갖는 고객 데이터베이스가 될 수 있습니다. 고객의 주문은 다른 데이터베이스 테이블에서 관리합니다. 이제 양식에 입력되는 각 고객에 대한 주문을 보고자 합니다. 또한 하위 양식을 만들고 ...로부터 링크에서 고객이 정확히 식별될 수 있는 고객 데이터베이스의 데이터 필드, 즉 "고객_ID"(따옴표 제외)를 입력합니다. ...로 링크에서 고객_ID 필드의 데이터를 추가해야 하는 변수의 이름 즉, 예를 들어 "x"를 입력합니다.

하위 양식은 주문 테이블에서 각 고객 ID에 해당하는 적절한 데이터를 표시해야 합니다(Customer_ID -> x). 이는 주문 테이블에서 각 주문이 1명의 고객에게만 할당된 경우에만 가능합니다. 또한 Customer_ID라는 이름의 또 다른 필드를 사용할 수 있습니다. 그러나 주 양식의 같은 필드와 혼동하지 않도록 이 필드를 Customer_Number으로 부르기로 합니다.

이제 "Orders" 테이블의 Customer_Number를 "Customers" 테이블의 Customer_ID와 비교합니다. 예를 들어 다음 SQL 명령처럼 x 변수를 사용할 수 있습니다.

SELECT * FROM 주문 WHERE 고객_Nr =: x (하위 양식이 주문 테이블의 모든 데이터를 표시해야 하는 경우)

또는:

SELECT 항목 FROM 주문 WHERE 고객_Nr =: x (주문 표의 양식이 "항목" 필드의 데이터만을 표시해야 하는 경우)

SQL 문은 데이터 원본 필드에 입력하거나, 아니면 하위 양식을 만드는 데 적합한 매개 변수 쿼리를 작성할 수 있습니다.

## 사이클

Tab 키를 사용한 탐색 방법을 지정합니다. Tab 키를 사용하여 양식 내에서 앞으로 이동할 수 있습니다. Shift 키를 함께 누르면 탐색 방향이 반대가 됩니다. 마지막 또는 첫 번째 필드에 도달한 후 다시 Tab 키를 누르면 다양한 결과가 나타날 수 있습니다. 다음 옵션을 사용하여 키 콘트롤을 지정합니다.

옵션 | 의미
기본 | 이 설정으로 기존의 데이터베이스 연결에 맞춰지는 사이클이 자동으로 정의됩니다: 양식에 데이터베이스 연결이 존재하면 마지막 필드를 종료할 때 탭 키를 이용하여 기준에 따라 다음/이전 데이터 레코드로 변경할 수 있습니다(모든 데이터 레코드 참조). 데이터베이스 연결 없이 다음/이전 양식으로 변경됩니다(현재 페이지 참조).
모든 레코드 | 이 옵션은 데이터베이스 양식에만 적용되며 모든 레코드를 탐색할 때 사용합니다. Tab 키를 사용하여 양식의 마지막 필드를 빠져 나오면 현재 레코드가 바뀝니다.
현재 데이터레코드 | 이 옵션은 데이터베이스 양식에만 적용되며 현재 레코드 내에서 탐색하는 데 사용합니다. Tab 키를 사용하여 양식의 마지막 필드를 빠져 나오면 현재 레코드가 바뀝니다.
현재 페이지 | 양식의 마지막 필드를 빠져 나올 때 커서는 다음 양식의 첫 번째 필드로 이동합니다. 이는 HTML 양식의 표준 방식입니다. 따라서 이 옵션은 특히 HTML 양식과 관련 있습니다.

## 삭제 허용

데이터를 삭제할 수 있는지 여부를 지정합니다.

## 수정 허용

데이터를 수정할 수 있는지 여부를 지정합니다.

## 정렬

양식 데이터의 정렬 조건을 지정합니다. 정렬 조건 지정은 ORDER BY 절을 사용하지 않고 SQL 규칙을 따릅니다. 예를 들어, 데이터베이스의 모든 레코드를 한 필드는 오름차순으로, 다른 필드는 내림차순으로 정렬하려면 Forename ASC, Name DESC와 같이 입력하면 됩니다. 여기서 Forename과 Name은 데이터 필드의 이름입니다.

정렬하려면 사용자 모드에서 양식 탐색 표시줄의 적절한 아이콘(오름차순 정렬, 내림차순 정렬 및 정렬)을 사용할 수 있습니다.

## 추가 허용

데이터를 추가할 수 있는지 여부를 지정합니다.

## 탐색 표시줄

하위 양식 도구 모음의 탐색 기능을 사용할 수 있는지 여부를 지정합니다.

"상위 양식" 옵션은 하위 양식을 위한 것입니다. 하위 양식에 대해 이 옵션을 선택하면 커서가 하위 양식에 위치할 경우 주 양식의 데이터 레코드를 통해 탐색할 수 있습니다. 하위 양식이 1:1 관계를 통해 주 양식과 연결되므로 내비게이션은 하위 양식 내에서 의미가 없습니다. 내비게이션은 항상 상위 양식에서 실행됩니다.

## 필터

양식에서 데이터를 필터링하는 데 필요한 조건을 입력합니다. 필터 지정은 WHERE 절을 사용하지 않고 SQL 규칙을 따릅니다. 예를 들어, "Mike" 이름이 포함된 모든 레코드를 표시하려면 데이터 필드에 Forename = 'Mike'를 입력합니다. Forename = 'Mike' OR Forename = 'Peter'와 같이 조건을 결합하여 입력할 수도 있습니다. 이 두 조건 중 하나와 일치하는 모든 레코드가 표시됩니다.

사용자 모드에서 양식 탐색 표시줄의 자동필터 및 기본 필터 아이콘을 통해 필터 함수를 사용할 수 있습니다.

## 하위 양식이 무엇입니까?

양식은 데이터베이스 테이블 또는 데이터베이스 쿼리를 기초로 만들어집니다. 양식은 데이터를 시각적으로 선별하여 표시하며, 새로운 데이터의 입력 또는 기존의 데이터의 변경에 사용됩니다. 이 데이터는 양식을 기초로 만들어진 데이터베이스 테이블 또는 쿼리에 저장됩니다.

테이블이나 쿼리의 데이터를 참조하고 다른 테이블의 데이터도 추가로 표시할 수 있는 양식이 필요한 경우에는 하위 양식을 만들어야 합니다. 예를 들어, 이 하위 양식은 다른 데이터베이스 테이블의 데이터를 표시하는 텍스트 상자가 될 수 있습니다.

하위 양식은 주 양식의 추가 구성 요소입니다. 주 양식은 "상위 양식" 또는 "마스터"라고 합니다. 하위 양식은 특정 양식에서 두 개 이상의 테이블에 액세스할 때 필요합니다. 모든 추가 테이블에 해당 하위 양식이 필요합니다.

양식을 만든 후 하위 양식으로 변경할 수 있습니다. 이렇게 하려면 디자인 모드를 시작하고 양식 내비게이터를 엽니다. 양식 내비게이터에서 하위 양식이 될 양식을 마스터가 될 다른 양식으로 끕니다.

특정 양식에 하위 양식이 있어도 문서의 사용자에게는 표시되지 않습니다. 사용자는 데이터를 입력하거나 기존 데이터가 표시되는 문서만 볼 수 있습니다.

마스터 양식의 데이터 필드에서 [마스터 필드 연결]을 지정합니다. 하위 양식에서 [슬레이브 필드 연결]을 [마스터 필드 연결] 내용과 일치되는 필드로 설정할 수 있습니다.

사용자가 데이터를 탐색하면 양식에 항상 현재 데이터 레코드가 표시됩니다. 하위 양식이 정의되어 있는 경우 약 20ms의 짧은 지연 후에 하위 양식의 내용이 표시되므로 마스터 양식의 데이터 레코드를 신속하게 탐색할 수 있습니다. 지연 제한 내에 다음 마스터 데이터 레코드로 이동하면 하위 양식 데이터를 검색하여 표시할 필요가 없습니다.