ผู้เขียน หัวข้อ: เราเขียนให้รายงานรับ parameter จากไฟล์ text หรือ excel ได้หรือไม่ครับ  (อ่าน 2859 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ yokyai

  • Hero Member
  • *****
  • กระทู้: 1,462
  • Respect: +9
    • ดูรายละเอียด
กรณีที่เราอาจจะต้องใช้ 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+'") ');

รบกวนพี่ๆแนะนำด้วยครับขอบคุณครับ
Sakaowrat Choocherd(Administrator) Information Technologist
Bangyai Hospital(30 beds)
HOSxP = 16_May_2008
Master and Slave : DELL-R730 Server Intel Xeon 8Core(2Units)
,Ram64 GB,HDD600(10k)x4,Raid5,CentOS 7.0 64 bit
,MySQL 10.1.10-MariaDB
(3 March 2016) With BMSxTraBackupGUI

dusit

  • บุคคลทั่วไป
ถ้าใช้ 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');

แค่คิดนะครับ ยังไม่ได้ลองทำ