การป้องกันการ copy & paste
กระทู้เก่าบอร์ด อ.Yeadram

 1,738   3
URL.หัวข้อ / URL
การป้องกันการ copy & paste

สวัสดีครับ
ผมใช้ MS access เขียนเป็นโปรแกรมเก็บข้อมูลในหน่วยงานผมครับ ทุกครั้งหลังเสร็จงาน จะต้องมีการลงบันทึกว่าได้ทำอะไรไปบ้าง ที่นี้งานที่ต้องลงบันทึกจะมีลักษณะขั้นตอนซ้ำๆกัน เป็นลำดับ 1 2 3 4 5 .. เรียงกันไปต่างแค่รายละเอียดในแต่ละขั้นตอนเช่น ขั้นตอนที่ 1 เติมน้ำ 3 ถ้วย พออีกรายงานอาจเป็น เติมน้ำ 1 ถ้วย ปัญหาคือคนที่ลงบันทึกจะใช้วิธี copy & paste มาทั้งหมดโดยไม่ตรวจสอบว่าข้อมูลมันถูกหรือไม่ ผมอยากจะบังคับให้ไม่สามารถ paste ข้อความลงใน text filed ดังกล่าว ไม่ทราบว่าทำได้หรือไม่ครับ ถ้าได้ต้องทำอย่างไรครับ
ขอบคุณมากครับ

3 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R12953
เพื่อป้องกันการกดปุ่ม Ctrl-C ที่ฟอร์ม ให้กำหนด KeyPreview property ของฟอร์มให้เป็น Yes และใส่โค้ดสำหรับ Form_KeyDown event procedure ให้เป็น

    If (KeyCode = vbKeyC) And ((Shift And acCtrlMask) > 0) Then
        KeyCode = 0
    End If


และเพื่อป้องกันหากผู้ใช้เลือกคำสั่ง Copy จาก Shortcut Menu ก็ให้กำหนด Shortcut Menu property ของฟอร์มให้เป็น No หรือไม่ก็ต้องสร้าง Shortcut Menu ของคุณเองโดยไม่ให้มีคำสั่ง Copy ใส่ไว้ แล้วตั้งชื่อใน Shortcut Menu Bar property ของฟอร์มเป็นชื่อที่สร้างไว้

นอกจากนั้นยังต้องสร้าง Menu Bar และ Tool Bar ของคุณเองเพื่อไม่ให้มีคำสั่ง Copy ด้วย แล้วกำหนดชื่อลงใน Menu Bar และ Toolbar property ของฟอร์มด้วยเช่นกัน
2 @R12954
ขอบคุณมากครับ
3 @R12966
อีก 2 ทางครับ
ใช้ได้ในทุกฟอร์มทุกรายงาน ทุกคิวรี่ โดยสร้างเพียงครั้งเดียว

1 การสร้าง มาโคร autokeys สร้างคำสั่ง ^C แล้วระบุคำสั่งอื่นๆ แทนไปครับ เช่นอาจจะให้แสดง msgbox ว่า "ห้ามคัดลอก" ก็ได้

2 หาโมดูลมาใส่ว่าด้วยเรื่องการ disable clipboard ครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2822s