BMS-HOSxP Community
HOSxP => Report Exchange => ข้อความที่เริ่มโดย: yokyai ที่ พฤศจิกายน 17, 2011, 16:03:59 PM
-
กรณีที่เราอาจจะต้องใช้ inputquery รับค่า แต่เราอยากให้รายงานรับค่าหลายๆค่าเลยที่เดียวเพื่อเรียกข้อมูลมา จะเขียนคำสั่งอย่างไรครับ ตอนนี้ผมเขียนแบบนี้
procedure GlobalOnCreate;
begin
n1:=inputquery('ÃÐºØ HN','ÃÐºØ HN');
n2:=getsqlstringdata('select hn from patient where hn="'+n1+'" ');
n3:=inputquery('ÃÐºØ HN','ÃÐºØ HN');
n4:=getsqlstringdata('select hn from patient where hn="'+n3+'" ');
n5:=inputquery('ÃÐºØ HN','ÃÐºØ HN');
n6:=getsqlstringdata('select hn from patient where hn="'+n5+'" ');
n7:=inputquery('ÃÐºØ HN','ÃÐºØ HN');
n8:=getsqlstringdata('select hn from patient where hn="'+n7+'" ');
n9:=inputquery('ÃÐºØ HN','ÃÐºØ HN');
n10:=getsqlstringdata('select hn from patient where hn="'+n9+'" ');
n11:=inputquery('ÃÐºØ HN','ÃÐºØ HN');
n12:=getsqlstringdata('select hn from patient where hn="'+n11+'" ');
n13:=inputquery('ÃÐºØ HN','ÃÐºØ HN');
n14:=getsqlstringdata('select hn from patient where hn="'+n13+'" ');
n15:=inputquery('ÃÐºØ HN','ÃÐºØ HN');
n16:=getsqlstringdata('select hn from patient where hn="'+n15+'" ');
ChangeReportSQL('select * from patient where hn in ("'+n2+'","'+n4+'","'+n6+'","'+n8+'","'+n10+'","'+n12+'","'+n14+'","'+n16+'") ');
รบกวนพี่ๆแนะนำด้วยครับขอบคุณครับ
-
ถ้าใช้ Script มาช่วยจะได้ไหมครับ
ในฟอร์ม จะมีการรับค่า text file หรือ .CSV file
"00000001","00000002","00000003","00000004","00000005","00000006","00000007","00000008"
แล้ว มีปุ่ม Import text File นำข้อมูลมาใส่ใน ตาราง tempreport โดยกำหนดไอดีว่า xxxx
แล้วตัดข้อมูลใส่ข้อมูลไว้ใน column ชื่อ name1
จากนั้น ปุ่ม ส่ง Parameter ไปพิมพ์ อีกครั้ง
ส่วนใน Report Designer ก็แก้ไขชุดคำสั่งให้เลือกค่าที่ได้บันทึกไว้ใน tempreport โดยการ in
ChangeReportSQL('select * from patient where hn in (select name1 from tempreport where report_id='xxxx');
แค่คิดนะครับ ยังไม่ได้ลองทำ