การใช้ VBA สั่งเปิดรายงานแบบมีเงื่อนไข (MS Access)

รายงานที่นำข้อมูลมาจาก Query สามารถกำหนดเงื่อนไขในการแสดงข้อมูลได้ ดังนี้
  1. กำหนดเงื่อนไขโดยตรงในช่อง Criteria ของ Query นั้น ๆ  เช่น ถ้าเราต้องการให้นำข้อมูลของอำเภอนครหลวงมาแสดง ให้พิมพ์ข้อความในเครื่องหมายคำพูดในช่อง Criteria ดังภาพ

  2. ถ้าเป็นการสั่งจากฟอร์ม เราสามารถกำหนดให้นำข้อความจาก กล่องข้อความ list box หรือ combo box มาเป็นเงื่อนไขได้ โดยการอ้างอิงถึง กล่องข้อความในช่องเงื่อนไข ในภาพ เป็นการอ้างอิงข้อความชื่อวิชา ที่อยู่ใน กล่องข้อความ ในแบบฟอร์มชื่อ frmShowAll_by_Subject (อ่านวิธีการอ้างอิงถึง Object คลิกที่นี่)

  3. ใช้ stLinkcriteria เพื่อกำหนดเงื่อนไขในการเปิดฟอร์ม  วิธีนี้เหมาะสำหรับการกำหนดเงื่อนไขที่มีการใช้สูตร เช่น ถ้าต้องการให้แสดงชื่อวิชาทั้งหมด หรือให้เลือกเฉพาะวิชาใดวิชาหนึ่งที่ต้องการ เราสามารถกำหนดเงื่อนไข ใน stLinkCriteria ได้

    ตัวอย่างนี้ เป็นการกำหนดเงื่อนไข ให้นำข้อความใน list box ชื่อ lstSubNames มาเป็นเงื่อนไขในการเปิดรายงาน ตามที่ระบุ แต่ถ้าหาก ข้อความใน lstSubNames เป็นเครื่องหมายดอกจัน (*) ก็ให้นำข้อมูลทุกวิชามาแสดง

            If Me.lstSubNames.Value = "*" Then
                stLinkCriteria = ""
            Else
                stLinkCriteria = "[subjName]=" & "'" & Me.lstSubNames.Value & "'"
            End If
            DoCmd.OpenReport "rptShowAll_by_Subject", acViewPreview, , stLinkCriteria

    ทั้งนี้ โดยใน Query ให้ปล่อยเงื่อนไขในฟิลด์ [subjName] ว่างไว้ เพื่อให้แสดงข้อมูลทั้งหมด และให้กรองข้อมูล จาก stLinkCriteria ที่กำหนด

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

อุปมา อุปไมย สำนวนการเปรียบเทียบ ของไทย

ความสามารถทั่วไปด้านเหตุผล การหาความสัมพันธ์จาก ภาพ สัญลักษณ์

แนวข้อสอบ เงื่อนไขสัญลักษณ์