กระทู้เก่าบอร์ด อ.Yeadram
1,490 2
URL.หัวข้อ /
URL
การแก้ไขในหน้า Form
ในหน้าแบบฟอร์มสำหรับแก้ไข อยากให้แก้ไขได้เฉพาะวันที่ปัจจุบัน(RecordDate)เท่านั้น สำหรับข้อมูลที่บันทึกก่อนหน้านี้ไม่ให้แก้ไขครับต้องทำอย่างไรบ้าง
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R08691
เรียน คุณ Yeadram ครับ คือฟอร์มที่ใช้แก้ไขตัวนี้ใช้สำหรับ Search ข้อมูลเก่าด้วยครับ และจะให้มีการแก้ไขได้เฉพาะรายการที่บันทึกภายในวันเท่านั้นครับ รบกวนอธิบายวิธีที่ 3 โดยละเอียดด้วยครับ
ขอบคุณครับ
ขอบคุณครับ
Time: 0.5249s
ให้ตั้งค่าตัวกรองของฟอร์ม เป็นวันที่ปัจจุบันเท่านั้น
ทุกครั้งที่เปิดฟอร์ม ข้อมูลจะถูกกรองทันที
วิธีที่ 2 การกรองที่แหล่งข้อมูล
แหล่งข้อมูลของฟอร์มอาจเป็นได้ทั้ง ตาราง, คิวรี่ และ กลุ่มเรคคอร์ด หรือที่เรียกว่า record set
ให้หลีกเลี่ยงการใช้ตารางเป็นแหล่งข้อมูล เพราะฉะนั้นก็เหลือแค่ให้เลือกใช้แหล่งข้อมูลโดยคิวรี่หรือ record set เท่านั้น แล้วก็ไปใส่ค่าตัวกรองในนั้นเลยครับ
วิธีที่ 3 การเพิ่มฟิลด์เพื่อระบุสถานะของแต่ละรายการ
ก็ไปเพิ่มฟิลด์ yes/no ไว้ในตารางครับ
ทุกครั้งที่เปิดโปรแกรมก็ให้รันโค้ดชุดหนึ่ง (อาจใช้การรันฟังก์ชั่น ผ่าน มาโคร autoexec ก็ได้) เพื่ออับเดตสถานะตัวนี้ ว่า รายการใดที่เป็นของวันที่เก่าๆ ให้ตั้งสถานะเป็น no ให้หมด
แล้วก็ไปตั้งค่าตัวกรอง (อาจจะตั้งในคิวรี่ หรือในฟอร์ม ตามวิธีข้างต้นก็ได้) ให้แสดงรายการเฉพาะที่สถานะเป็น yes เท่านั้น
วิธีที่ 3 นี้สามารถนำไปต่อยอด ยืดหยุ่นได้ สำหรับกรณีมีระดับการเข้าถึงข้อมูล เช่น หากผู้ใช้จำเป็นต้องแก้ไขข้อมูลย้อนหลังจริงๆ เราก็ให้ผู้ใช้กรอกรหัสลับบางอย่างก่อน แล้วเราค่อยใช้โค้ดไปอัพเดตรายการนั้นๆ ปรับค่าสถานะเป็น no ต่อมาก็ตามด้วยคำสั่งให้ฟอร์ม requery ข้อมูล ข้อมูลรายการนั้นๆ ก็จะแสดงผลขึ้นมาให้ edit ได้
และวิธีที่ 3 นี้ยังยืดหยุ่นกว่า วิธีที่ 1 และ2 ตรงที่...
วิธี1, 2 ผู้ใช้จะไม่สามารถแก้ไข รายการใดๆ ที่ไม่ใช่ของวันนี้ได้
และไม่สามารถมองเห็นรายการได้ (ทำให้ลำบาก หากผู้ใช้ต้องการแค่ขอดู รายการเก่า)
ส่วนวิธีที่ 3 เราอาจจะไม่ใช้ตัวกรองก็ได้ แต่เขียนโค้ดกำกับแบบ real time ให้ตรวจสอบค่าสถานะทุกครั้งที่มีการเลื่อนเรคคอร์ด กล่าวคือ ฟอร์มนั้น จะอนุญาตให้แก้ไขข้อมูลได้ก็ต่อเมื่อสถานะของรายการนั้นๆ ถูกตั้งค่าเป็น yes เท่านั้น
me.allowedits = me.FieldStatus
เอาเป็นว่า เอาแค่แนวทางไปลองทำเองดูนะครับ