frm Main Private Sub mnucode 02click frm Main
분야정보 폼을 불러오기 위해 메인 폼 (frm. Main)에 다음 코드를 작성한다. Private Sub mnucode 02_click() frm. Main. Enabled = False frm. Category. Show frm. Category. Set. Focus End Sub
분야정보 폼(frm. Category)에 꼭 필요 한 변수들을 먼저 선언 한다 Option Explicit Dim strsql As String Dim cmdtype As String Dim firstkey, lastkey As Boolean Dim response As Variant
처음으로 ( << ) 버튼은 레코드의 제일 처 음으로 이동하기 위한 역할을 한다 Private Sub cmdfirst_click() If RS. State = ad. State. Open Then RS. Move. First Call category. Data If firstkey = True Then Msg. Box "제일 처음 레코드입니다. ", vb. Exclamation + vb. OKOnly, "메시지" End If firstkey = True lastkey = False Else Msg. Box "레코드셋이 열려있지 않습니다. ", vb. Exclamation + vb. OKOnly, "검색정보" End If
앞으로 ( < ) 버튼은 레코드의 이전 레코드 로 이동하기 위한 역할을 한다 Private Sub cmdprevious_Click() If RS. State = ad. State. Open Then RS. Move. Previous lastkey = False If RS. BOF Then RS. Move. First firstkey = True Msg. Box "제일 처음 레코드입니다. ", vb. Exclamation + vb. OKOnly, "메시 지" End If Call category. Data Else Msg. Box "레코드셋이 열려있지 않습니다. ", vb. Exclamation + vb. OKOnly, "검색정보" End If End Sub
뒤로 ( > ) 버튼은 레코드의 다음 레코드로 이동하기 위한 역할을 한다 Private Sub cmdnext_Click() If RS. State = ad. State. Open Then RS. Move. Next firstkey = False If RS. EOF Then RS. Move. Last lastkey = True Msg. Box "제일 마지막 레코드입니다. ", vb. Exclamation + vb. OKOnly, "메시지" End If Call category. Data Else Msg. Box "레코드셋이 열려있지 않습니다. ", vb. Exclamation + vb. OKOnly, "검색정보" End If End Sub
마지막으로 ( >> ) 버튼은 레코드의 제일 마지막으로 이동하기 위한 역할을 한다 Private Sub cmdlast_Click() If RS. State = ad. State. Open Then RS. Move. Last Call category. Data If lastkey = True Then Msg. Box "제일 마지막 레코드입니다. ", vb. Exclamation + vb. OKOnly, "메시지" End If lastkey = True firstkey = False Else Msg. Box "레코드셋이 열려있지 않습니다. ", vb. Exclamation + vb. OKOnly, "검색정보" End If End Sub
Cmd. Lock() 프로시저를 먼저 작성한 후 Private Sub cmdlock(locktype As Boolean) If locktype = True Then cmdfirst. Enabled = False cmdprevious. Enabled = False cmdnext. Enabled = False cmdlast. Enabled = False cmdadd. Enabled = False cmdmodify. Enabled = False cmddelete. Enabled = False cmdclose. Enabled = False cmdfind. Enabled = False cmdsubmit. Enabled = True cmdcancel. Enabled = True Else
cmdfirst. Enabled = True cmdprevious. Enabled = True cmdnext. Enabled = True cmdlast. Enabled = True cmdadd. Enabled = True cmdmodify. Enabled = True cmddelete. Enabled = True cmdclose. Enabled = True cmdfind. Enabled = True cmdsubmit. Enabled = False cmdcancel. Enabled = False End If End Sub
분야정보 폼에서 [추가] 버튼을 클릭하면 이 기능을 사용할 수 있도록 코드를 생성한다 Private Sub cmdadd_Click() cmdtype = "add" Call cleartext Call txtlock(False) Call cmdlock(True) Call category. Code txt. CID. Locked = True txt. Name. Set. Focus End Sub
Click !!
분야정보를 추가하지 않고 [취소] 버튼을 클릭하면 작업이 취소되도록 코드를 작성한다 Private Sub cmd. Cancel_click() Call category. Data Call cmdlock(False) Call txtlock(True) End Sub
기존의 분야정보를 수정하기 위해 사용하 는 기능으로 [수정] 버튼을 클릭하면 분야 정보를 수정할 수 있도록 하는 코드를 작 성한다. Private Sub cmdmodify_click() cmdtype = "modify" Call cmdlock(True) Call txtlock(False) txt. CID. Locked = True txt. CID. Set. Focus End Sub
분야명 혹은 비고의 내용을 수정하고 이 를 T_분야 테이블에 적용시키기 위해서는 [확인] 버튼에 대한 코드를 작성해야 한다. Case "modify" strsql = "UPDATE T_분야 SET 분야명='" & txt. Name. Text & "', 비고='" & _ txt. Comment. Text & "' Where 분야ID=" & txt. CID. Text Call hdldb(strsql) Msg. Box "분야정보가 정상적으로 수정 되었습니다. ", _ vb. Information + vb. OKOnly, "수정정보" RS. Requery RS. Find "분야ID=" & txt. CID. Text Call category. Data Call cmdlock(False) Call txtlock(True)
입력한 분야명을 통해 분야정보를 찾 기 위해 [확인] 버튼에 대한 코드를 작성한다. Case "find" RS. Find "분야명LIKE '%" & txt. Name. Text & "%'"If RS. BOF Or RS. EOF Then Msg. Box "분야" & txt. Name. Text & "은 존재하지 않습니다. ", _ vb. Information + vb. OKOnly, "검색정보" RS. Requery txt. Name. Set. Focus Else Call category. Data Call txtlock(True) Call cmdlock(False) End If
더 이상 필요가 없는 테이블에서 삭제하기 위 해 사용하는 기능으로 [삭제] 버튼을 클릭하면 데이터가 제거되는 코드를 작성한다. Private Sub cmd. Delete_Click() response = Msg. Box("정말 삭제하시겠습니까? ", vb. Question + vb. Yes. No, "사용자 삭제") If response = vb. Yes Then strsql = "DELETE FROM T_분야 WHERE 분야ID =" & txt. CID. Text Call hdldb(strsql) Call cleartext Msg. Box "정상적으로 삭제되었습니다. ", vb. Information + vb. OKOnly, "분 야 삭제" RS. Requery Call category. Data End If End Sub
분야정보 폼을 닫기 위해서는 [닫기] 버튼을 클릭하면 폼이 닫히도록 코드 를 작성한다. Private Sub cmdclose_Click() Unload Me End Sub Private Sub form_unload(Cancel As Integer) If RS. State = ad. State. Open Then RS. Close End If frm. Main. Enabled = True End Sub
- Slides: 32