BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: naj ที่ พฤศจิกายน 23, 2009, 14:36:33 PM

หัวข้อ: CUSTOM-รายงานแสดงผู้ใช้บริการที่ถูกส่งตรวจโดยห้องบัตร แบบเลือกช่วงวันที่และเวลา
เริ่มหัวข้อโดย: naj ที่ พฤศจิกายน 23, 2009, 14:36:33 PM
จากกระทู้ที่มีคนถามเกี่ยวกับการทำรายงาน แล้วสามารถเลือกวันที่และเวลา จากการส่งตรวจโดยห้องบัตร เลยเอาตัวอย่าง Code ที่เขียนมาให้ดูครับ
โค๊ด: Delphi
  1. var
  2.        date1,date2:tdatetime;
  3.        dt1,dt2,ds1,ds2:string;
  4. procedure GlobalOnCreate;
  5. begin
  6.   GetDateTimeRangeDialog(date1, date2);
  7. dt1:= FormatDateTime('yyyy-mm-dd hh:nn:ss',date1);
  8. dt2:= FormatDateTime('yyyy-mm-dd hh:nn:ss',date2);
  9. ds1:= getsqlstringdata('select unix_timestamp("'+dt1+'")');
  10. ds2:= getsqlstringdata('select unix_timestamp("'+dt2+'")');
  11. ChangeReportSQL('select a.vstdate,a.vsttime,a.oqueue,a.hn,'+
  12. 'concat(pname,fname,"  ",lname) as ptname '+
  13. ',a.cur_dep,a.cur_dep_time,a.last_dep,a.main_dep,staff,c.name '+
  14. 'from ovst a '+
  15. 'left outer join patient b on a.hn=b.hn '+
  16. 'left outer join opduser c on a.staff=c.loginname '+
  17. 'where  unix_timestamp(concat(a.vstdate," ",a.vsttime)) between "'+ds1+'" and "'+ds2+'"  '+
  18. 'and a.staff  in("yo","sod","ball","nek","auto","pooki","MART","nid","young","john") '+
  19. 'order by a.vn ');
  20. end;
  21.  
หัวข้อ: Re: CUSTOM-รายงานแสดงผู้ใช้บริการที่ถูกส่งตรวจโดยห้องบัตร แบบเลือกช่วงวันที่และเวลา
เริ่มหัวข้อโดย: kungkung ที่ พฤศจิกายน 23, 2009, 21:11:23 PM
 :)  ขอบคุณครับ   :)
ผมกำลังเขียนตัวที่คล้ายๆ กันนี้อยู่พอดี
หัวข้อ: Re: CUSTOM-รายงานแสดงผู้ใช้บริการที่ถูกส่งตรวจโดยห้องบัตร แบบเลือกช่วงวันที่และเวลา
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 24, 2009, 12:04:12 PM
จากกระทู้ที่มีคนถามเกี่ยวกับการทำรายงาน แล้วสามารถเลือกวันที่และเวลา จากการส่งตรวจโดยห้องบัตร เลยเอาตัวอย่าง Code ที่เขียนมาให้ดูครับ
โค๊ด: Delphi
  1. var
  2.        date1,date2:tdatetime;
  3.        dt1,dt2,ds1,ds2:string;
  4. procedure GlobalOnCreate;
  5. begin
  6.   GetDateTimeRangeDialog(date1, date2);
  7. dt1:= FormatDateTime('yyyy-mm-dd hh:nn:ss',date1);
  8. dt2:= FormatDateTime('yyyy-mm-dd hh:nn:ss',date2);
  9. ds1:= getsqlstringdata('select unix_timestamp("'+dt1+'")');
  10. ds2:= getsqlstringdata('select unix_timestamp("'+dt2+'")');
  11. [code]
  12. [/quote]
  13. สงสัยว่าทำไมต้องแปลงวันที่ 2 ครั้ง อ่ะ
  14. เพราะที่ดูใน manual ที่มากับโปรแกรม มันแปลงแค่ครั้งเดียวเอง :)
[/code]
หัวข้อ: Re: CUSTOM-รายงานแสดงผู้ใช้บริการที่ถูกส่งตรวจโดยห้องบัตร แบบเลือกช่วงวันที่และเวลา
เริ่มหัวข้อโดย: naj ที่ พฤศจิกายน 24, 2009, 12:46:12 PM
ที่ต้องทำ สองครั้งเนื่องจาก ตาราง ovst   vstdate,vsttime แยกกันเก็บคนละ filed แต่ผู้ใช้ต้องการให้สร้าง เมนูให้สามารถที่จะรุบุช่วงวันที่และเวลาที่ต้องการได้ด้วย ปัญหาคือจะทำอย่างไรดี
ตอนแรกคิดจะไปใช้ vn เป็นตัวกำหนด แต่มีปัญหาว่าเครื่องที่เป็น Vista or 7 ปีมันจะเป็น 09 แทนที่จะเป็น 52 เลยลองมาใช้ unix_timestamp เข้ามาช่วยครับ ได้วันที่กับเวลา แล้วใช้  unix_timestamp  แปลงเป็นตัวเลข   อาจจะมีวิธีการเขียนแบบอื่นๆครับ แต่อยากลองใช้  unix_timestamp เท่านั้นเอง ว่าจะใช้งานได้จริงหรือเปล่า :) :) :)
หัวข้อ: Re: CUSTOM-รายงานแสดงผู้ใช้บริการที่ถูกส่งตรวจโดยห้องบัตร แบบเลือกช่วงวันที่และเวลา
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 24, 2009, 20:22:04 PM
ที่ต้องทำ สองครั้งเนื่องจาก ตาราง ovst   vstdate,vsttime แยกกันเก็บคนละ filed แต่ผู้ใช้ต้องการให้สร้าง เมนูให้สามารถที่จะรุบุช่วงวันที่และเวลาที่ต้องการได้ด้วย ปัญหาคือจะทำอย่างไรดี
ตอนแรกคิดจะไปใช้ vn เป็นตัวกำหนด แต่มีปัญหาว่าเครื่องที่เป็น Vista or 7 ปีมันจะเป็น 09 แทนที่จะเป็น 52 เลยลองมาใช้ unix_timestamp เข้ามาช่วยครับ ได้วันที่กับเวลา แล้วใช้  unix_timestamp  แปลงเป็นตัวเลข   อาจจะมีวิธีการเขียนแบบอื่นๆครับ แต่อยากลองใช้  unix_timestamp เท่านั้นเอง ว่าจะใช้งานได้จริงหรือเปล่า :) :) :)
OK กระจ่าง  ;) ;) ;)
หัวข้อ: Re: CUSTOM-รายงานแสดงผู้ใช้บริการที่ถูกส่งตรวจโดยห้องบัตร แบบเลือกช่วงวันที่และเวลา
เริ่มหัวข้อโดย: mixer_79 ที่ มีนาคม 16, 2010, 10:57:07 AM
thank