이 프로그램의 소스는 순전히 about Pocket PC 2002에 있는 것을 썼다.
물론 버그와 추가 코드가 있긴 하지만, 핵심 기술을 남기범씨가 쓴 이책의
소스를 썼다.
추가 코드만 적어 놓겠다.
1. 종료시 확인 기능
Private Sub Form_OKClick()
If MsgBox("종료하시겠습니까?", vbYesNo) = vbYes Then
App.End
Else
' 취소하면, frmMain으로 이동
frmMain.Show
End If
End Sub
-> 이 프로그램은 종료가 되지 않는 버그가 있어서 OK버튼으로 설정했다.
2. 저장하기 버튼
Private Sub save_b_Click() '저장하기 버튼을 만들었다.
If SaveCD() Then
' 성공 메시지
MsgBox "저장되었습니다."
' 저장되면, frmMain으로 이동
frmMain.Show
Else
' 에러 메시지
MsgBox "프로그램에 버그가 있습니다."
End If
End Sub
-> 저장하기 버튼이 없고, OK버튼으로 걸려 있도록 만든 것 같은데, 실행되지 않아서 별도로 만들었다.
3. 삭제함수
Private Function DeleteCD() As Boolean '삭제 함수
Dim lngArtistId As Long
Dim lngGenreId As Long
On Error Resume Next
DeleteCD = False
' CD 레코드셋 닫음
If gobjCD.State = adStateOpen Then
gobjCD.Close
End If
' 체크 모드
If Not IsNull(mlngCDId) Then
' 에디드 모드
gobjCD.Open "SELECT * FROM cd WHERE CDId = " _
& mlngCDId, gobjConnection, _
adOpenForwardOnly, adLockOptimistic
Else
' 새로운 모드new mode
gobjCD.Open "cd", gobjConnection, adOpenForwardOnly, _
adLockOptimistic, adCmdTableDirect
' 새로운 pk 값을 받음
mlngCDId = GetNewPK("CD")
' 레코드 추가
gobjCD.AddNew
' pk 값 설정
gobjCD.Fields("CDId").Value = mlngCDId
End If
If gobjCD.EOF Then
Exit Function
End If
gobjCD.Delete
' 레코드셋 update
gobjCD.Update
' 에러 체크
If Err.Number <> 0 Then
Exit Function
End If
DeleteCD = True
End Function
-> 해당 recode를 삭제한다. save함수를 응용했다.(배낀거지...)
핵심 코드
Const ADOCE_CLASS_RECORDSET = "ADOCE.Recordset.3.0"
Public gobjCD As ADOCE.Recordset
위의 두 줄은 최상위에서 전역전 선언이 되어야 한다.
Set gobjCD = CreateObject(ADOCE_CLASS_RECORDSET)
위의 줄은 global 변수를 초기화 하는 것인데, 최초 프로그램이 실행될 때,
실행되어야 되므로, Form_Load() 에 들어간다.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adoce31/html/ado30ref.asp
참고사이트로 adoce관련 명령어 index이다.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adoce31/html/ado30ref_17.asp
위의 것은 delete함수가 서술된 부분이다.
물론 버그와 추가 코드가 있긴 하지만, 핵심 기술을 남기범씨가 쓴 이책의
소스를 썼다.
추가 코드만 적어 놓겠다.
1. 종료시 확인 기능
Private Sub Form_OKClick()
If MsgBox("종료하시겠습니까?", vbYesNo) = vbYes Then
App.End
Else
' 취소하면, frmMain으로 이동
frmMain.Show
End If
End Sub
-> 이 프로그램은 종료가 되지 않는 버그가 있어서 OK버튼으로 설정했다.
2. 저장하기 버튼
Private Sub save_b_Click() '저장하기 버튼을 만들었다.
If SaveCD() Then
' 성공 메시지
MsgBox "저장되었습니다."
' 저장되면, frmMain으로 이동
frmMain.Show
Else
' 에러 메시지
MsgBox "프로그램에 버그가 있습니다."
End If
End Sub
-> 저장하기 버튼이 없고, OK버튼으로 걸려 있도록 만든 것 같은데, 실행되지 않아서 별도로 만들었다.
3. 삭제함수
Private Function DeleteCD() As Boolean '삭제 함수
Dim lngArtistId As Long
Dim lngGenreId As Long
On Error Resume Next
DeleteCD = False
' CD 레코드셋 닫음
If gobjCD.State = adStateOpen Then
gobjCD.Close
End If
' 체크 모드
If Not IsNull(mlngCDId) Then
' 에디드 모드
gobjCD.Open "SELECT * FROM cd WHERE CDId = " _
& mlngCDId, gobjConnection, _
adOpenForwardOnly, adLockOptimistic
Else
' 새로운 모드new mode
gobjCD.Open "cd", gobjConnection, adOpenForwardOnly, _
adLockOptimistic, adCmdTableDirect
' 새로운 pk 값을 받음
mlngCDId = GetNewPK("CD")
' 레코드 추가
gobjCD.AddNew
' pk 값 설정
gobjCD.Fields("CDId").Value = mlngCDId
End If
If gobjCD.EOF Then
Exit Function
End If
gobjCD.Delete
' 레코드셋 update
gobjCD.Update
' 에러 체크
If Err.Number <> 0 Then
Exit Function
End If
DeleteCD = True
End Function
-> 해당 recode를 삭제한다. save함수를 응용했다.(배낀거지...)
핵심 코드
Const ADOCE_CLASS_RECORDSET = "ADOCE.Recordset.3.0"
Public gobjCD As ADOCE.Recordset
위의 두 줄은 최상위에서 전역전 선언이 되어야 한다.
Set gobjCD = CreateObject(ADOCE_CLASS_RECORDSET)
위의 줄은 global 변수를 초기화 하는 것인데, 최초 프로그램이 실행될 때,
실행되어야 되므로, Form_Load() 에 들어간다.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adoce31/html/ado30ref.asp
참고사이트로 adoce관련 명령어 index이다.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adoce31/html/ado30ref_17.asp
위의 것은 delete함수가 서술된 부분이다.
댓글 달기