ผมทำรายงานนับ workload ทันตแพทย์แล้วติดปัญหาคือ ต้องการสั่งให้รายงานรู้ว่าถ้าไม่เลือกชื่อแพทย์คือเป็นค่าว่างแล้วให้นับจำนวนรวมทั้งหมดของทันตแพทย์ทุกคน แต่ถ้าเลือกชื่อทันตแพทย์โดยใช้ getpickuplist ให้นับจำนวนเฉพาะทันตแพทย์ที่ต้องการแล้วตัวแปรที่รับไป pipeline ใน variable เพื่อนับจำนวน แต่ยอดออกมาเป็น 0 คับ
procedure GlobalOnCreate;
begin
GetDateRangeDialog(date1,date2);
ds1:= Formatdatetime('yyyy-mm-dd',date1);
ds2:= Formatdatetime('yyyy-mm-dd',date2);
doc1:=getpickuplist('select name from doctor where name LIKE "%·¾­.%" OR name LIKE "%·À.%" ORDER BY code ');
doc3:=getsqlstringdata('select code from doctor where name ="'+doc1+'" ');
if doc1='' then begin
doc2:=getsqlstringdata('select code from doctor where name LIKE "%·¾­.%" OR name LIKE "%·À.%" ');
end else
doc2:=getsqlstringdata('select code from doctor where name ="'+doc3+'" ');
end;
end;
ใน variable ใส่ไว้ว่า
Value :=getsqlintegerdata('SELECT COUNT(DISTINCT(dm.hn)) '
+' FROM dtmain dm '
+' LEFT OUTER JOIN dt_list dl on dl.vn=dm.vn '
+' WHERE dl.count_in_year <> "0" '
+' AND dm.doctor ="'+doc2+'" '
+' AND dm.vstdate between "'+ds1+'" and "'+ds2+'" ');
แก้ไขอย่างไรคับรบกวนด้วยคับ