ArtisAsset 2009. 8. 12. 00:06










1- Module1 코드
----------------------------------
Option Compare Database

Public 아이디 As String
Public 로그인시간 As String
Public 권한 As String
Public 일련번호 As Long
----------------------------------



2- Form_등록
-----------------------------

Option Compare Database
Dim IDcheck As Boolean
Dim boolNew As Boolean

Private Sub 직원명_BeforeUpdate(Cancel As Integer)

End Sub

Private Sub Command14_Click()

    If Nz(ID, "") = "" Then
        MsgBox "ID를 입력해 주세요"
        Exit Sub
    End If
   
    If DCount("일련번호", "직원정보", "로그인용ID = '" & ID & "'") > 0 Then
        MsgBox "ID가 이미 사용 중입니다. 사용할 수 없는 ID입니다.", vbInformation
        IDcheck = False
    Else
        MsgBox "사용할수 있는 ID입니다."
        IDcheck = True
    End If

End Sub

Private Sub Command15_Click()
Dim ctrl As Control

    For Each ctrl In Controls
        If TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox" Then
            If Nz(ctrl, "") = "" Then
                MsgBox ctrl.Name & "을 입력해주세요."
                ctrl.SetFocus
                Exit Sub
            End If
        End If
    Next

    If IDcheck = False Then
        MsgBox "ID를 체크해 주세요."
        Exit Sub
    End If

    If MsgBox(직원명 & " 을 추가하시겠습니까?", vbYesNo) = vbYes Then
        Dim rs As DAO.Recordset
       
        Set rs = CurrentDb.OpenRecordset("SELECT * FROM 직원정보 WHERE 로그인용ID = '" & ID & "'", dbOpenDynaset)
       
        If boolNew = True Then
            rs.AddNew
        Else
            rs.Edit
        End If
       
        rs!권한 = 권한
        rs!직원명 = 직원명
        rs!주소 = 주소
        rs!전화번호 = rs!전화번호
        rs!로그인용ID = ID
        rs!로그인용암호 = 비밀번호
       
        rs.Update
       
        Set rs = Nothing
       
        List17.Requery
       
    End If

   
End Sub

Private Sub Command16_Click()
   
    DoCmd.Close

End Sub

Private Sub Command19_Click()

    직원명 = Null
    권한 = Null
    주소 = Null
    전화번호 = Null
    ID = Null
    ID.Locked = False
    IDcheck = False
    boolNew = True
    List17 = Null
   
    직원명.SetFocus
   
End Sub

Private Sub Command20_Click()
   
    If List17.ListIndex = -1 Then
        MsgBox "삭제할 직원을 선택하세요 .", vbInformation
        Exit Sub
    End If
   
    If MsgBox(직원명 & "을 삭제하시겠습니까 ?", vbYesNo + vbQuestion) = vbYes Then
        CurrentDb.Execute "DELETE * FROM 직원정보 WHERE 로그인용ID = '" & List17 & "'"
        List17.Requery
    End If
   
End Sub

Private Sub Form_Load()
   
    boolNew = True
    IDcheck = False
   
End Sub

Private Sub List17_AfterUpdate()
Dim rs As DAO.Recordset

    Set rs = CurrentDb.OpenRecordset("SELECT * FROM 직원정보 WHERE 로그인용ID = '" & List17 & "'")

    직원명 = rs!직원명
    권한 = rs!권한
    주소 = rs!주소
    전화번호 = rs!전화번호
    ID = rs!로그인용ID
    비밀번호 = rs!로그인용암호
    ID.Locked = True
   
    Set rs = Nothing
   
   
End Sub

----------------------------------




3- Form_메인
----------------------------------

Private Sub Command1_Click()
   
    DoCmd.OpenForm "수정"

End Sub

Private Sub Command2_Click()
   
    If 권한 = "관리자" Then
        DoCmd.OpenForm "등록"
    Else
        MsgBox "직원등록 권한이 없습니다.", vbInformation
    End If

