กระทู้เก่าบอร์ด อ.Yeadram
1,327 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 บางตัวไม่ให้ผลตามที่ควรจะเป็นครับ หรือผมจะเขียนผิด กรุณาแนะนำด้วยครับ
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
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
ลองอ่าน http://thai-access.com/yeadram_view.php?topic_id=3266
6 @R18088
ขอบคุณครับ
Time: 0.3308s
if me.newrecord and nz(me.textbox1,"") = "" then
me.textbox1 = right(dmax("ฟิลด์","เทเบิล"),6)
me.textbox1.setfocus
me.textbox1.selstart = 6
end if