17 단원 데이터베이스프로그래밍 1. 매크로의활용 2. VBA 를이용한모듈의작성 1/20
1. 매크로의활용 1) 매크로함수의사용 매크로는폼열기나보고서인쇄와같이특별한기능을수행하는하나이상의매크로함수의집합으로반복적인작업을자동화할때사용합니다. 액세스에서의매크로함수는이미만들어져있으므로매크로함수종류와인수들을선택하여만들수있습니다. 그럼매크로함수로두개의테이블을여는간단한매크로를만들어보겠습니다. 데이터베이스창의개체목록에서 매크로 를선택한후 [ 새로만들기 ] 단추를클릭합니다. 매크로창이나타나면매크로함수를 Open Table 로 선택합니다. 매크로함수 인수에서 테이블 이름을 사원 으로 선택합니다. 두번째매크로함수도 Open Table 로선택합니다. 매크로함수인수에서테이블이름을 사원 2 로선택합니다. 2/20
창닫기아이콘을클릭한후저장여부를물으면 < 예 > 단추를클릭하고, 매크로이름은 사원현황 1 이라고입력한후 < 확인 > 단추를클릭합니다. 사원현황 1 매크로가생성되었습니다. 사원현황 1 매크로를더블클릭하여실행해봅니다. 사원 테이블과 사원 2 테이블이데이터시트보기형식으로열린것을확인할수있습니다. 사원 2 테이블과 사원 테이블을닫기단추를클릭하여닫습니다. 이번에는기본급이 150 만원을초과할경우지정한오류메시지를보여주는조건이입력된매크로를만들어보도록하겠습니다. 데이터베이스창의개체목록에서 매크로 를선택한후 [ 새로만들기 ] 단추를클릭합니다. 매크로창이나타나면메뉴표시줄 < 보기 >-< 조건 > 항목을클릭합니다. 3/20
조건입력란에 [ 기본급 ]>1500000 이라고입력합니다. 매크로함수를 MsgBox 로선택합니다. 매크로함수인수에서메시지를 기본급은 1,500,000 원을초과할수없습니다. 라고입력합니다. 창닫기아이콘을클릭한후저장여부를물으면 < 예 > 단추를클릭하고, 매크로이름은 기본급제한매크로 이라고입력한후 < 확인 > 단추를클릭합니다. 데이터베이스창의개체목록에서 폼 을선택한후사원폼을더블클릭합니다. 데이터베이스도구모음의보기형식아이콘을클릭하여 [ 디자인보기 ] 창으로이동합니다. 스크롤바를이용하여기본급컨트롤이보이도록합니다. 기본급컨트롤을마우스오른쪽단추로클릭하고바로가기메뉴가나타나면 < 속성 > 항목을선택합니다. 이벤트탭의 After Update 항목의목록단추를클릭하여 기본급제한매크로 를선택합니다. 닫기단추를클릭하여속성설정을마칩니다. 4/20
데이터베이스도구모음의보기형식아이콘을클릭하여 [ 폼보기 ] 창으로이동합니다. 입력되어있는기본급을지우고 1800000 을입력합니다. [Enter] 키를누르면오류메시지가나타나는것을확인할수있습니다. < 확인 > 단추를클릭하여메시지창을닫습니다. 폼의창닫기아이콘을클릭한후저장여부를물으면 < 예 > 단추를클릭합니다. 매크로그룹이란동일한매크로시트에여러개의매크로를입력, 정의하는것입니다. 다음은사원테이블을열고인쇄하는매크로그룹을작성해보겠습니다. 데이터베이스창의개체목록에서 매크로 를선택한후 [ 새로만들기 ] 단추를클릭합니다. 매크로창이나타나면메뉴표시줄 < 보기 >-< 매크로이름 > 항목을클릭합니다. 5/20
매크로이름입력란에 Start 라고입력합니다. 매크로함수를 MsgBox 로선택합니다. 매크로함수인수에서메시지를 사원테이블을엽니다. 라고입력합니다. 두번째매크로함수는 Open Table 로선택합니다. 매크로함수인수에서테이블이름을 사원 로선택합니다. 세번째매크로함수는 RunMacro 를선택합니다. 인수는잠시후에설정하도록하겠습니다. 다음은매크로이름입력란에 Print 라고입력합니다. 매크로함수를 MsgBox 로선택합니다. 매크로함수인수에서메시지를 인쇄를시작합니다. 라고입력합니다. 다음매크로함수는 PrintOut 으로선택합니다. 도구모음에서저장단추를클릭한후매크로이름을 사원테이블인쇄 라고입력한후 < 확인 > 단추를클릭합니다. 6/20
세번째매크로함수인 RunMacro 의인수에서매크로이름을 사원테이블인쇄.Print 로선택합니다. 창닫기아이콘을클릭한후저장여부를물으면 < 예 > 단추를클릭합니다. 사원테이블인쇄 매크로를더블클릭하여실행해봅니다. 사원테이블을열기전에확인메시지창이나타납니다. < 확인 > 단추를클릭합니다. 사원테이블을열고바로인쇄시작메시지창이나타납니다. < 확인 > 단추를클릭합니다. 인쇄가실행되는것을확인할수있습니다. 7/20
매크로는명령컨트롤단추를이용하여실행할수도있습니다. 폼에 사원현황 1 매크로를실행할수있는명령컨트롤단추를만들어보겠습니다. 데이터베이스창의개체목록에서 폼 을선택한후 [ 디자인보기에서새폼만들기 ] 항목을더블클릭합니다. 도구모음의컨트롤마법사를선택합니다. 명령단추를클릭한후폼에서적당한크기로드래그합니다. < 명령단추마법사 > 대화상자가나타나면단추의종류를 기타, 매크로함수는 매크로실행 으로선택한후 < 다음 > 단추를클릭합니다. 실행할매크로를 사원현황 1 로선택한후 < 다음 > 단추를클릭합니다. 단추에들어갈문자열을 사원현황 이라고입력한후 < 다음 > 단추를클릭합니다. 단추의이름은 사원테이블열기 라고입력한후 < 마침 > 단추를클릭합니다. 8/20
창닫기아이콘을클릭한후저장여부를물으면 < 예 > 단추를클릭하고, 폼이름은 매크로실행 이라고입력한후 < 확인 > 단추를클릭합니다. 매크로실행 폼이생성되었습니다. 매크로실행 폼을더블클릭한후 < 사원현황 > 단추를클릭합니다. 매크로가실행되어 사원 테이블과 사원 2 테이블이데이터시트보기형식으로열린것을확인할수있습니다. 사원 2 테이블과 사원 테이블을닫기단추를클릭하여닫습니다. 매크로실행 폼도닫기단추를클릭하여닫습니다. 2) 주요매크로의종류및기능 (1) 작업별매크로함수와기능작업별로매크로함수를분류해보고각각의기능들에대하여살펴보겠습니다. a. 폼과보고서의데이터작업 9/20
함수이름 기능 ApplyFilter 테이블의레코드와폼이나보고서의원본이되는테이블이나 쿼리의레코드를제한하거나정렬합니다. FindRecord 지정한조건에맞는첫레코드나다음레코드를찾습니다. FindNext 이전에실행한 FindRecord 매크로함수또는 < 편집 >-< 찾기 > 명령에서지정한조건에맞는레코드를검색합니다. GoToControl 포커스를현재데이터시트나폼에있는지정한필드나컨트롤로 이동합니다. GoToRecord 지정한레코드로이동합니다. GoToPage 현재폼에있는커서를지정한페이지의첫컨트롤로이동합니다. b. 실행작업 함수이름 기능 RunCommand 액세스의메뉴명령을실행합니다. Quit 액세스를종료합니다. OpenQuery 선택쿼리나크로스탭쿼리를여러보기로엽니다. RunCode 비주얼베이직의 Function 프로시저를호출합니다. RunMacro 매크로를실행하며, 매크로는매크로그룹에포함될수있습니다. RunSQL 실행쿼리, 데이터정의쿼리에지정한 SQL 문을실행합니다. RunApp Excel, Word 와같은응용프로그램을실행합니다. CancelEvent CancelEvent 함수가포함된매크로를실행하는이벤트를 취소합니다. StopAllMacros 현재실행중인모든매크로를중단합니다. StopMacro 현재실행중인매크로를중단합니다. c. 가져오기 / 내보내기작업 함수이름기능 OutputTo 지정한데이터베이스개체의데이터를다른형식으로내보냅니다. SendObject 데이터베이스개체를전자메일메시지에포함시킵니다. TransferDatabase 액세스 / 액세스프로젝트와다른데이터베이스간에데이터를가져오거나내보낼때사용합니다. TransferSpreadsheet 스프레드시트파일에서액세스로데이터를가져오거나연결하고, 액세스데이터베이스를스프레드시트로 10/20
내보냅니다. TransferText 텍스트파일의데이터를액세스로가져오거나 데이터베이스에서텍스트파일로데이터를내보냅니다. d. 개체조작 함수이름 기능 CopyObject 지정한개체를다른액세스데이터베이스나같은데이터베이스 또는액세스프로젝트에새이름으로복사합니다. Rename 지정한데이터베이스개체의이름을바꿉니다. Save 지정된테이블, 쿼리, 폼, 보고서, 매크로등의개체를 저장합니다. DeleteObject 지정한개체를삭제하며, 삭제메시지는표시하지않습니다. Maximize 현재작업중인창을최대화합니다. Minimize 현재작업중인창을최소화합니다. MoveSize 현재창을이동하거나크기를조정합니다. Restore 최소화또는최대화되었던창을원래의크기로복원합니다. Close 지정한창이나현재창을닫습니다. OpenForm 폼을여러보기형식으로엽니다. OpenReport 보고서를여러보기형식으로열거나인쇄합니다. OpenTable 테이블을여러보기형식으로엽니다. OpenQuery 선택쿼리나크로스탭쿼리를열거나실행쿼리를실행합니다. OpenView 보기를데이터시트보기나디자인보기, 인쇄미리보기등으로 엽니다. PrintOut 현재데이터베이스개체를인쇄합니다. SelectObject 지정한데이터베이스개체를선택합니다. RepaintObject 지정한데이터베이스개체의화면을업데이트합니다. Requery 쿼리와연결된컨트롤의데이터를업데이트합니다. ShowAllRecords 현재테이블, 쿼리결과집합, 폼등에적용된필터를삭제합니다. SetValue 폼, 폼데이터시트, 보고서등에서컨트롤, 필드, 속성에대한 값을설정합니다. e. 기타작업 함수이름 기능 MsgBox 경고나알림등메시지상자를표시합니다. 11/20
Beep 시스템에서경고음을발생시킵니다. AddMenu 폼이나보고서에서기본메뉴모음을사용자가정의한메뉴모음으로바꿉니다. SetManuItem 현재창에서사용자정의메뉴모음이나바로가기메뉴에있는메뉴항목상태를설정합니다. Echo 매크로의실행상황을화면에표시할것인지의여부를결정합니다. Hourglass 매크로가실행되는동안마우스포인터를모래시계나사용자가선택한다른아이콘으로변경합니다. SetWarnings 시스템메시지를설정하거나해제합니다. SendKeys 키입력을액세스나현재응용프로그램으로직접보냅니다. ShowToolbar 기본도구모음이나사용자정의도구모음을표시하거나숨깁니다. 액세스의모든창에기본도구모음을표시하거나도구모음이나타내는보기형식을표시할수있습니다. 다음은 VBA 를이용한모듈의작성방법에대하여학습하도록하겠습니다. 2. VBA 를이용한모듈의작성 1) 객체지향프로그래밍기초 객체지향프로그래밍이란프로그래밍에개체 (Object) 의개념을도입하여기존의절차적인프로그래밍방식에서탈피하고, 데이터를가장우선적인것으로고려한프로그래밍기법입니다. 객체는현실세계의어떠한구성단위를대표하는것으로, 객체지향형프로그래밍에서는모든것을객체로나타내고원하는일은객체에메시지를보내는것으로표현합니다. (1) 객체의구성 객체는속성, 메서드, 이벤트로구성됩니다. 속성 (Property) 는각각의객체가가지는고유의특성을의미하는것으로객체의특성은 객체명. 속성명 의형태로나타냅니다. 메서드 (Mehtod) 는각객체의기능이나동작을지시하는행동을의미하는것으로 객체명. 메서드 의형태로나타냅니다. 이벤트 (Event) 는마우스클릭이나키누름과같이객체에의해인식되는동작으로서이벤트에대한응답을 12/20
사용자가정의할수있습니다. 이벤트에연결된속성을사용하면매크로를실행하거나비주얼베이직함수를불러오거나이벤트에대한응답으로이벤트프로시저를실행할수있습니다. (2) 모듈의작성 모듈이란한단위로저장된프로시저, 구문, VBA 선언문의집합으로서액세스에는기본모듈과클래스모듈, 폼모듈, 보고서모듈이있습니다. 기본모듈 : 다른프로시저에서도사용할수있도록 Sub 프로시저와 Function 프로시저를작성합니다. 클래스모듈 : 새로운객체에대한정의를포함할수있는모듈로서클래스의인스턴스를새로만들때새객체가만들어지고있는모든프로시저는개체의속성과메서드가됩니다. 폼모듈 : 클래스모듈의하나로특정폼이나컨트롤에서발생하는이벤트에의해실행되는이벤트프로시저를포함하는모듈입니다. 보고서모듈 : 클래스모듈의하나로특정보고서나보고서의컨트롤에서발생하는이벤트에의해실행되는이벤트프로시저를포함하는모듈입니다. 모듈은비주얼베이직프로그래밍언어를사용하여작성합니다. 데이터베이스창의개체목록에서 모듈 을선택한후 [ 새로만들기 ] 단추를클릭합니다. 그럼모듈코드를입력할수있는비주얼베이직창이나타납니다. 2) 이벤트프로시저 프로시저 (Procedure) 란프로그램내의주요구성단위의하나로, 특정한문제해결의순서를기술한일련의문 (Statement) 을정의해두고, 절차호출 (Procedure Call) 의방법에따라실행시키는것을말합니다. 그리고이벤트프로시저란사용자나프로그램코드에의해초기화되거나시스템에의해발생되는이벤트에대응하여자동으로실행되는프로시저입니다. 그럼이벤트의종류를살펴보도록하겠습니다. (1) 데이터이벤트 폼이나컨트롤에서데이터를입력, 삭제, 변경하거나한레코드에서다른레코드로포커스가이동할때발생합니다. 이벤트 발생상황 AfterDelConfirm 레코드의삭제를확인해서실제로레코드가삭제되거나삭제를 취소할때발생합니다. AfterInsert 새레코드가추가될때발생합니다. AfterUpdate 컨트롤이나레코드가바뀐데이터로업데이트된후나 < 레코드 > 메뉴에서 < 레코드저장 > 을선택할때발생합니다. 13/20
BeforeDelConfirm 레코드를삭제한후 < 삭제확인 > 대화상자가나타나기전에발생합니다. BeforeInsert 데이터베이스에추가되지않은새레코드에첫문자를입력할때발생합니다. BeforeUpdate 컨트롤이나레코드가바뀐데이터로업데이트되기전이나 < 레코드 > 메뉴에서 < 레코드저장 > 을선택할때발생합니다. Change 입력란이나콤보상자의입력란에있는내용이바뀔때발생합니다. Current 폼의데이터원본에대해쿼리를다시실행할때발생합니다. Delete 레코드를삭제할때, 삭제를확인해서실제로삭제되기전에발생합니다. Dirty 폼의내용이나콤보상자의문자열부분이바뀔때, 탭컨트롤의한페이지에서다른페이지로이동할때발생합니다. NotInList 콤보상자목록에없는값을콤보상자에입력할때발생합니다. Updated OLE 개체의데이터가수정되었을때발생합니다. (2) 키보드이벤트 키보드로입력하거나 SendKeys 매크로함수나 SendKeys 문을사용해서키입력이전달될때발생합니다. 이벤트 KeyDown KeyPress KeyUp 발생상황컨트롤이나폼이포커스를가지고있는동안키보드의임의의키를누르면발생합니다. 컨트롤이나폼이포커슬가지고있을때표준 ANSI 문자에해당하는키나키조합을눌렀다가땔때발생합니다. 컨트롤이나폼이포커스를가지고있는동안누르고있던키를놓을때발생합니다. (3) 마우스이벤트 마우스를누르고있거나클릭하는등의마우스동작이일어날때발생합니다. 이벤트 Click 발생상황컨트롤의경우컨트롤을마우스왼쪽단추로클릭할때발생합니다. 폼의경우는레코드선택기나구역또는컨트롤의바깥쪽을클릭할때발생합니다. 14/20
DblClick MouseDown MouseMove MouseUp 컨트롤이나레이블을마우스왼쪽단추로두번클릭할때발생합니다. 폼의경우는폼의빈영역이나레코드선택기를두번클릭할때발생합니다. 포인터가폼이나컨트롤에있는동안마우스단추를누를때발생합니다. 마우스포인터를폼, 폼영역, 컨트롤등으로이동시킬때발생합니다. 포인터가폼이나컨트롤에있는동안누르고있던마우스단추를놓을때발생합니다. (4) 필터이벤트 폼에필터를적용하거나필터를만들때발생합니다. 이벤트 ApplyFilter Filter 발생상황레코드메뉴에서필터적용을클릭하거나명령표시줄에서필터적용또는서버필터적용단추를클릭할때발생합니다. 레코드메뉴에서필터를가리키고폼필터나폼으로서버필터를클릭할때나명령표시줄에서폼필터나폼으로서버필터단추를클릭할때발생합니다. (5) 창이벤트 창이나보고서를열거나닫을때도는크기를조정할때발생합니다. 이벤트 발생상황 Close 폼이나보고서를닫아화면에서사라질때발생합니다. Load 폼을열어그레코드들이표시될때발생합니다. Open 폼을열어그레코드를처음으로표시하기전에발생하거나보고서를 열어인쇄하기전에발생합니다. Resize 폼의크기가바뀔때와폼이처음으로표시될때발생합니다. Unload 폼이닫히고레코드가언로드될때, 이폼이화면에서사라지기전에 발생합니다. (6) 포커스이벤트 폼이나컨트롤이포커스를얻거나잃을때, 폼이나보고서가활성화되거나비활성화될때발생합니다. 15/20
이벤트 발생상황 Activate 폼이나보고서가현재창이될때발생합니다. Deactivate 액세스의현재창이다른창으로바뀔때, 이다른창이현재창이 되기전에발생합니다. Enter 폼의다른컨트롤에서특정컨트롤로포커스가실제로옮겨지기 전이나폼을열때발생합니다. Exit 같은폼에서한컨트롤이다른컨트롤로포커스를잃기전에 발생합니다. GotFocus 컨트롤이나사용가능한컨트롤이없는폼이포커스를받을때 발생합니다. LostFocus 폼이나컨트롤이포커스를잃을때발생합니다. (7) 인쇄이벤트 이벤트발생상황 Format 보고서의한구역에어떤데이터가들어갈것인지결정할때, 미리보기나인쇄서식을설정하기전에발생합니다. NoData 데이터가없는보고서를인쇄하기위해서식을설정한후보고서가실제로인쇄되기전에발생합니다. Page 인쇄를위해페이지의서식을설정한후페이지가인쇄되기전에발생합니다. Print 보고서구역의데이터를서식설정한후그구역이인쇄되기전에발생합니다. Retreat 서식설정과정을여러번수행하기위해페이지의보고서구역이백업될때발생합니다. 8) 오류와타이밍이벤트 창이나보고서를열거나닫을때도는크기를조정할때발생한다. 이벤트 발생상황 Error 폼이나보고서사용중에런타임오류가발생하면발생합니다. Timer 폼의 TimerInterval 속성에의해지정된시간간격이경과되면 발생합니다. 다음은 VBA 기본문법에대하여학습하도록하겠습니다. 16/20
3) VBA 기본문법 프로시저의구조는변수를선언하는변수선언부와 VBA 코드로프로그램을작성하는명령어구성부로구분할수있습니다. 두수를입력받아두수의합을구하는예를들어보겠습니다. ----------- Private Sub Test() Dim a as Integer Dim b as Integer a = InputBox( 숫자를입력하세요., 첫번째숫자 (a) ) b = InputBox( 숫자를입력하세요., 두번째숫자 (b) ) MsgBox a & + & b & = & a + b End Sub ----------- (1) 변수 변수란프로그램이실행되는동안변경될수있는데이터가들어있는저장할수있는공간을의미합니다. 각변수는해당범위수준내에서자신을고유하게식별하는이름을가지며, 데이터형식은지정되거나지정되지않을수있습니다. 변수의선언은 Dim 문을사용하여선언하며, 필요에따라 Private, Public, Static 문으로도선언할수있습니다. 또한변수의위치에따라프로시저변수와모듈변수로나누어집니다. 형식은다음과같습니다. --------------------- Dim 변수 As 데이터형식 --------------------- 구분 예약어 사용가능범위 모듈변수 Dim 해당모듈내에있는모든프로시저에서사용가능합니다. Private 해당모듈내에있는모든프로시저에서사용가능합니다. Public 모든모듈내에있는프로시저에서사용가능합니다. 프로시저 Dim 해당프로시저에서만사용가능합니다. 변수 Static 해당프로시저에서만사용가능합니다. 변수를작성할때에는다음규칙을따라야합니다. 17/20
최대 255 자까지지정 변수의첫글자는문자로시작 변수에문자, 숫자, 밑줄문자 (_) 를포함할수있지만문장부호나공백, 예약어는포함할수없음 비주얼베이직키워드를포함할수없음 문장앞에어퍼스트로피 (`) 나 REM 이이력된경우는설명문 ( 주석 ) 을의미 두개이상의문장을한줄로나타낼경우문장과문장사이에콜론 (:) 을사용함. 데이터형식은변수를선언할때지정하는것으로모듈의선언부에 Option Explicit 명령문을사용했을경우에는반드시변수를선언해야합니다. 변수를선언하지않고생략하는경우에는 Variant 형으로간주하게되며, 하나의문장에실수, 정수와같이여러개의형식을선언할때에는형식과형식사이를콤마 (,) 로구분합니다. 데이터형식 선언문자 크기 데이터형식 선언문자 크기 Integer( 정수 ) % 2byte Variant( 문자 ) 없음 22 byte + 문자열길이 Long( 정수 ) & 4 byte Variant( 숫자 ) 없음 16 byte Single( 실수 )! 4 byte Boolean( 논리 ) 없음 2 byte Double( 실수 ) # 8 byte Date( 날짜 ) 없음 8 byte Currency( 통화 ) @ 8 byte Byte 없음 1 byte String( 문자 ) $ 문자열길이 사용자정의 없음 정의된요소 (2) 제어문 제어문은조건에따라비주얼베이직명령어를사용하거나특정한명령어를반복적으로실행할때사용합니다. 1 If ~ Then ~ Else 문 : 조건을만족하면 A 를수행하고그렇지않으면 B 를수행합니다. Else 는경우에따라생략할수도있습니다. If 조건 Then A Else B End If 2 If ~ Then ~ ElseIf ~ Else 문 : 조건 1 을만족하면 A 를수행하고조건 2 를만족하면 B 를수행, 둘다만족하지않으면 C 를수행합니다. 18/20
If 조건 1 Then A ElseIf 조건2 Then B Else C End If 3 Select Case 문 : 비교값이조건 1 에해당하면 A 를수행, 조건 2 에해당하며 B 를수행, 조건 3 에해당하면 C 를수행합니다. Select Case 비교값 Case Is 조건 1 A Case Is 조건 2 B Case Is 조건 3 C End Select 4 For ~ Next 문 : 시작값부터끝값까지증감값만큼계속 A 를반복수행합니다. For 변수 = 시작값 To 끝값 Step 증감값 A Next 변수 5 Do While ~ Loop 문 : 조건을만족할때까지만 A 를반복적으로수행합니다. Do While 조건 A Loop 6 Do ~ Loop While 문 : 먼저 A 를실행한후에조건을만족할때까지만계속적으로 A 를반복수행합니다. Do A 19/20
Loop While 조건 7 Do Until ~ Loop 문 : 조건을비교한후조건이만족하지않을경우에만반복적으로 A 를수행하고만족하면반복을중지합니다. Do Until 조건 A Loop 8 Exit 문 : For ~ Next 문, Do ~ Loop 문, Sub 프로시저, Function 프로시저등의작업을중지할때사용됩니다. Exit For : For 문의반복을중지하고빠져나옵니다. Exit Do : Do 문의반복을중지하고빠져나옵니다. Exit Sub : Sub 프로시저를중지하고종료한다. Exit Function : Function 프로시저를중지하고종료한다. 9 On Error 문 : Error 문이입력된프로시저에서만실행됩니다. On Error GoTo : 에러가발생하면메시지를출력한후실행을중단합니다. On Error GoTo 이동할루틴 : 에러가발생하면이동할루틴으로분기하여작업을처리하고 Resume Next 문을만나면에러가발생한다음문장으로돌아와작업을수행합니다. On Error GoTo Resume Next : 실행후에러가발생한문장의수행을중지하고곧바로다음문장을실행합니다. 지금까지매크로생성, 실행, 수정등의사용법을알아보고, 주요매크로함수들을개념들과객체지향프로그램의정의및구성요소, 모듈의사용법및이벤트, VBA 제어문등에대하여알아보았습니다. 다음시간에는액세스의주요개체들과 ADO 개체에대하여학습하도록하겠습니다. 20/20