การสร้างรายงานที่เลือกแสดงคอลัมน์อัตโนมัติ
กระทู้เก่าบอร์ด อ.Yeadram

 1,584   3
URL.หัวข้อ / URL
การสร้างรายงานที่เลือกแสดงคอลัมน์อัตโนมัติ

สมมุติว่า ค่าใช้จ่ายประจำเดือนของแต่ละหน่วยงาน มีคอลัมน์เป็นชื่อหน่วยงาน

ค่าใช้จ่าย   รวม หน่วยงาน1   หน่วยงาน2   หน่วยงาน3   หน่วยงาน4
ค่าแรง       140          50               20                 30               40


ถ้าต้องการสร้างรายงาน ให้สามารถเลือกหน่วยงานที่จะแสดงออกมาตามที่ต้องการ เช่น ต้องการแค่หน่วยงาน2 และ หน่วยงาน4 จะสามารถสร้างรายงานอย่างไรให้รายงาน แสดงแค่ 2 หน่วยงาน ดังนี้

ค่าใช้จ่าย      รวม    หน่วยงาน2       หน่วยงาน4
ค่าแรง            60             20                   40

ซึ่งเราจะสามารถเลือกให้แสดงหน่วยงานใด กี่หน่วยงานก็ได้ ทำอย่างไรครับ

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

1 @R03801
ก็แทนที่จะทำเป็น bound textbox คุณก็ต้องปล่อย ControlSource property ของ textbox ต่างๆให้ว่างไว้ในหน้า Design View ของตัว Report   แล้วก็ไปเติมชื่อฟิลด์ที่ต้องการลงไปเมื่อเริ่ม Report_Open event procedure แทน เช่นสมมุติว่า textbox ที่จะแสดงหน่วยงานชื่อ txt1, txt2, txt3, ... ส่วนฟิลด์หน่วยงาน ชื่อว่า fld1, fld2, fld3, ... ช่องรวมชื่อ txtTotal โค้ดก็จะเป็นลักษณะนี้

Private Sub Report_Open(Cancel As Integer)
    Me.txt1.ControlSource = "fld2"
    Me.txt2.ControlSource = "fld4
    Me.txtTotal.ControlSource = "= [fld2] + [fld4]"
End Sub

แน่นอนว่าโค้ที่คุณเขียนมันต้องตรวจสอบเยอะกว่า ตย.นี้ทีเดียวเพื่อหาว่า txt ไหนจะแสดงค่าจาก fld อะไร และ txtTotal จะเป็นผลรวมของฟิลด์อะไร แต่หลักการก็ไม่หนีจากนี้แหล่ะครับ
2 @R03803
สมมุติว่า ที่ผ่านมามีเพียง 4 หน่วยงาน แล้วปัจจุบันเพิ่มมาอีก 2 หน่วยงาน เรามีวิธีให้เพิ่มอัตโนมัติ โดยไม่เข้าไปแก้ไขรายงานไหมครับ
เหมือนข้อมูลทางด้านแถวมันเพิ่ม-ลดเองอัตโนมัติได้ แต่ด้านคอลัมน์อยากให้เพิ่มหรือลดเองโดยอัตโนมัติ
3 @R03804
ขออนุญาต อ. สันติสุขครับ
แนวทางที่ 1 การปรับลดคอนโทรลใน runtime
- เปิดรายงานโดยโค้ด (ห้ามดับเบิ้ลคลิ๊กโดยตรงที่ตัวรายงาน)
- สั่งเปิดรายงาน ในมุมมอง design
- เขียน statement เลือกแหล่งข้อมูลให้รายงาน
- สั่งสร้าง หรือสั่งลบ หรือสั่งโชว์ สั่งซ่อนคอนโทรลในส่วนของ details
- สั่งปิดและเซฟรายงาน
- สั่งเปิดรายงานในมุมมอง preview
จบงาน

แนวทางที่ 2 ใช้ฟอร์มทำรายงานแทน
เช่น http://www.thai-access.com/yeadram_view.php?topic_id=99
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3531s