메뉴 건너뛰기

app

[evb] CD 관리기 using ADOCE 3.0

박영식2006.08.30 18:14조회 수 1714댓글 0

  • 2
    • 글자 크기
이 프로그램의 소스는 순전히 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함수가 서술된 부분이다.

박영식 (비회원)
  • 2
    • 글자 크기
[evb] ADOCE, 유용한 제어1 (by 박영식) [evb] 로또번호생성기 using Function Rnd (by 박영식)

댓글 달기

이전 1 ... 5 6 7 8 9 10 11 12 13 14다음
첨부 (2)
frmain.JPG
19.2KB / Download 19
frinput.JPG
19.3KB / Download 24
위로