BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: naj ที่ พฤษภาคม 14, 2011, 07:05:29 AM

หัวข้อ: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 14, 2011, 07:05:29 AM
พอดีจะเขียนคำสั่ง Loop ที่ให้มัน insert record เข้าไปในตารางขณะที่ User เรียกรายงานขึ้นมาครับ จากที่ อ.mn เพิ่มความสามารถนี้เข้าไปใน Report Designer ให้สามารถใช้ TCliendataset ได้ แต่จะลองใช้ method เช่น insert เช่น CDS.INSERT  หรือ cds.append  มันฟ้อง error ครับ แต่ถ้าเป็น cds.edit หรือ cds.post  compile ผ่านครับ ไม่แน่ใจว่าตอนเรียกใช้มันต้องเขียนอย่างไรครับ :) :) :) :)
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 14, 2011, 07:12:26 AM
แก้ไขให้แล้วครับใน 3.54.05.14
มี function ที่น่าจะมีประโยชน์อีกคือ

cds.AssignDataToMainReport
cds.AssignDataToPipeLineLink1 (1-10)
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 14, 2011, 07:17:36 AM
แก้ไขให้แล้วครับใน 3.54.05.14
มี function ที่น่าจะมีประโยชน์อีกคือ

cds.AssignDataToMainReport
cds.AssignDataToPipeLineLink1 (1-10)


ถ้า อ.mn พอจะเมตตาช่วยยกตัวอย่างการใช้ก็แหล่มเลยครับหรืออธิบายเพิ่มเติมเกี่ยวกับการใช้งาน
ต่อนิดหนึ่งครับ ถ้าใจให้มัน update กลับไปยังตารางสามารใช้ function HOSxP_UpdateDelta หรือ Applyupdate() ได้หรือไม่ครับ
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 14, 2011, 07:25:00 AM
cds.HOSxP_UpdateDelta;

อยู่ใน 3.54.5.14 แล้วครับ (อีก 10 นาที Download ใหม่นะครับ)
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 14, 2011, 07:31:13 AM
เนื่องจากต้องการที่จะเขียน Loop คำสั่งแล้ว update กลับไปยังตารางที่ต้องการครับ คล้ายเขียนในส่วนของ Script ครับ
โค๊ด: Delphi
  1. unit MyIPDReport;
  2. procedure main;
  3. var
  4. min_hba1c,max_hba1c:string;
  5. begin
  6.    
  7.    min_HbA1C:='5';
  8.    max_HbA1C:='6.5';
  9.    inputquery('Minimum HbA1C','Min HbA1C',min_HbA1C);
  10.    inputquery('Maximum HbA1C','Max HbA1C',max_HbA1C);
  11.    zquery.sql.text:='delete from tempreport where id = "CUSTOM-Yindee" ';
  12.    zquery.execsql;
  13.    fcds.close;
  14.    fcds.datarequest('select * from tempreport where id = "CUSTOM-Yindee" ');
  15.    fcds.open;
  16.    fcds.insert;
  17.    fcds['id']:='CUSTOM-Yindee';
  18.    fcds['reportname']:='CUSTOM-Yindee';
  19.    fcds['name1']:=min_HbA1C;
  20.    fcds['name2']:=max_HbA1C;
  21.    fcds.post;
  22.       fcds.datarequest('select * from tempreport where id = "CUSTOM-Yindee" ');
  23.    applyupdate_fcds();
  24.    end;
  25.    end.
  26.  
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 14, 2011, 07:33:21 AM
cds.HOSxP_UpdateDelta;

อยู่ใน 3.54.5.14 แล้วครับ (อีก 10 นาที Download ใหม่นะครับ)
สุดยอดมากครับ ไม่ทราบว่ารวมถึง changecount,recordcount ก็สามารถใช้ได้ด้วยใช่ไหมครับ
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 14, 2011, 07:38:47 AM
วันนี้ว่างทั้งวัน ไม่ได้ไปไหน ขอทดสอบ Feature ขั้นเทพของ อ.mn ซะหน่อยแหล่ว ;D ;D ;D ;D
ขอบคุณ อ.mn มากๆๆครับ
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 14, 2011, 07:40:59 AM
แต่กำลังสงสัยต่อไปว่า แล้วผมจะเขียนให้มัน update field ที่ต้องการด้วยคำสังแบบนี้ได้หรือเปล่าครับ
fcds['id']:='CUSTOM-Yindee';
หรือเขียนแบบนี้
cds.fieldValues['name1']:=cds1.fieldValues['pttype'];
ตื่นเต้นครับ อย่างนี้มันต้องลอง..... ;D ;D ;D ;D ;D
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: nayok ที่ พฤษภาคม 14, 2011, 09:22:59 AM
โห  อ.นาจนี่สุดยอดจริงๆ หาอะไรมาเล่นอีกแล้ว
อย่างนี้ ต้องศึกษากันหน่อยและ อิอิอิ
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 14, 2011, 09:28:57 AM
โห  อ.นาจนี่สุดยอดจริงๆ หาอะไรมาเล่นอีกแล้ว
อย่างนี้ ต้องศึกษากันหน่อยและ อิอิอิ

ออกตัวก่อนนะครับ ผมไม่ได้หา แต่เพราะความใจดีของ อ.mn ที่จัดหนักมาให้ทดลองใช้ แต่ Nayok คงดีใจหลายที่ อ.mn เพิ่ม Sys_AN_Script ให้แล้วนะเด้อ.....
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 14, 2011, 09:48:48 AM
ยังใช้ cds.insert ไม่ได้ครับ อ.mn
หัวข้อ: Re: TClientdataset ใน Report Designer
เริ่มหัวข้อโดย: nayok ที่ พฤษภาคม 14, 2011, 09:50:45 AM
ดีใจมากเลยครับ กำลัง Download มาทดสอบอยู่ครับ  ;D ;D ;D