[액세스]
아웃룩 일정 정보를 휴대폰에서 재활용하기 (2)
오늘은 오피스튜터 MVP이신 정상석님께서
보내주신 아웃룩 일정 정보를 휴대폰에서 재활용하는 방법에 대한 소스에 대해서 알아보도록 하겠습니다. (사용버전:
액세스 2003)
[변환 프로그램 다운로드]
|
☞ 다운로드 한 프로그램의 테스트 방법
다운로드한 파일의
압축을 풀면 3개의 파일(아웃룩일정.mdb, Pclnk.mdb, 변환.mdb)이 있습니다.
C:\Anycall\PCLink2000 폴더를 만드시고 그 폴더에 3개의 파일을 복사하신 후
변환.mdb 파일을 실행하여 테스트 해보시면 됩니다. ‘애니콜PC링크2000’ 프로그램을 사용하시는 사용자라면 아웃룩에서 ‘가져오기/내보내기’로
아웃룩일정.mdb 파일을 만드시고 변환.mdb 파일과 함께 C:\Anycall\PCLink2000
폴더에 복사하신 후 변환.mdb 파일을 실행하여 변환하시면 됩니다. |
지난 오튜레터에서 아웃룩 일정을 휴대폰에서 재활용하기 위해 간단한 변환
프로그램을 만들게 된 배경을 말씀 드렸습니다. 변환 프로그램의 소스는 제가 몇 달 전에 만들어서 현재 회사에서 사용하고 있는
간단한(?) ‘자재 절단 소요량 산정 프로그램’의 소스 일부를 가져와서 사용하였습니다. 소스는 간단하지만 업무나 일상에서 활용 용도를 찾아보시면 어딘가에 재활용할 곳이 꼭
나타나실 겁니다. 소스의 재활용에 대한 부분은 요즘 제가 개발할 때 마다 느끼는 화두입니다. 최근에 시작한 일이지만 소스를 생성할 때마다 '원노트' 프로그램에
‘오피스개발’ 탭을 만들어 놓고 그곳에 쌓아 둡니다.

<그림 1. 원노트 프로그램에 모아두는 소스>
그럼 본격적으로 아웃룩 일정 테이블의 정보를 휴대폰 일정 테이블에 맞게 변화해 주는
프로그램을 살펴 보도록 하겠습니다.

<그림 2. 변환 프로그램 실행 화면>
변환 프로그램의 소스는 변환시작 버튼의 이벤트 중 On Click
이벤트에 존재합니다.

<그림 3. 변환 프로그램을 디자인모드로 보기>
|
Private Sub Command0_Click()
'메시지 확인 안 함
DoCmd.SetWarnings False
'핸드폰 일정 테이블 삭제
DoCmd.RunSQL "delete from t_schedule" |
기존에 있던 일정 내역을 모두 삭제하고 아웃룩에서 가져온 일정을 추가할 준비를 합니다.
‘DoCmd.SetWarnings False' 부분은 추가나 삭제시 건별 작업에 대한 확인 메시지를
보지 않기 위한 명령입니다. 이 명령을 생략하면 매번 확인 창이 떠서 작업이 번거로워집니다.
|
Dim intNo As Integer
Dim rs As ADODB.Recordset '선언
Set rs = New ADODB.Recordset '지정
intNo = 1 '일정번호 초기화 |
ADODB의 레코드셋과 사용할 변수를 선언한
부분입니다.
|
With rs
.ActiveConnection = CurrentProject.Connection
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open "select [제목],[시작날짜],[끝날짜] from [일정]" |
커서타입이나 락타입은 레코드셋의 특성을 지정하는 것입니다.
일반적으로 커서타입은 adOpenDynamic(동적커서)를 많이 사용하고,
락타입은 adLockOptimistic(공유잠금)을 사용합니다. 레코드셋의 특성을 지정했다면 Open 명령으로
아웃룩 일정 테이블의 내용을 레코드셋으로 가져옵니다.
|
Do Until .EOF
DoCmd.RunSQL "insert into t_schedule values (" &
intNo & "," & intNo & _
", '" & ![제목] & "', #" & ![시작날짜] & "#, #" & ![끝날짜] &
_
"#, 0, 0, ' ', '011-111-1111', Now(), False, -1,
'S')"
intNo = intNo + 1 '일정번호 증가
.MoveNext '다음 레코드로 이동
Loop |
레코드셋에 저장된 ‘아웃록 일정 테이블’의
내용을 ‘휴대폰 일정 테이블’에 건건이 추가 시킵니다.
|
.Close
End With
Set rs = Nothing
MsgBox ("변환작업이 끝났습니다.")
End Sub |
모든 작업이 끝났습니다. 레코드셋을 닫고 작업종료 메시지를 보여줍니다. 2회에 걸쳐 저의 부족한 설명을 읽어주신 오피스튜터 회원분들께 감사를 드립니다.