BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: kookkaija ที่ มิถุนายน 05, 2009, 09:30:22 AM

หัวข้อ: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: kookkaija ที่ มิถุนายน 05, 2009, 09:30:22 AM
รายงานเบาหวานประจำเดือนทำไมไม่ตรง รบกวนดูให้หน่อยครับ
ปกติ ในช่วงเวลา 1 เดือนจะมีคนเจาะเลือด ประมาณ400-500 คน แต่รายงานมีน้อยจังครับ หรือเราต้องลงคำอะไรหรือเปล่าที่ cc จะให้ตัวรายงานดึงข้อมูล  แบบว่า มาเจาะเลือดตรวจเบาหวาน
ขอบคุณมากครับ
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: kookkaija ที่ มิถุนายน 06, 2009, 13:13:12 PM
 :D ;Dมาเฝ้ารอคำชี้แนะครับ ;D :D
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: Terminator2015 ที่ มิถุนายน 06, 2009, 15:23:47 PM
 ;) ไม่ทราบว่า User ลงหัตการให้ทุกรายหรือเปล่าครับ
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: kookkaija ที่ มิถุนายน 07, 2009, 07:29:39 AM
คือรายงานตัวนี้โหลดมาจาก report borwse เห็นมีรายละเอียดดีมาก ก้เลยทดลองใช้ พอดีขึ้นระบบได้2เดือน

ยังไม่มีความรู้เรื่องรายงานเลยยังต้องอาศัย ช็อปปิ้งบน report borwse ไปก่อนครับ ตอนนี้ประคองให้ระบบนิ่งก่อน พอดีพยาบาลต้องการรายงานประจำเดือนด้วย

รายงานบางตัวก็ดีครับ ถูกใจ ตามความต้องการของผู้ใช้งานแต่ละงาน  ก็มีอันนี้ครับที่ยังงง งง อยู่ครับ ก็เลยรบกวนทุกท่าน ในบ้านนี้ช่วยแนะนำครับ ;D ;D
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: Terminator2015 ที่ มิถุนายน 07, 2009, 11:58:16 AM
 :-\ คาดว่าน่าจะยังไม่ได้ลงทะเบียนโรคเรื้อรังในคลีนิกพิเศษให้ครบทุกคนนะครับ ลองเช็คดูอีกรอบนะครับ
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: kookkaija ที่ มิถุนายน 07, 2009, 12:14:14 PM
อ้างถึง
คาดว่าน่าจะยังไม่ได้ลงทะเบียนโรคเรื้อรังในคลีนิกพิเศษให้ครบทุกคนนะครับ ลองเช็คดูอีกรอบนะครับ
ดูจากรายงานยอดผู้ลงทะเบียนมีแล้วครับ พันกว่าคน  แล้วเดือนที่ผ่านมา คนไข้ที่มีชื่อลงทะเบียน ก็มาเจาะเลือด เป็นจะนวน หลายร้อยคนครับ (ลงทะเบียนก่อนที่คนไข้จะมารับบริการครับ)
ยังงัยขอบคุณท่าน Terminator มากครับ
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: SrWooD ที่ มิถุนายน 07, 2009, 12:19:43 PM
post report ไว้ด้วยครับ พี่ไก่ เดี๋ยว อ.naj ตรวจสอบให้ครับ

 ;D ;D ;D
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: jdadmin1 ที่ มิถุนายน 07, 2009, 12:23:06 PM
 ;D ;D ;D ผมว่าน่าจะอยู่ที่ฟอร์มรายงานหรือเปล่า เงื่อนไขอาจจะไม่ถูกต้อง ลองส่งขึ้นมาดูครับหรือไม่ก็ใช้
ป๋านาจดูให้ ขาว สวย หมวย เซ็กซ์ ฟันเหล็กก็จัดให้ไปแล้วทำงานหน่อยนะครับป๋านาจ 555555 ;D ;D ;D
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: มนตรี บอยรักยุ้ยคนเดียว ที่ มิถุนายน 07, 2009, 13:11:32 PM
ขาว สวย หมวย เซ็กซ์ ฟันเหล็ก
ใครก็ชอบ ,น้องกิจจา ช่วย สาวๆหน่อย
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: Neo ที่ มิถุนายน 07, 2009, 22:23:06 PM
รายงานเบาหวานประจำเดือนทำไมไม่ตรง รบกวนดูให้หน่อยครับ
ปกติ ในช่วงเวลา 1 เดือนจะมีคนเจาะเลือด ประมาณ400-500 คน แต่รายงานมีน้อยจังครับ หรือเราต้องลงคำอะไรหรือเปล่าที่ cc จะให้ตัวรายงานดึงข้อมูล  แบบว่า มาเจาะเลือดตรวจเบาหวาน
ขอบคุณมากครับ

