แนวทางการเพิ่มวันนัดต่อไป ในรายงานผลการส่งหมายนะครับ
extbox โดยกำหนดคุณสมบัติ
รูปแบบ : "(นัดวันที่ "d mmm yyyy")"
แหล่งตัวควบคุม : ให้ระบุข้อมูลดังนี้ครับ
=DMin("[วันปัจจุบัน]","สมุดนัดพิจารณา","[วันปัจจุบัน] >" & Date() & "and [หมายเลขคดีดำที่/พศ] ='" & [txtMainkey] & "'")
ความหมายของคำสั่งคือ
เลือกวันที่ที่น้อยที่สุด จากรายการวันที่ที่มากกว่าวันที่ปัจจุบัน ในตาราง สมุดนัดพิจารณาคดี
แล้ว sql (แหล่งระเบียน) ของ report เป็นแบบไหนครับ
ต้องเชื่อมกับ ตารางสมุดนัดพิจารณาหรือเปล่าครับ หรือเพิ่มตารางแล้วไม่ต้องเชื่อมโยงกับตารางหลักครับ
หล่งระเบียน ไม่ต้องแก้ไขครับ
ตัว Textbox จะเรียกแหล่งข้อมูลด้วยตนเอง แยกจากแหล่งข้อมุลของ Report ครับ
สิ่งที่ใช้อ้างถึงเพื่อเรียกข้อมูลคือ ชื่อ Object ในรายงาน ซึ่งกรณีนี้คือ [txtMainkey] ครับ
แต่ผมเอา textBox เพิ่มอีกอันหนึ่ง โดยอันเกาใช้ชื่อ txtNud แล้วสร้าง textbox ใหม่มาอีก 1 อันเอาไว้เช็คกับวันปัจจุบัน เพื่อที่ว่าถ้าวันนัดที่ยังไม่ถึงนัดให้แสดง แต่ถ้าเป็นนัดเก่าก็ไม่ต้องแสดง โดยใส่ =IIf([txtNud]>Date(),[txtNud],"") ครับ
ทำให้ในส่วนของคำบังคับ จะไม่ต้องแสดงวันนัด จะได้ไม่สับสนครับ
ให้แก้ไขเป็น
=IIF(not isnull(DMin("[วันปัจจุบัน]","สมุดนัดพิจารณา","[วันปัจจุบัน] >" & Date() & "and [หมายเลขคดีดำที่/พศ] ='" & [txtMainkey] & "'")),DMin("[วันปัจจุบัน]","สมุดนัดพิจารณา","[วันปัจจุบัน] >" & Date() & "and [หมายเลขคดีดำที่/พศ] ='" & [txtMainkey] & "'"),"")
หรือถ้า Code จะดูยาวๆ ก็อาจใช้เทคนิคของคุณ @KK คือ ใช้ตรวจสอบจาก txtNud ได้ครับ