127
ห้อง MS Access / : คลิ๊กปุ่มแล้วไปเลือกไฟล์ เมื่อเลือกแล้ว ให้นำเข้าข้อมูลเข้ามา
« เมื่อ: 27 ก.พ. 63 , 16:28:08 »
ได้แล้วครับ ขอบพระคุณมากครับอาจารย์
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
ลองคำสั่งแบบ API ดูไม๊ครับ เผื่อช่วยได้ขอบคุณครับอาจารย์ เดี๋ยวขะลองทำดูครับ
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
การใช้งานแทน Sendkey
keybd_event &HD, 0, 0, 0
keybd_event &HD, 0, &H2, 0
จะเป็นการส่งคีย์ ENTER
ลองแบบนี้ดูนะครับคือผม Copy Forms เค้ามาอะครับ แล้ววิธีการก็ อ่านแล้วไม่เข้าใจ
1.สร้าง Subprocedure ให้ทำงานตามต้องการ
2.สร้าง Function() เรียกการทำงาน Call Subprocedure
3.สร้าง Macro เรียกการทำงานของ Function (ก่อนเรียก Function ให้ GotoControl เพื่อไป Focus)
4.ที่ Event On_Focus ของ Control เรียกการทำงานของ Macro (Docmd.RunMacro)
คือพยายามเลี่ยง SendKeys ผมเคยลองใช้วิธีนี้ได้ผลครับ มันไม่กด Numlock
หรือถ้ามีวิธีอื่น รอท่านอื่นๆมาตอบครับ
ลองแล้ว ผลออกมาเช่น เดียวกับ การ Call ไปที่ On Click ครับ
ใช้ Event Enter ของปุ่มช่วยก็ได้ครับเช่น
สมมุติปุ่มชื่อ ShowMap
Private Sub ShowMap_Enter()
คำสั่งแสดงแผนที หรือคำสั่งที่ต้องการ
End Sub
ที่ปุ่มที่ต้องการกดก็สั่ง
Private Sub Command1_Click()
Call ShowMap_Enter
End Sub
ถ้าจะทำเงื่อนไขต่อไปเลยแบบไม่ต้องกดปุ่มอื่นๆ ก็ใช้
Call ShowMap_Enter
ได้เลยซึ่งเป็นการประยุกต์ใช้คำสั่งแทนการกด Enter เองได้เลย แบบนี้ทำให้ SendKey ไม่ต้องใช้อีก และไม่ต้องสั่ง setfocus ด้วย
หรือถ้าท่านสั่ง Setfocus ปุ่มShowMap Event Enter ก็จะทำงานทันทีเช่นกันคับ โดยไม่ต้อง Call อีก
หาว่า error เพราะอะไรและแก้ไขที่จุดนั้น จะเป็นสิ่งที่ถูกกว่าเลี่ยงมาใช้ Sendkeys ครับ ส่วนอาการ NumLock เท่าที่เคยได้ยิน เป็นบักของ VBA ครับ แก้ไขไม่ได้ แต่สั่ง Sendkeys "{NUMLOCK}", True ไปอีกทีเพื่อให้กลับสถานะเดิมพอจะกล้อมแกล้มไปได้ แต่ได้ผล 100% ไหม อันนี้ไม่ทราบครับ
จะทำอะไรเหรอครับ แล้ว Sendkeys ไม่ตอบโจทย์ยังไงปัญหาเดิมครับอาจารย์ มันกด Numlock เอง
ที่เคยใช้คือ เอาไฟล์ฝากไว้ใน One Drive แล้วใช้ได้ไม่มีปัญหานะครับเจอข้อจำกัดอะไรมั่งยังครับ เช่น ฐานที่มีขนาดใหญ่ หรือการใช้ร่วมกันหลายๆ คน
อ่านแล้ว งง คำถาม แต่ งง ไปอีก ทำไมอาจารย์เก่งจัง
เดาได้ด้วยว่าเค้าถามอะไร
พูดแล้วผมเองก็อยากรู้เลยว่าคำถามไหน ยังพอจำโพสนั้นได้ไหมครับ