รายงานค่า FBS ส่วนมากผมเขียนชอบดึงจากตาราง OPDสกรีน / ไม่ก็จากตารางLab รหัสน้ำตาล ครับ แต่ถ้าจะให้แน่ใจต้องดู Code รายงานที่คุณใช้ดึงรายงานว่าเขาเขียนดึงจากตารางอะไร และที่สำครับเจ้าหน้าที่ที่รายงาน FBS ได้บันทึกข้อมูลในตาราง OPDสกรีน หรือเปล่าครับ ถ้าไม่ลงก็จบกัน
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: kookkaija ที่ มิถุนายน 08, 2009, 07:05:47 AM
 ;D :D รบกวนด้วยครับ
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: doramon ที่ มิถุนายน 08, 2009, 08:07:08 AM
ต้องตรวจสอบที่ sql ที่ใช้เขียนครับ

หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: Neo ที่ มิถุนายน 08, 2009, 08:13:31 AM
   // Old pt has blood fbs check 
   i1:=getsqldata('select count(o.hn) as cc from opdscreen o,ovst v where o.vn=v.vn and v.hn in (select hn from clinicmember '+
      ' where clinic="'+clinic+'"  ) and v.vstdate between "'+ds1+'" and "'+ds2+'"  and o.fbs>0 and v.hn not in (select hn from clinicmember '+
      ' where clinic="'+clinic+'" and regdate between "'+ds1+'" and "'+ds2+'" and new_case="Y")  ');
 
   InsertRecordx('6.0 ผู้ป่วยเบาหวานที่ได้รับการเจาะเลือด',i1,0);

จากรายงานเห็นได้ว่าข้อมูลดึงมาจาก OPDscreen ครับ และผมคิดว่ารายงานตัวเป็นของ อ.นาจ เป็นคนเขียน 60 % ดูจากสไตร์การเขียน ที่ข้อมูลไม่ครบหรือคาดเคลือนมาจากคนที่ทำคลินิกไม่บันทึนข้อมูล FBS ในหน้าซักประวัติ ตามรูป 1 หรือไม่ก็ทำ Lab Link ตามรูปที่ 2
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: doramon ที่ มิถุนายน 08, 2009, 08:21:16 AM
unit MyIPDReport;
var d1,d2:tdatetime;
rc:integer;

