BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: autobotz ที่ มีนาคม 14, 2012, 09:48:07 AM

หัวข้อ: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: autobotz ที่ มีนาคม 14, 2012, 09:48:07 AM
เดิมการแสดงผลของ memo เป็นรูปแบบ

aaa
bbb
ccc
ddd


แต่ถ้าผมต้องการให้ memo แสดงผลเป็นแบบ

aaa,bbb,ccc,ddd

ต้องทำอย่างไรครับ?
หัวข้อ: Re: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: pop_hosxp ที่ มีนาคม 14, 2012, 09:56:03 AM
ใช้ getsqlsubquerydata ครับ
หัวข้อ: Re: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: autobotz ที่ มีนาคม 14, 2012, 09:59:29 AM
ใช้ getsqlsubquerydata ครับ

ผมลองทำตามที่ ท่าน pop_hosxp เคยได้แนะนำไว้แล้วโดยใช้ variable กำหนด memo

memo1.lines.text:=GetSQLSubQueryData('select o.pmh from opdscreen o '+
      'left outer join referout r on r.vn = o.vn '+
      'where r.vn = "'+DBPipeline['vn']+'" and r.refer_number = "'+DBPipeline['refer_number']+'" ');

ตามนี้ มันก็ยังไม่แสดงผลตามที่ต้องการเลยครับ 
หัวข้อ: Re: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: pop_hosxp ที่ มีนาคม 14, 2012, 10:10:18 AM
ใช้ getsqlsubquerydata ครับ

ผมลองทำตามที่ ท่าน pop_hosxp เคยได้แนะนำไว้แล้วโดยใช้ variable กำหนด memo

memo1.lines.text:=GetSQLSubQueryData('select o.pmh from opdscreen o '+
      'left outer join referout r on r.vn = o.vn '+
      'where r.vn = "'+DBPipeline['vn']+'" and r.refer_number = "'+DBPipeline['refer_number']+'" ');

ตามนี้ มันก็ยังไม่แสดงผลตามที่ต้องการเลยครับ 

 จากคำสั่ง sql ที่ใช้ มันมี record เดียวหรือเปล่า
หัวข้อ: Re: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: pop_hosxp ที่ มีนาคม 14, 2012, 10:12:47 AM
ลองศึกษาจากที่นี่ครับ http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=15476.msg124142#msg124142
หัวข้อ: Re: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: Khuad ที่ มีนาคม 14, 2012, 10:56:33 AM

ผมลองทำตามที่ ท่าน pop_hosxp เคยได้แนะนำไว้แล้วโดยใช้ variable กำหนด memo

memo1.lines.text:=GetSQLSubQueryData('select o.pmh from opdscreen o '+ ..........


... ถ้าเป็น ข้อมูลของ pmh วิธีการแก้ไข ต้องไปแก้ไขที่สาเหตุจริงๆ คือ การบันทึกข้อมูลที่จุดคัดกรอง ครับ

    ซึ่งถ้าเราบันทึกโดยการใช้การพิมพ์ แล้ว enter จากนั้นก็พิมพ์ แล้ว enter ไปเรื่อยๆ  ข้อมูลหลังการ enter จะไปขึ้นเป็นบรรทัดใหม่ แถวใหม่ไปเรื่อยๆ  ข้อมูลที่ถูกเก็บไว้ก็จะเป็นลักษณะที่เป็นหลายแถวเช่นกันครับ

    พอดึงข้อมูลไปออกรายงาน รูปแบบข้อมูลมันก็เป็นไปตามข้อมูลที่ถูกบันทึกอยู่ในฐานข้อมูลนั่นแหล่ะครับ

    ดังนั้น ตอนบันทึกข้อมูล ก็ให้เปลี่ยนลักษณะการบันทึก
   โดยพิมพ์ หรือแก้ให้ข้อมูลเป็นแถวเดียวครับ ...  :D ...
หัวข้อ: Re: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: Khuad ที่ มีนาคม 14, 2012, 11:34:20 AM

... แต่ถ้าต้องการข้อมูลมาออกรายงาน แนวทางนี้เฉพาะข้อมูลที่เก็บในลักษณะเดียวกับ pmh นะครับ

   ก็ไม่ต้องใช้ Memo ในการแสดงผลที่รายงานครับ

   ให้ใช้เป็น Label ธรรมดา หรือใช้การวาง variable เพื่อดึงข้อมูลไปเลยก็ได้ครับ จะได้ข้อมูลเป็นแถวเดียว ...

   
... ลองทดสอบวาง variable แล้วใส่คำสั่งเป็น

     Value :=GetSQLStringData('select o.pmh from opdscreen o '+
      'left outer join referout r on r.vn = o.vn '+
      'where r.vn = "'+DBPipeline['vn']+'" and r.refer_number = "'+DBPipeline['refer_number']+'" ');


    ลองดูครับ ...  :D ...
หัวข้อ: Re: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: woravet ที่ มีนาคม 14, 2012, 12:28:11 PM
ใช้ฟังก์ชัน replace() ช่วยซิคับ
เช่น replace(opdscreen.cc,char(13,10),',')
ลองดูคับ
หัวข้อ: Re: สอบถามการปรับแต่ง memo
เริ่มหัวข้อโดย: autobotz ที่ มีนาคม 14, 2012, 14:13:52 PM
ขอบคุณทุก ๆ ท่านมากครับ   ;D