ACCESS Login
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
----------------------------------