สอบถาม เรื่องการทำให้ ฟอร์ม โชว์ การทำงาน เป็น เปอ
กระทู้เก่าบอร์ด อ.Yeadram

 1,263   4
URL.หัวข้อ / URL
สอบถาม เรื่องการทำให้ ฟอร์ม โชว์ การทำงาน เป็น เปอ

คือ เนื่องงาน มีปุ่มกด ให้ทำงาน 1 ปุ่ม
ใน ปุ่มนั้น ทำขั้นตอน ของการ Add New Record ที่ได้จากการคำนวน ในอีก Table หนึ่ง

USER ต้องรอประมาณ 2 - 5 นาที

ความต้องการ คือ ต้องการบอกให้ USER รู้ว่า ทำไปแค่ไหนแล้ว

เช่น   ทำเสร็จไปแล้ว 10 %
หรือ เป็น ลักษณะ เป็น แถบวิ่ง ก็ได้
หรือ อะไรก็ได้ ให้รู้ว่า ทำเสร็จไปแค่ไหนแล้ว เครื่องไม่แฮงค์ ครับ

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R11767
ปกติผมใช้การแสดงแถบความคืบหน้าในการทำงาน (Progress Meter) บน Status Bar เป็นตัวบอกให้ผู้ใช้รู้ มี 3 คำสั่งที่เกี่ยวข้องคือ

1) คำสั่งเพื่อบอกระบบว่า ข้อความคืออะไร และสเกลทั้งหมดเป็นเท่าไหร่

SysCmd acSysCmdInitMeter, "ข้อความที่แสดง", สเกลสูงสุดของ Progress Bar

2) คำสั่งเพื่ออัพเดตสเกล

SysCmd acSysCmdUpdateMeter, สเกลปัจจุบัน

3) คำสั่งเพื่อเลิกแสดง Progress Bar

SysCmd acSysCmdSetStatus, " "

ถ้า argument ที่ 2 เปลี่ยนจาก " " เป็นข้อความ ข้อความนั้นจะแสดงแทนข้อความเดิม และคำสั่งนี้จะลบแถบ Progress Bar ทิ้งไปด้วย

คุณต้องเขียนลูปเพื่อทำการเพิ่มเรคอร์ดและปรับปรุงสเกลเอาเองครับ คำสั่งนี้ไม่ได้หมายความว่ามันจะอัพเดตสเกลให้คุณโดยอัตโนมัติครับ

2 @R11768
ขอบคุณ อ.สันติสุขมากครับ

จาก ที่ อาจารย์ สอน
ผมได้ทำ ตามนี้ครับ

1. สร้างตัวแปร
Dim ReturnValue As Variant

2. กำหนด เก ให้ เท่ากับ 100
ReturnValue = SysCmd(acSysCmdInitMeter, "Processing ", 100)

3. ทำให้ เป็น เปอร์เซนต์
For StartLoop = 0 To (TotalRecord - 1)
      ReturnValue = SysCmd(acSysCmdUpdateMeter, ((StartLoop) / TotalRecord) * 100)

Next StartLoop

4. เคลียร์
ReturnValue = SysCmd(acSysCmdRemoveMeter)


ต้องขอขอบคุณ อาจารย์มาก ที่ทำให้ บรรลุ วัตถุประสงค์ ครับ
3 @R11769
ถึงคุณTeerapat ครับ

เราจะฝังคำสั่งไว้ตรงไหนครับ และวิธีการใช้ ผมสนใจอยากจะทำบ้างครับ
4 @R11770
เราไม่จำเป็นต้องคำนวนเป็น % ให้เขานะครับ กำหนดค่าสเกลสูงสุดเป็น TotalRecord และค่าที่อัพเดตก็เป็นค่า StartLoop ไปเลย อีกอย่างที่อยากแนะนำคือ ในลูปให้ใส่คำสั่ง DoEvents เพื่อปล่อยให้ CPU สามารถทำงานอื่น รวมถึงงานอื่นของตัว Access เองที่นอกเหนือไปจากโค้ดที่กำลังทำงานอยู่ด้วย จะทำให้หน้าจอดูทำงานได้ลื่นไหลขึ้น
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2751s