End Sub

Private Sub Command21_Click()
    a = Now()
    m = Format(a, "현재 yyyy年 mm月 dd日 h시 mm분")
    c = MsgBox(m & "입니다. 종료 하시겠습니까?", vbYesNo + vbQuestion, "확인")

    If c = vbYes Then
       
        CurrentDb.Execute "UPDATE 직원업무시간 SET 퇴근시간 = '" & a & "' WHERE 업무일련번호 = " & 일련번호
      
        DoCmd.Close
        DoCmd.Quit
       
    End If
   
End Sub


----------------------------------



4- From_수정
----------------------------------

Option Compare Database

Private Sub Command15_Click()
Dim ctrl As Control

For Each ctrl In Controls
    If TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox" Then
        If Nz(ctrl, "") = "" Then
            MsgBox ctrl.Name & "을 입력해주세요."
            ctrl.SetFocus
            Exit Sub
        End If
    End If
Next

If MsgBox(직원명 & " 을 수정하시겠습니까?", vbYesNo) = vbYes Then
    Dim rs As DAO.Recordset
   
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM 직원정보 WHERE 로그인용ID='" & 아이디 & "'")
   
    rs.Edit
   
    rs!권한 = 등급
    rs!직원명 = 직원명
    rs!주소 = 주소
    rs!전화번호 = rs!전화번호
    rs!로그인용ID = ID
    rs!로그인용암호 = 비밀번호
   
    rs.Update
   
    Set rs = Nothing
   
End If

   
End Sub

Private Sub Command16_Click()

DoCmd.Close

End Sub

Private Sub Form_Activate()
Dim rs As DAO.Recordset

Set rs = CurrentDb.OpenRecordset("SELECT * FROM 직원정보 WHERE 로그인용ID='" & 아이디 & "'")

    직원명 = rs!직원명
    등급 = rs!권한
    주소 = rs!주소
    전화번호 = rs!전화번호
    ID = rs!로그인용ID
    비밀번호 = rs!로그인용암호

End Sub



----------------------------------




5-Form_직원로그인

----------------------------------


Private Sub Command5_Click()
Dim rst As DAO.Recordset
Dim c As Integer
Dim a As String

    If Nz(Text1, "") = "" Then
        MsgBox "ID를 입력하세요 !", vbInformation
        Text1.SetFocus
        Exit Sub
    End If
   
    If Nz(Text3, "") = "" Then
        MsgBox "암호를 입력하세요 !", vbInformation
        Text3.SetFocus
        Exit Sub
    End If
   
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM 직원정보 WHERE 로그인용ID = '" & Text1 & "' AND 로그인용암호 = '" & Text3 & "'")
   
    If rst.EOF Then
        MsgBox "등록된 ID와 암호가 아닙니다.", vbInformation
        Exit Sub
    End If
   
    c = MsgBox(Text1 & "로 접속하시겠습니까?", vbYesNo + vbQuestion, "로그인확인")
   
    If c = vbYes Then
       
        a = Format(Now(), "yyyy-mm-dd hh:mm") '이것은 직원업무시간의 시작시간을 의미합니다.
       
        CurrentDb.Execute "INSERT INTO 직원업무시간(직원ID, 출근시간) VALUES('" & Text1 & "', '" & a & "')"
       
        아이디 = Text1
        로그인시간 = a
        권한 = rst!권한
        일련번호 = DMax("업무일련번호", "직원업무시간", "직원ID = '" & Text1 & "'")
       
        DoCmd.Close acForm, Me.Name
        DoCmd.OpenForm "메인"
       
    End If
   
End Sub

Private Sub Command6_Click()
   
    c = MsgBox("취소 하시면 모든 프로그램이 닫힙니다 취소하시겠습니까?", vbYesNo + vbCritical, "경고")
   
    If c = vbYes Then
        Quit
    Else
        Exit Sub
    End If

End Sub



----------------------------------