BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: Knott ที่ พฤศจิกายน 11, 2008, 13:09:31 PM

หัวข้อ: การ รวมค่าของ variable
เริ่มหัวข้อโดย: Knott ที่ พฤศจิกายน 11, 2008, 13:09:31 PM
เราสามารถนำค่าของ variable ที่ได้มา + - * / หรือหาผลรวมได้มั้ยครับ ต้องเขียนลักษณะไหนครับ
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: ไม่เสียสละ ชัยชนะไม่เกิด ที่ พฤศจิกายน 11, 2008, 13:20:15 PM
ตย.  variable1.Value+variable2.Value+variable3.Value
                      ครับ
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: ทานน้ำ ที่ พฤศจิกายน 11, 2008, 13:23:57 PM
ได้ค่ะ
เช่นถ้าจะบวก
varia1.value+varia2.value+varia3.value
ค่ะ
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: Knott ที่ พฤศจิกายน 11, 2008, 13:49:16 PM
ค่าที่ได้มันเป็นการเอาค่าที่ 1 กับ ค่าที่ 2 มาเรียงกันนะครับ เช่น
valriable1=1 , variable2=2 ==> variable1.value+variable2.value=12

คำตอบไม่ใช่ 3 ครับ แก้ไขอย่างไรครับ
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: Khuad ที่ พฤศจิกายน 11, 2008, 13:54:19 PM
ค่าที่ได้มันเป็นการเอาค่าที่ 1 กับ ค่าที่ 2 มาเรียงกันนะครับ เช่น
valriable1=1 , variable2=2 ==> variable1.value+variable2.value=12

คำตอบไม่ใช่ 3 ครับ แก้ไขอย่างไรครับ

...ลองแบบนี้ครับ...

 value := variable1.value + variable2.value

... :D...
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: Knott ที่ พฤศจิกายน 11, 2008, 14:03:11 PM
ก็ไม่ได้เหมือนกันคับ เรียงเหมือนเดิมคับ อ.ขวด
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: Khuad ที่ พฤศจิกายน 11, 2008, 14:26:13 PM
....ค่าของ variable1 กับ variable2 ต้องเป็น Integer นะครับ ต้องไม่ใช่ String...

....ถ้าเราใช้ GetSQLStringData อยู่  ก็ลองเปลี่ยนเป็น GetSQLIntegerData  ดูนะครับ .... :D....
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: ทานน้ำ ที่ พฤศจิกายน 11, 2008, 14:31:56 PM
ถ้าเรียงแบบนี้แสดงว่าค่าข้างนอกยังเป็น string อยู่แน่ๆเลยค่ะ
ให้ไปเปลี่ยน varaible ที่จะเอามารวมเป็น Integer ด้วยค่ะ
เลือก varaible นั้น แล้วเปลี่ยตรงหัวมุมซ้ายมือที่เป็น string ให้เป็น Integer ค่ะ
แล้วลองดูอีกที
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: Knott ที่ พฤศจิกายน 11, 2008, 14:58:47 PM
ลองเปลี่ยนแล้วก็ไม่หายอ่ะครับ  ??? ??? ???
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: pop_hosxp ที่ พฤศจิกายน 11, 2008, 16:42:44 PM
ขอ file ตัวรายงานหน่อยครับ
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: nuttavut ที่ พฤศจิกายน 11, 2008, 16:57:52 PM
ลองดูแบบนี้  ;D

ในส่วนของ การตั้งค่าตัวแปร

a,f:Integer;

---------------------------------

a :=GetSQLIntegerData('select count(a.hn) as chn '+
          ' from an_stat a, ipt i '+
          ' where a.an=i.an and   '+
          ' a.dchdate  between "'+d1+'" and "'+d2+'"  ');
     
Value := a;

-----------------------
f :=GetSQLIntegerData('select sum(a.admdate)as sadm '+
          ' from an_stat a, ipt i '+
          ' where a.an=i.an and   '+
          ' a.dchdate  between "'+d1+'" and "'+d2+'" ');
         
Value :=f;

------------------

Value := f /a ;


หรือลองศึกษาจาก ไฟล์แนบ... ;D

หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: atit ที่ พฤศจิกายน 11, 2008, 18:51:34 PM
พอดีเป็นหัวข้อคล้ายกันเลยขอแจม ของผมเป็นแบบนีครับ
procedure Label13OnPrint;
begin
 if (GetSQLStringData('select count(l3.lab_items_code) as PKU '+
'from lab_head h1'+
'left outer join lab_order lo on h1.lab_order_number=lo.lab_order_number'+
'left outer join lab_items li on li.lab_items_code=lo.lab_items_code      '+
'left outer join vn_stat v on v.vn=h1.vn'+
'left outer join an_stat a on a.an=h1.vn'+
'left outer join lab_order l3 on l3.lab_order_number=h1.lab_order_number and'+
 'l3.lab_items_code in (select lab_items_code from lab_items where ecode = "PKU")'+
'left outer join patient p on p.hn=h1.hn'+
'where h1.order_date between "2007-11-11" and "2007-11-31" and (li.sub_group_list="refer_kk"  )'+
'group by h1.lab_receive_number')>0)  THEN
               Label13.Visible:=true else
               Label13.Visible:=false

end;
แล้วขึ้น error ว่า
line3 :incompatible type ครับ
อ้ออีกอย่างครับตรง order_date อยากให้ดึงจาก dialog วันที่โดยตรงได้หรือเปล่าครับ
ขอบคุณครับ ;D
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: SrWooD ที่ พฤศจิกายน 12, 2008, 09:06:24 AM
พอดีเป็นหัวข้อคล้ายกันเลยขอแจม ของผมเป็นแบบนีครับ
procedure Label13OnPrint;
begin
 if (GetSQLStringData('select count(l3.lab_items_code) as PKU '+
'from lab_head h1'+
'left outer join lab_order lo on h1.lab_order_number=lo.lab_order_number'+
'left outer join lab_items li on li.lab_items_code=lo.lab_items_code      '+
'left outer join vn_stat v on v.vn=h1.vn'+
'left outer join an_stat a on a.an=h1.vn'+
'left outer join lab_order l3 on l3.lab_order_number=h1.lab_order_number and'+
 'l3.lab_items_code in (select lab_items_code from lab_items where ecode = "PKU")'+
'left outer join patient p on p.hn=h1.hn'+
'where h1.order_date between "2007-11-11" and "2007-11-31" and (li.sub_group_list="refer_kk"  )'+
'group by h1.lab_receive_number')>0)  THEN
               Label13.Visible:=true else
               Label13.Visible:=false

end;
แล้วขึ้น error ว่า
line3 :incompatible type ครับ
อ้ออีกอย่างครับตรง order_date อยากให้ดึงจาก dialog วันที่โดยตรงได้หรือเปล่าครับ
ขอบคุณครับ ;D

ถ้าใช้ GetSQLStringData
ตรงนี้ >0
น่าจะเป็น >'0' แบบนี้นะครับ

ยังไม่ได้ทดสอบนะครับ

 ;D ;D ;D

ส่วนเรื่องการรวมค่า variable
ลองใช้ Function GetSQLIntegerData
ร่วมกับการตั้งค่าดังในภาพดูนะครับ

 ;D ;D ;D
หัวข้อ: Re: การ รวมค่าของ variable
เริ่มหัวข้อโดย: Knott ที่ พฤศจิกายน 12, 2008, 13:59:31 PM
ได้แล้วครับ ขอบคุณ คุณ SrwooD มากครับ