function getsqlsubquerydatax(sql:string):string;
begin
  result:='';
  zquery.close;
  zquery.sql.text:=sql;
  zquery.open;
  zquery.first;
    while not zquery.eof do
    begin
       if result='' then result:=''''+zquery.fields[0].asstring+'''' else
       result:=result+','''+zquery.fields[0].asstring+'''';

       zquery.next;
    end;
  zquery.close;
    if result='' then result:='''''';

end;

procedure InsertRecordx(name1:string;n1,n2:integer);
begin
   setstatuslabel(name1);
   rc:=rc+1;
   fcds.close;
   fcds.datarequest('select * from tempreport where id = "CUSTOM-CHRONIC1" limit 0 ');
   fcds.open;
   fcds.insert;
   fcds['id']:='CUSTOM-CHRONIC1';
   fcds['reportname']:='CUSTOM-CHRONIC1';
 
   fcds['name1']:=name1;
   fcds['num']:=rc;
   fcds['num1']:=n1;
   fcds['num2']:=n2;

   
   fcds['date1']:=d1;
   fcds['date2']:=d2;
   

   fcds.post;
   
   fcds.datarequest('select * from tempreport where id = "CUSTOM-CHRONIC1" limit 0 ');
   applyupdate_fcds();


end;


procedure main;
var
people_distinct_count1 : integer;
people_count1 : integer;
ds1,ds2:string;
pttype_list1 : string;
pttype,pttype_name:string;
hospcode_list:string;
money1:currency;
i:integer;
clinic:string;

i1,i2:integer;

begin
   //showmessage('à¡ÕèÂǡѺÃÒ§ҹ'+#13+'Custom OPD-NK2');

   clinic:='';
   clinic:= vartostr(getsqldata('select sys_value from sys_var where sys_name="dm_clinic_code"'));
   if clinic='' then raise exception.create('Invalid dm clinic code');
   
   rc:=0;

   if not getdaterange() then exit;
   d1:=date_result1();
   d2:=date_result2();

  // showmessage(formatdatetime('yyyy-mm-dd',d1)+' - '+
   //  formatdatetime('yyyy-mm-dd',d2));

   ds1:=formatdatetime('yyyy-mm-dd',d1);
   ds2:=formatdatetime('yyyy-mm-dd',d2);




   zquery.sql.text:='delete from tempreport where id = ''CUSTOM-CHRONIC1'' ';
   zquery.execsql;
   

 

   i1:=getsqldata('select count(*) as cc from clinicmember where regdate between "'+ds1+'" and "'+ds2+'" '+
      ' and new_case="Y" and clinic="'+clinic+'"');
 
   InsertRecordx('2.1 ¼Ùé»èÇ·Õèä´éÃѺ¡ÒÃÇÔ¹Ô¨©ÑÂâ´Âá¾·Âì·Õè¢Öé¹·ÐàºÕ¹ãËÁè·Ñé§ËÁ´',i1,0);

   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn not in (select hn from patient where deathday is not null) and clinic="'+clinic+'"');
     
   InsertRecordx('2.2 ¼Ùé»èÇ·Õè¢Öé¹·ÐàºÕ¹·Ñé§ËÁ´',i1,0);
   
   // IDDM 
   i1:=getsqldata('select count(hn) as cc from clinicmember '+
      ' where clinic="'+clinic+'" and subtype=1   and hn not in (select hn from patient where deathday is not null)');
   
   InsertRecordx('3.1 ¨Ó¹Ç¹¼Ùé»èÇ·Õè¾Öè§ÍÔ¹«ÙÅÔ¹',i1,0);   
   
   // NIDDM 
   i1:=getsqldata('select count(hn) as cc from clinicmember '+
      ' where clinic="'+clinic+'" and (subtype=2 or subtype is NULL or subtype=0 )   and hn not in (select hn from patient where deathday is not null) ');
   
   InsertRecordx('3.2 ¨Ó¹Ç¹¼Ùé»èÇ·ÕèäÁè¾Öè§ÍÔ¹«ÙÅÔ¹',i1,0); 
   
   
   
   // Visit 
   i1:=getsqldata('select count(distinct hn) as cc from ovst where hn in (select hn from clinicmember '+
      ' where clinic="'+clinic+'" ) and vstdate between "'+ds1+'" and "'+ds2+'"  ');
   i2:=getsqldata('select count(hn) as cc from ovst where hn in (select hn from clinicmember '+
      ' where clinic="'+clinic+'" ) and vstdate between "'+ds1+'" and "'+ds2+'"  ');   
   
   InsertRecordx('4.0 ¼Ùé»èÇÂàºÒËÇÒ¹·ÕèÁÒÃѺºÃÔ¡ÒÃã¹Ê¶Ò¹ºÃÔ¡ÒÃÊÒ¸ÒÃ³ÊØ¢',i1,i2);   
   
   // Old pt has blood fbs check 
   i1:=getsqldata('select count(o.hn) as cc from opdscreen o,ovst v where o.vn=v.vn and v.hn in (select hn from clinicmember '+
      ' where clinic="'+clinic+'"  ) and v.vstdate between "'+ds1+'" and "'+ds2+'"  and o.fbs>0 and v.hn not in (select hn from clinicmember '+
      ' where clinic="'+clinic+'" and regdate between "'+ds1+'" and "'+ds2+'" and new_case="Y")  ');
 
   InsertRecordx('6.0 ¼Ùé»èÇÂàºÒËÇÒ¹·Õèä´éÃѺ¡ÒÃà¨ÒÐàÅ×Í´',i1,0);
   
   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn not in (select hn from patient where deathday is not null) and clinic="'+clinic+'" and '+
      ' hn in (select hn from clinic_cormobidity_list where clinic="'+clinic+'" and cormobidity=1) ');
     
   InsertRecordx('8.1 ¨Ó¹Ç¹¼Ùé»èÇ·ÕèÁÕÀÒÇÐá·Ã¡«é͹·Ò§µÒ',i1,0);
   
   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn not in (select hn from patient where deathday is not null) and clinic="'+clinic+'" and '+
      ' hn in (select hn from clinic_cormobidity_list where clinic="'+clinic+'" and cormobidity=2) ');
     
   InsertRecordx('8.2 ¨Ó¹Ç¹¼Ùé»èÇ·ÕèÁÕÀÒÇÐá·Ã¡«é͹·Ò§äµ',i1,0);
   
   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn not in (select hn from patient where deathday is not null) and clinic="'+clinic+'" and '+
      ' hn in (select hn from clinic_cormobidity_list where clinic="'+clinic+'" and cormobidity=3) ');
     
   InsertRecordx('8.3 ¨Ó¹Ç¹¼Ùé»èÇ·ÕèÁÕÀÒÇÐá·Ã¡«é͹·Ò§Ãкº»ÃÐÊÒ·',i1,0);
   
   
   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn not in (select hn from patient where deathday is not null) and clinic="'+clinic+'" and '+
      ' hn in (select hn from clinic_cormobidity_list where clinic="'+clinic+'" and cormobidity=4) ');
     
   InsertRecordx('8.4 ¨Ó¹Ç¹¼Ùé»èÇ·ÕèÁÕÀÒÇÐá·Ã¡«é͹·Ò§ËÅÍ´àÅ×Í´á´§',i1,0);
   
   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn not in (select hn from patient where deathday is not null) and clinic="'+clinic+'" and '+
      ' hn in (select hn from clinic_cormobidity_list where clinic="'+clinic+'" and cormobidity=5) ');
     
   InsertRecordx('8.5 ¨Ó¹Ç¹¼Ùé»èÇ·ÕèÁÕÀÒÇÐá·Ã¡«é͹·Ò§µÑ´ÍÇÑÂÇÐ',i1,0);
   
   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn not in (select hn from patient where deathday is not null) and clinic="'+clinic+'" and '+
      ' hn in (select hn from clinic_cormobidity_list where clinic="'+clinic+'" and cormobidity=6) ');
     
   InsertRecordx('8.6 ¨Ó¹Ç¹¼Ùé»èÇ·ÕèÁÕÀÒÇÐá·Ã¡«é͹·Ò§ÁÒ¡¡ÇèÒ˹Öè§ÍÂèÒ§',i1,0);
   
   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn not in (select hn from patient where deathday is not null) and clinic="'+clinic+'" and '+
      ' hn in (select hn from clinic_cormobidity_list where clinic="'+clinic+'" and cormobidity=7) ');
     
   InsertRecordx('8.7 ¨Ó¹Ç¹¼Ùé»èÇ·ÕèÁÕÀÒÇÐá·Ã¡«é͹·Ò§Í×è¹æ',i1,0);
   
   i1:=getsqldata('select count(*) as cc from clinicmember where  '+
      '  hn in (select hn from patient where deathday between "'+ds1+'" and "'+ds2+'" ) and clinic="'+clinic+'"');
     
   InsertRecordx('9.0 ¼Ùé»èÇÂàºÒËÇÒ¹ã¹à¢µÃѺ¼Ô´ªÍº·ÕèàÊÕªÕÇÔµ',i1,0);
   
   

   
   setstatuslabel('done.');
end;

end.
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: kookkaija ที่ มิถุนายน 08, 2009, 11:46:20 AM
อ้างถึง
รายงานค่า FBS ส่วนมากผมเขียนชอบดึงจากตาราง OPDสกรีน /
ขอบคุณท่าน neo มากครับ ผมลองลงผลย้อนหลัง จากตารางที่ opd สกรีน เริ่มมีความหวังครับ ยอดเริ่มขึ้นแล้วครับ
ขอบคุณทุกท่านที่ช่วยแนะนำครับ
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: naj ที่ มิถุนายน 08, 2009, 14:23:39 PM
   // Old pt has blood fbs check 
   i1:=getsqldata('select count(o.hn) as cc from opdscreen o,ovst v where o.vn=v.vn and v.hn in (select hn from clinicmember '+
      ' where clinic="'+clinic+'"  ) and v.vstdate between "'+ds1+'" and "'+ds2+'"  and o.fbs>0 and v.hn not in (select hn from clinicmember '+
      ' where clinic="'+clinic+'" and regdate between "'+ds1+'" and "'+ds2+'" and new_case="Y")  ');
 
   InsertRecordx('6.0 ผู้ป่วยเบาหวานที่ได้รับการเจาะเลือด',i1,0);

จากรายงานเห็นได้ว่าข้อมูลดึงมาจาก OPDscreen ครับ และผมคิดว่ารายงานตัวเป็นของ อ.นาจ เป็นคนเขียน 60 % ดูจากสไตร์การเขียน ที่ข้อมูลไม่ครบหรือคาดเคลือนมาจากคนที่ทำคลินิกไม่บันทึนข้อมูล FBS ในหน้าซักประวัติ ตามรูป 1 หรือไม่ก็ทำ Lab Link ตามรูปที่ 2
อะไรจะขนาดนั้นครับ Neo รู้ขนาด Style การเขียน   ;) ;) ;) ;) ;) ;) ;) ;)  จริงๆก็อยากทราบเหมือนกันว่า Style การเขียนเป็นยังงัย เพราะเท่าที่ผมเขียนรายงานมาก็ประเภทมวยวัด ถนัดแต่ Copy ของ อ.M์์N เอาปรับใช้ครับ แต่ก็ให้กำลังใจ ป๋าไก่ Admin รพ.ดอนตูม
สู้ต่อไป ทาเคชิ  ;D ;D ;D
จั๋งซี้มันต้องถอน ;D ;D ;D ;D
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: doramon ที่ มิถุนายน 08, 2009, 16:06:04 PM
อ้างถึง
รายงานค่า FBS ส่วนมากผมเขียนชอบดึงจากตาราง OPDสกรีน /
ขอบคุณท่าน neo มากครับ ผมลองลงผลย้อนหลัง จากตารางที่ opd สกรีน เริ่มมีความหวังครับ ยอดเริ่มขึ้นแล้วครับ
ขอบคุณทุกท่านที่ช่วยแนะนำครับ

ไม่ทราบว่าใช้ระบบ lab หรือยังครับ

ลงผม FBS ที่ห้องแลบ

หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: Neo ที่ มิถุนายน 08, 2009, 16:58:07 PM
   // Old pt has blood fbs check 
   i1:=getsqldata('select count(o.hn) as cc from opdscreen o,ovst v where o.vn=v.vn and v.hn in (select hn from clinicmember '+
      ' where clinic="'+clinic+'"  ) and v.vstdate between "'+ds1+'" and "'+ds2+'"  and o.fbs>0 and v.hn not in (select hn from clinicmember '+
      ' where clinic="'+clinic+'" and regdate between "'+ds1+'" and "'+ds2+'" and new_case="Y")  ');
 
   InsertRecordx('6.0 ผู้ป่วยเบาหวานที่ได้รับการเจาะเลือด',i1,0);

จากรายงานเห็นได้ว่าข้อมูลดึงมาจาก OPDscreen ครับ และผมคิดว่ารายงานตัวเป็นของ อ.นาจ เป็นคนเขียน 60 % ดูจากสไตร์การเขียน ที่ข้อมูลไม่ครบหรือคาดเคลือนมาจากคนที่ทำคลินิกไม่บันทึนข้อมูล FBS ในหน้าซักประวัติ ตามรูป 1 หรือไม่ก็ทำ Lab Link ตามรูปที่ 2
อะไรจะขนาดนั้นครับ Neo รู้ขนาด Style การเขียน   ;) ;) ;) ;) ;) ;) ;) ;)  จริงๆก็อยากทราบเหมือนกันว่า Style การเขียนเป็นยังงัย เพราะที่ผมเขียนรายงานมาก็ประเภทมวดวัด ถนัดแต่ Copy ของ อ.M์์N เอาปรับใช้ครับ แต่ก็ให้กำลังใจ ป๋าไก่ Admin รพ.ดอนตูม
สู้ต่อไป ทาเคชิ  ;D ;D ;D
จั๋งซี้มันต้องถอน ;D ;D ;D ;D

ที่กล่าวอย่างนั้นเพราะ ผมเห็นอ.นาจ ชอบเขียนคำสั่งเก็บไว้ที่ scrip ปาสคาล   ;D ;D ;D
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: kookkaija ที่ มิถุนายน 09, 2009, 07:39:52 AM
ตอนนี้ ตรวจสอบไปที่ lab ling ปรากฎว่า ห้องlab ทำ form lab ที่มี ค่า FBS ซ้ำกันจำนวน 4 ฟอร์ม
ทั้ง 4 ฟอร์มก็ต้องใช้งาน ช่วยแนะนำวิธการแก้ไข ตามลำดับด้วยครับ ขอบคุณครับ ;D :D
หัวข้อ: Re: รายงานเบาหวานประจำเดือนทำไมไม่ตรง
เริ่มหัวข้อโดย: Neo ที่ มิถุนายน 09, 2009, 07:47:09 AM
สร้างฟอร์มสั่ง lab ใหม่ใช้เจ้าหน้าที่คลินิกใชเฉพาะในคลินิกเบาหวานครับ หรือไม่ก็ให้เจ้าหน้าทีเลือกใช้ฟอร์มใดฟอร์มหนึ่ง