กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
        
           552   3		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        ขอทราบการกำหนดสิทธิการใช้      
		
    
      เรียน อ.สุภาพ 
----ผมใช้ Access 97 ใช้งานเก็บข้อมูล ตารางเก็บข้อมูลใช้ชื่อว่า DATA และ ฟอร์มใช้ชื่อว่า LOAD FORM ผมจะกำหนดสิทธิของพนักงานให้ป้อนข้อมูลเข้าได้แต่อย่างเดียว แล้วไม่ให้แก้ไขได้เอง จะต้องทำอย่างไรครับ ผมอ่านในหนังสือยังไม่เข้าใจ
----ขอความกรุณาอาจารย์ หรือท่านที่จะกรุณาแนะนำด้วยครับ ขอบคุณครับ
    
  ----ผมใช้ Access 97 ใช้งานเก็บข้อมูล ตารางเก็บข้อมูลใช้ชื่อว่า DATA และ ฟอร์มใช้ชื่อว่า LOAD FORM ผมจะกำหนดสิทธิของพนักงานให้ป้อนข้อมูลเข้าได้แต่อย่างเดียว แล้วไม่ให้แก้ไขได้เอง จะต้องทำอย่างไรครับ ผมอ่านในหนังสือยังไม่เข้าใจ
----ขอความกรุณาอาจารย์ หรือท่านที่จะกรุณาแนะนำด้วยครับ ขอบคุณครับ
				3 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    1 @R05386    
        
  
      ลองให้เปิดฟอร์มใน Add Mode แล้วกำหนด AllowEdits ให้เป็น No ครับ 
    
  
        
    2 @R05399    
        
  
      ผมสร้างโมดูล ชื่อ Login 
Global UserLogin As String '=ชื่อ
Global UserLogins As Boolean 'Password
Global BelongToAdmin As Boolean 'สิทธิดูแลระบบ
ตารางที่ประกอบดว้ยฟิลด์ UserLogin UserLogins BelongToAdmin
แล้วสร้าง Form สำหรับการ Login
เมื่อ Login ก็จะตรวจสอบชื่อ password
On Error GoTo Err_cmdok_click
Dim X As String
Dim LoginDb As Database
Dim Loginset As DAO.Recordset
Set LoginDb = DBEngine.Workspaces(0).Databases(0)
Set Loginset = LoginDb.OpenRecordset("Login", DB_OPEN_DYNASET)
X = DLookup("Pass", "Login", "[Name] = Text1.Value")
If X = text2.Value Then
UserLogin = DLookup("name", "Login", "[Name] = Text1.Value")
UserLogins = DLookup("Users", "Login", "[Name] = Text1.Value")
BelongToAdmin = DLookup("Admin", "Login", "[Name] = Text1.Value")
DoCmd.Close
stDocName = "Main" 'ถ้ารหัสถูกต้องเปิด Form ชื่อ main
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
Beep
MsgBox "รหัสไม่ถูกต้อง"
End If
Loginset.Close
LoginDb.Close
และเมื่อผู้ใชจะกดปุ่มแก้ไขก็ให้ตรวจสอบ BelongToAdmin
ถ้าไม่ใช่ก็เขียนคำสั่งให้ End sub หรือ Msgbox แสดงอะไรก็ได้
หรือว่าตอน Load Form Main ให้กำหนด ปุ่ม Edit.Enable=False ไปเลยก็ได้
ลองประยุกต์ใช้ดูก็แล้วกัน
    
    
  Global UserLogin As String '=ชื่อ
Global UserLogins As Boolean 'Password
Global BelongToAdmin As Boolean 'สิทธิดูแลระบบ
ตารางที่ประกอบดว้ยฟิลด์ UserLogin UserLogins BelongToAdmin
แล้วสร้าง Form สำหรับการ Login
เมื่อ Login ก็จะตรวจสอบชื่อ password
On Error GoTo Err_cmdok_click
Dim X As String
Dim LoginDb As Database
Dim Loginset As DAO.Recordset
Set LoginDb = DBEngine.Workspaces(0).Databases(0)
Set Loginset = LoginDb.OpenRecordset("Login", DB_OPEN_DYNASET)
X = DLookup("Pass", "Login", "[Name] = Text1.Value")
If X = text2.Value Then
UserLogin = DLookup("name", "Login", "[Name] = Text1.Value")
UserLogins = DLookup("Users", "Login", "[Name] = Text1.Value")
BelongToAdmin = DLookup("Admin", "Login", "[Name] = Text1.Value")
DoCmd.Close
stDocName = "Main" 'ถ้ารหัสถูกต้องเปิด Form ชื่อ main
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
Beep
MsgBox "รหัสไม่ถูกต้อง"
End If
Loginset.Close
LoginDb.Close
และเมื่อผู้ใชจะกดปุ่มแก้ไขก็ให้ตรวจสอบ BelongToAdmin
ถ้าไม่ใช่ก็เขียนคำสั่งให้ End sub หรือ Msgbox แสดงอะไรก็ได้
หรือว่าตอน Load Form Main ให้กำหนด ปุ่ม Edit.Enable=False ไปเลยก็ได้
ลองประยุกต์ใช้ดูก็แล้วกัน
        
    3 @R05403    
        
    
      ----ขอขอบพระคุณ อาจารย์ กับคุ Ken ด้วยครับ  ผมจะลองทำดู  ถ้าทำยังไม่ได้จะรบกวนมาอีกทีครับ    
    
  
      Time: 0.0653s
    
      
		