티스토리 뷰

컴퓨터 팁

엑셀에서 db를

intnet 2021. 9. 2. 12:53

매크로 DB 함수 전체 명령문

매크로 DB 함수 전체 명령문.cap
0.01MB

1. 시트에 입력된 데이터를 DB 배열로 변환

Get_DB 함수 구문

Dim DB As Variant
DB = Get_DB ( 시트, [ID없음], [머릿글포함] )

Get_DB 함수는 시트 안에 입력된 데이터를 배열로 반환하는 함수입니다. 데이터를 범위대신 배열로 받아오면, 처리속도가 빨라질 뿐만 아니라, 데이터를 가공하는데 많은 이점을 챙길 수 있습니다.

 엑셀 Get_DB 함수 전체 명령문 및 동작원리

Get_DB 함수가 참조하는 시트의 데이터는 반드시 아래 규칙을 지켜서 작성되어야 합니다.

DB 함수를 사용할 데이터 관리 규칙

  1. 데이터는 A1셀에서 시작합니다.
  2. 머릿글은 1행에 1줄로 작성합니다.
  3. 병합된 셀이 없어야 합니다.
  4. ID(고유값)이 있을 경우, 반드시 첫번째 열에 입력되어야 하며 DB 오른쪽으로 신규 ID가 입력된 셀이 있어야 합니다.

Get_DB 함수를 사용하면 시트 안에 입력된 데이터가 배열로 반환되며, 반환된 배열은  Connect_DB 함수(관계생성) 와  Filtered_DB 함수(필터링), 또는  ArrayToRng 함수(범위출력)에 사용할 수 있습니다.

 Get_DB 명령문 사용예제

Get_DB 명령문 사용예제.cap
0.00MB

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 명령문 사용예제

Connect_DB 명령문 사용예제.cap
0.00MB

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 명령문 사용예제

Filtered_DB 명령문 사용예제.cap
0.00MB

 

4. 시트에 새로운 레코드 추가

Insert_Record 함수 구문

Dim WS As Worksheet
Set WS = ThisWorkbook.Worksheets("고객명")
Insert_Record WS, "값1", "값2", "값3", ...

Insert_Record 함수는 시트에 입력된 데이터에 새로운 레코드를 추가하는 함수입니다.

Insert_Record 함수로 새로운 레코드가 추가되는 시트의 데이터는 아래 규칙을 지켜 관리되어야 합니다.

ID가 연속된 순번일 경우, 데이터 우측에서 신규 ID 값을 관리합니다.

  1. 데이터는 A1셀에서 시작합니다.
  2. 머릿글은 1행에 1줄로 작성합니다.
  3. 병합된 셀이 없어야 합니다.
  4. ID(고유값)이 있을 경우, 반드시 첫번째 열에 입력되어야 하며 DB 오른쪽으로 신규 ID가 입력된 셀이 있어야 합니다.
  5. 고유값이 있을 경우, 고유값의 머릿글은 반드시 "ID"라는 문자를 포함해야 합니다. ID가 연속된 숫자일 경우 데이터의 오른쪽으로 새롭게 추가될 ID 순번을 같이 관리해야 합니다.

 Insert_Record 명령문 사용예제

Insert_Record 명령문 사용예제.cap
0.00MB

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 명령문 사용예제

Delete_Record 명령문 사용예제.cap
0.00MB

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 명령문 사용예제

Update_Record 명령문 사용예제.cap
0.00MB

 

 

 

원본자료 : https://www.oppadu.com/%ec%97%91%ec%85%80-sql-%ec%97%86%ec%9d%b4-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b4%80%eb%a6%ac/

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함