드로우홀릭 더베이직

안녕하세요 
이것 저것 따라하면서 로그인까지는 잘 실행이 됩니다
로그인 후 어드민권한이 로그인 할때와 유저권한 사용자가 로그인할때 다르게하고 싶어요.
우선 pjtdetailDB라는 이름의 데이터시트가 있습니다
해당 pjtdetailDB 데이터시트 중에는 user 라는 항목이 있습니다.
또한 Pjtlist라는 이름의 폼이 있는데 이 폼은 prjdetailDB를 가지고 만들었습니다
ㅡ어드민 권한을 가진 사용자가 로그인시 pjtlist폼 실행
ㅡ유저 권한을 가진 사용자가 로그인시 pjtlist폼 실행 후 사용자 이름과 User 가 같은 항목만 보여주기.
 If UserLevel = 1 Then ' for admin
 DoCmd.OpenForm "pjtlist"
 Else
 DoCmd.OpenForm "Pjtlist"
 End If 그리고 어떻게 써야 하나요?
Option Compare Database

Private Sub Command1_Click()
Dim User As String
Dim UserLevel As Integer
Dim TempPass As String
Dim ID As Integer
Dim UserName As String
Dim TempID As String


If IsNull(Me.txtUserName) Then
 MsgBox "Please enter UserName", vbInformation, "Username required"
 Me.txtUserName.SetFocus
ElseIf IsNull(Me.txtPassword) Then
 MsgBox "Please enter Password", vbInformation, "Password required"
 Me.txtPassword.SetFocus
Else
 If (IsNull(DLookup("UserLogin", "tblUser", "UserLogin = '" & Me.txtUserName.Value & "' And UserPassword = '" & Me.txtPassword.Value & "'"))) Then
 MsgBox "Invalid Username or Password!"
 Else
 TempID = Me.txtUserName.Value
 UserName = DLookup("[UserName]", "tblUser", "[UserLogin] = '" & Me.txtUserName.Value & "'")
 UserLevel = DLookup("[UserType]", "tblUser", "[UserLogin] = '" & Me.txtUserName.Value & "'")
 TempPass = DLookup("[UserPassword]", "tblUser", "[UserLogin] = '" & Me.txtUserName.Value & "'")
 UserLogin = DLookup("[UserLogin]", "tblUser", "[UserLogin] = '" & Me.txtUserName.Value & "'")
 DoCmd.Close
 If (TempPass = "password") Then
 MsgBox "Please change Password", vbInformation, "New password required"
 DoCmd.OpenForm "frmUserinfo", , , "[UserLogin] = " & UserLogin
 Else
 'open different form according to user level
 If UserLevel = 1 Then ' for admin
 DoCmd.OpenForm "pjtlist"
 Else
 DoCmd.OpenForm "pjtlist"
 End If

 End If
 End If
End If
End Sub

Private Sub Form_Load()
Me.txtUserName.SetFocus
End Sub

profile

돌직구

2017.03.02 16:18:39
*.149.161.117

용어가 조금 헷갈립니다만..

'pjtdetailDB' <-- 이것이 '데이터시트'라고 하셨는데요.. 이것이 테이블입니까? 폼 입니까?

테이블로 이해하고 답변 달겠습니다.


Pjtlist Form의 Open 이벤트에, 다음과 같은 코드를 달면 됩니다.


If UserLevel = 1 Then ' for admin
	Me.RecordSource = "pjtdetailDB"
Else
 	Me.RecordSource = "SELECT * FROM pjtdetailDB WHERE user = '" & UserName & "'"
End If

즉, Pjtlist 라는 이름의 폼이 열릴 때, 관리자가 아니라면 폼에 표시되는 데이터 원본이 자기 자신의 레코드만 표시되도록 제어하는 것 입니다.


항상 드리는 말씀입니다만, 파일을 첨부하시면 보다 나을 것 같습니다. ^^

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31773
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 27930
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23091
359 튜터링 서비스를 신청하였습니다. file 1 라키7 2019-12-16 1048
358 직장인을 위한 실무엑세스_엑셀업로드 질문2 file 2 아자아자화이팅1 2019-11-25 533
357 직장인을 위한 실무엑세스_엑셀업로드 질문 file 5 아자아자화이팅1 2019-11-21 8659
356 엑셀 업로드 폼 만들기 오류발생 문제해결 조언 부탁드립니다 file 1 엑세스00 2019-11-20 644
355 액세스 무따 2016에서 링크된 페이지가 없어졌나봐요 ㅜ 대하 2019-11-13 843
354 엑세스2013 무조건따라하기 내용중 질문이 있습니다. file 1 매일야근 2019-10-05 20776
353 액세스 DB 파일 용량 문제 문의 드립니다. 4 바남풍 2019-08-26 24782
352 TFaccess 설치중 마지막 단계에서 진행을 못하고 있습니다. file 1 대하 2019-08-09 2065
351 무따2010 p.229 비고 필드 file 3 클로이 2019-07-11 2676
350 액세스 동강 재수강 혜택(?) 1 클로이 2019-07-09 3065
349 동일한 테이블로 만든 두 개의 폼 file 2 클로이 2019-07-09 2658
348 각각의 앱에 리본 메뉴를 만들어 배포하는 경우 1 클로이 2019-07-09 2572
347 통화 필드에 단위($ 또는 \)표시가 저장 안 되게 할 수 있을까요? 3 클로이 2019-07-04 25844
346 크로스탭 쿼리를 이용한 조회폼 만들기 file Michael 2019-06-27 5433
345 튜터링 무료이용권 2 클로이 2019-06-25 3110
344 쿼리문 : select절의 일부가 working안됩니다. 2 prince12 2019-06-24 3213
343 시간 입력 및 계산에 대한 질문입니다. 6 클로이 2019-06-20 3685
342 크로스탭에서 변수 불러오기 file 10 Michael 2019-06-19 3973
341 웹앱을 조회용으로만 활용하고 싶은 경우에... 1 클로이 2019-06-09 2861
340 ADP 지원이 2013부터 안된다고 하셨는데요.. 1 클로이 2019-06-09 2880


  주소  12925 경기도 하남시 미사대로 540, B동 917호 (현대지식산업센터 한강미사2차) ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2021-경기하남-1166 호  [사업자 정보 확인]
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.