티스토리 뷰
매크로 DB 함수 전체 명령문
1. 시트에 입력된 데이터를 DB 배열로 변환
Get_DB 함수 구문
Dim DB As Variant
DB = Get_DB ( 시트, [ID없음], [머릿글포함] )
Get_DB 함수는 시트 안에 입력된 데이터를 배열로 반환하는 함수입니다. 데이터를 범위대신 배열로 받아오면, 처리속도가 빨라질 뿐만 아니라, 데이터를 가공하는데 많은 이점을 챙길 수 있습니다.
Get_DB 함수가 참조하는 시트의 데이터는 반드시 아래 규칙을 지켜서 작성되어야 합니다.
DB 함수를 사용할 데이터 관리 규칙
- 데이터는 A1셀에서 시작합니다.
- 머릿글은 1행에 1줄로 작성합니다.
- 병합된 셀이 없어야 합니다.
- ID(고유값)이 있을 경우, 반드시 첫번째 열에 입력되어야 하며 DB 오른쪽으로 신규 ID가 입력된 셀이 있어야 합니다.
Get_DB 함수를 사용하면 시트 안에 입력된 데이터가 배열로 반환되며, 반환된 배열은 Connect_DB 함수(관계생성) 와 Filtered_DB 함수(필터링), 또는 ArrayToRng 함수(범위출력)에 사용할 수 있습니다.
Get_DB 명령문 사용예제
2. DB 와 다른 시트가 연결된 관계형 DB 생성
Connect_DB 함수 구문
Dim DB As Variant
DB = Get_DB ( 시트, [ID없음], [머릿글포함] )
DB = Connect_DB ( DB, ID번호, 연결할시트, 불러올필드, [머릿글포함] )
Connect_DB 함수는 기존 배열에서 ID를 참조하여 다른 시트가 연결된 DB를 생성하는 함수입니다. 예를 들어, [급여내역]에 입력된 직원ID를 참조하여 [급여내역] - [직원정보] 가 연결된 관계형 DB를 만들거나, [매출내역]에 입력된 제품ID를 참조하여 [매출내역] - [제품정보]가 연결된 관계형 DB를 만들 수 있습니다.
엑셀 Connect_DB 함수 전체 명령문 및 동작원리
Connect_DB 함수로 연결되는 시트의 데이터는 Get_DB 함수와 동일한 규칙으로 작성되어야 합니다. 연결된 시트는 반드시 ID열을 포함해야 하며, ID는 반드시 첫번째 열에 입력되어야 합니다.
Connect_DB 명령문 사용예제
3. 입력한 조건에 맞춰 DB를 필터링
Filtered_DB 함수 구문
Dim DB As Variant
DB = Get_DB ( 시트, [ID없음], [머릿글포함] )
DB = Filtered_DB ( DB, 조건, [열번호], [일치옵션] )
Filtered_DB 함수는 입력한 조건에 따라 배열을 필터링한 뒤, 필터링 된 배열을 반환하는 함수입니다. Filtered_DB에 입력하는 조건은 하나만 입력 가능합니다. 만약 하나의 DB에 여러 조건을 동시에 적용해야 된다면, Filtered_DB 함수를 여러번 사용합니다.
Filtered_DB 명령문 사용예제
4. 시트에 새로운 레코드 추가
Insert_Record 함수 구문
Dim WS As Worksheet
Set WS = ThisWorkbook.Worksheets("고객명")
Insert_Record WS, "값1", "값2", "값3", ...
Insert_Record 함수는 시트에 입력된 데이터에 새로운 레코드를 추가하는 함수입니다.
Insert_Record 함수로 새로운 레코드가 추가되는 시트의 데이터는 아래 규칙을 지켜 관리되어야 합니다.
ID가 연속된 순번일 경우, 데이터 우측에서 신규 ID 값을 관리합니다.
- 데이터는 A1셀에서 시작합니다.
- 머릿글은 1행에 1줄로 작성합니다.
- 병합된 셀이 없어야 합니다.
- ID(고유값)이 있을 경우, 반드시 첫번째 열에 입력되어야 하며 DB 오른쪽으로 신규 ID가 입력된 셀이 있어야 합니다.
- 고유값이 있을 경우, 고유값의 머릿글은 반드시 "ID"라는 문자를 포함해야 합니다. ID가 연속된 숫자일 경우 데이터의 오른쪽으로 새롭게 추가될 ID 순번을 같이 관리해야 합니다.
Insert_Record 명령문 사용예제
5. 시트에서 레코드 삭제
Delete_Record 함수 구문
Dim WS As Worksheet
Set WS = ThisWorkbook.Worksheets("고객명")
Delete_Record WS, ID, [행번호여부], [ID열]
Delete_Record 함수는 시트에 입력된 레코드를 삭제하는 함수입니다.
행번호여부를 TRUE로 입력하면 ID 대신 행 번호를 참조하여 레코드를 삭제합니다. ID열에 열 번호를 입력하면 지정한 열에서 ID를 찾아 레코드를 삭제합니다. ID열을 입력하지 않을 경우, 첫번째 열에서 ID를 찾아 레코드를 삭제합니다.
Delete_Record 명령문 사용예제
6. 특정 레코드를 찾아 업데이트
Update_Record 함수 구문
Dim WS As Worksheet
Set WS = ThisWorkbook.Worksheets("고객명")
Update_Record WS, ID, "값1", "값2", "값3", ...
Update_Record 함수는 시트에 입력된 데이터베이스에서 지정한 ID를 찾아 데이터를 업데이트하는 함수입니다. ID는 반드시 데이터 첫번째 열에 입력되어야 합니다.
만약 ID로 중복값이 있을 경우, Update_Record 함수는 위에서부터 첫번째로 일치하는 레코드를 찾아 값을 업데이트 합니다.
Update_Record 명령문 사용예제
'컴퓨터 팁' 카테고리의 다른 글
Windows 11, 22000.176 & 22449.1000 빌드에서 작업표시줄이 사라질 때 해결 방법 (0) | 2021.09.05 |
---|---|
Windows 11 Insider Preview 빌드 22000.168 Pro x64 (0) | 2021.09.03 |
LTSC에 없는 앱스토어 찾는 방법 (0) | 2021.08.31 |
윈도우 10 Home 버전을 Pro 버전으로 변경하기 (0) | 2021.08.24 |
마이크로소프트, 첫 번째 '윈도우 11' 프리뷰 ISO 파일 릴리즈 (0) | 2021.08.23 |