การใช้ Sendkeys
กระทู้เก่าบอร์ด อ.Yeadram

 1,275   6
URL.หัวข้อ / URL
การใช้ Sendkeys

ผมมี Text box 1 ตัวให้ User กรอกข้อมูลเป็นตัวเลข 8 หลักซึ่งแทนเลขที่ใบเสร็จซึ่งถูกพิมพ์แบบ Run number มาจากโรงพิมพ์หลังจากคีย์เลขครบ 8 หลักแล้วทำการ Save และขึ้น Record ใหม่ ต้องการให้ On enter ที่ Text box ดังกล่าว
1.ทำการนำ Record ล่าสุดมากรอกให้อัตโนมัติ
2.หลังจากได้ตามข้อ 1 ให้ทำการลบ Digit ที่ 7และ8 ออก

ตอนนี้ผมใช้ Sendkeys 3 ตัวแต่ปัญหาคือถ้าเขียน Sendkeys โดยไม่ใช้ DoEvent ตามที่ดูจาก Web Microsoft มันจะทำให้ Numlock โดน Off ในบางครั้งซึ่งหากบังเอิญกดเลข 3 ในขณะที่ Numlock Off มันจะกลายเป็น Page down ทำให้ Form ที่ใช้ Control Page break เลื่อนลงไปล่างสุดครับ แต่พอใช้ DoEvent ตามคำแนะนำ มันทำให้คำสั่ง Sendkeys บางตัวไม่ให้ผลตามที่ควรจะเป็นครับ หรือผมจะเขียนผิด กรุณาแนะนำด้วยครับ


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

1 @R18080
ใน On Enter event procedure ของ textbox1
if me.newrecord and nz(me.textbox1,"") = "" then
   me.textbox1 = right(dmax("ฟิลด์","เทเบิล"),6)
   me.textbox1.setfocus
   me.textbox1.selstart = 6
end if
2 @R18081
หมายเหตุ : ไม่แน่ใจว่าบรรทัด .setfocus จำเป็นหรือไม่ เพราะมันเป็น event ที่เกิดใน textbox1 เอง   ลองไม่ใส่ดู ถ้าไม่ error ก็ถือว่าใช้ได้ครับ
3 @R18084
ขอบคุณครับอาจารย์สันติสุขจะได้ปิดโปรเจ็คซักทีครับ
4 @R18086
ถ้าต้องการโชว์เร็คคอร์ดล่าสุดผมใช้ Dlast แทนได้หรือไม่ครับอาจารย์สันติสุข
5 @R18087
ถ้าเรคอร์ดสุดท้ายที่เพิ่งป้อน จะหามาได้จากเลขที่เอกสารที่มีค่ามากที่สุด ก็ใช้ DMax ของเลขที่เอกสาร ถ้าไม่มี ก็ควรสร้างฟิลด์ที่บันทึกวันเวลาที่ป้อน/แก้ไขครั้งล่าสุด แล้วใช้ DMax หาตามวันเวลานั้น

ลองอ่าน http://thai-access.com/yeadram_view.php?topic_id=3266
6 @R18088
ขอบคุณครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2008s