study/ADO 2012. 5. 2. 13:32

액세스 VBA 강좌_ADO_레코드 세트의 작성

   

■ Contents

   

   

1.Append 방법

Recordset 오브젝트의 Fields 컬렉션에 Field 오브젝트를 추가하면 메모리 위에서 새롭게 레코드셋을 작성하는 것이 가능하다.작성한 레코드셋에는 Append 방법이나 Update 방법을 사용하고 레코드를 추가하는 것이 가능하다.

【서식】recordset.fields.Append Name,Type, DefinedSize, Attrib, FieldValue

recordset:Recordset 오브젝트
Name:레코드셋에 추가하는 필드의 이름
Type:필드의 데이터 형태(adVarChar을 지정한 때는 필드의 사이즈를 지정)
DefinedSize:필드의 사이즈(생략 가능)
Attrib:필드의 속성.기정치는 adFldDefault.
FieldValue:신규 필드의 값을 지정.지정하지 않는 경우는 Null 값이 설정된다.(생략 가능)

정수

설명

adBoolean

Boolean 값을 보여 준다.

adCurrency

흐름을 보여 준다.

adDate

날짜를 보여 준다.

adDouble

배 정밀도 부동 소수점치를 보여 준다.

adInteger

4 아르바이트의 부호 붙고 정수를 보여 준다.

adSingle

단 정밀도 부동 소수점치를 보여 준다.

adVarChar

문자열을 보여 준다.

◆Type

【포인트】

Append 방법을 실행하고 필드를 추가할 수 있는 것은 신규 Recordset 오브젝트에의 참조를 대입 한 직후의 Recordset 오브젝트이다.열려 있는 Recordset 오브젝트에는 필드를 추가할 수 없다.

2.연산 필드를 추가

연산 필드는 테이블에 등록되고 있는 데이터를 사용하고 연산을 실행하고 그 결과를 표시하는 필드이다.열려 있는 Recordset 오브젝트에는 필드를 추가할 수 없다.연산 필드의 작성은 다음의 순서로 한다.

  1. 새롭게 Recordset 오브젝트를 작성하고 필드를 정의한다.
  2. 연산에 필요한 데이터를 작성한 Recordset 오브젝트에 추가한다.
  3. 연산 결과를 필드에 대입 한다.

【사용 예】

Public Sub AppendField()
Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset '신규에 작성하는 레코드셋
Dim RRS As ADODB.Recordset  '연산용의 데이터

'접속
Set CN = CurrentProject.Connection

'신규에 레코드셋을 작성
Set RS = New ADODB.Recordset
RS.Fields.Append "상품 ID", adVarChar, 5
RS.Fields.Append "단가", adCurrency
RS.Fields.Append "세금 포함 가격", adCurrency
RS.Open

'[상품 일람]테이블의 내용을 취득
Set RRS = New ADODB.Recordset
RRS.Open "상품 일람", CN

'추가
Do Until RRS.EOF
RS.AddNew
RS!상품 ID = rsGoods!상품 ID
RS!단가 = rsGoods!단가
RS!세금 포함 가격 = rsGoods!단가 * 1.05
RS.Update
'
RS.MoveNext
RRS.MoveNext
Loop

'확인
RS.MoveFirst
Do Until RS.EOF
Debug.Print RS!상품 ID, RS!단가, RS!세금 포함 가격
RS.MoveNext
Loop

'종료
RRS.Close: Set RRS = Nothing
RS.Close: Set RS = Nothing
CN.Close: Set CN = Nothing

End Sub

   

  

   

<http://www.msaccess.co.kr/onlinele/list/basic/recordeset/ado/ado_5.htm>에서 삽입