บอร์ดเรียนรู้ Access สำหรับคนไทย
Thai Access Webboard => ห้อง MS Access => ข้อความที่เริ่มโดย: Supanida ที่ 06 มิ.ย. 62 , 19:22:46
-
(https://www.thai-access.com/tiupld/images/psofnn-b4dbef.png)
คือต้องการให้เวลาล็อคอินเข้าใช้งานแล้วผู้ใช้งานคนอื่นไม่สามารถเห็นช่อง address ได้ สามารถเห็นได้แค่ admin ค่ะ สามารถทำได้อย่างไรบ้างคะ
-
งานคุณเหมือนมีการกำหนดคิวรี่ให้แสดงข้อมูลในฟอร์มย่อย ในรูปแบบ datasheet ถูกไหมครับ
ถ้าแบบง่ายๆเลยคือ ใช้การเปลี่ยน SourceObject เอาก็ได้ครับ
เช่นปกติ ข้อมูลในฟอร์มย่อย เป็น QryData มีการกำหนดให้แสดง Field Address อยู่ด้วย
เราก็มาสร้างคิวรี่อีกอัน ชื่อ QryDataUser กำหนดให้แสดงฟิลล์อื่นๆทั้งหมดแต่เอา Field Address ออก
ที่ฟอร์ม
ตรงช่องแหล่งระเบียนไม่ต้องกำหนดเว้นว่างไว้
ต่อไปใช้การเช็คเงื่อนไข แอดมิน ตอนล๊อกอินเข้ามาถ้าเป็น Admin ก็กำหนดให้
IF ............................... เช็คว่าเป็น Admin หรือไม่ ถ้าใช่
Me.SubForm.SourceObject = "Query.QryData"
else
Me.SubForm.SourceObject = "Query.QryDataUser"
end if
ตรงสีแดงคือ ชื่อของ Subform
ผมคงช่วยออกแนวคิดได้เท่านี้ครับ เพราะ ผมไม่ทราบว่า การล๊อกอิน เข้าใช้งานฟอร์มเป็นแบบไหน เห็นแค่รูปภาพอันเดียวตีโจทย์ยากมาก :dizzy:
-
เพื่อให้เข้าใจ อยากให้สร้าง Command Button ขึ้นมา 2 อัน
อันที่ 1 ใส่คำสั่งนี้เข้าไปครับ
Me.ชื่อSubForm.Form!ชื่อคอลัมน์.ColumnHidden = True
อันที่ 2 ใส่คำสั่งนี้เข้าไปครับ
Me.ชื่อSubForm.Form!ชื่อคอลัมน์.ColumnHidden = False
หลักการของคำสั่งคือ ไปสั่งให้มีการปิด/เปิดคอลัมน์ดังกล่าวให้ทำการ Hide ตัวเอง
ลองนำไปปรับใช้ดูครับผม
ขอขอบคุณความรู้เกี่ยวกับ MS-Access จาก อ. สุภาพ ไชยา
ก็ฝากไว้เผื่อจะสามารถช่วยให้มิตรรักแฟนเพลงท่านหนึ่งท่านใด ก้าวพ้นปัญหาที่กำลังแก้อยู่ได้เร็วขึ้น