배움터  
  HOME > 배움터 > Daily Tip
Daily Tip

제품:   Access 버전:   2003
검색어:   아웃룩, 휴대폰
제목:   아웃룩 일정 정보를 휴대폰에서 재활용하기 (2)
     
 


 

 [액세스] 아웃룩 일정 정보를 휴대폰에서 재활용하기 (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회에 걸쳐 저의 부족한 설명을 읽어주신 오피스튜터 회원분들께 감사를 드립니다.