กระทู้เก่าบอร์ด อ.Yeadram
1,505 4
URL.หัวข้อ /
URL
รบกวนสอบถามเรื่อง ลูกกลิ้งที่เม้าส์
ืคือเวลาคีย์ข้อมูล แล้วมือไปกลิ้ง โดนลูกกลิ้งที่เม้าส์ทำให้ Record ข้อมูลมันเปลี่ยนไป พอจะมีคำสั่งไม่ให้ลูกกลิ้งทำงาน ขณะที่เปิดโปรแกรมเราหรือเปล่าครับ ขอบคุณครับ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R13811
ขอบคุณครับ ผมเข้าไปแล้วครับเขาให้สูตรนี้มา
Public Function DoMouseWheel(frm As Form, lngCount As Long) As Integer
On Error GoTo Err_Handler
'Purpose: Make the MouseWheel scroll in Form View in Access 2007.
' This code lets Access 2007 behave like older versions.
'Return: 1 if moved forward a record, -1 if moved back a record, 0 if not moved.
'Author: Allen Browne, February 2007.
'Usage: In the MouseWheel event procedure of the form:
' Call DoMouseWheel(Me, Count)
Dim strMsg As String
'Run this only in Access 2007 and later, and only in Form view.
If (Val(SysCmd(acSysCmdAccessVer)) >= 12#) And (frm.CurrentView = 1) And (lngCount <> 0&) Then
'Save any edits before moving record.
RunCommand acCmdSaveRecord
'Move back a record if Count is negative, otherwise forward.
RunCommand IIf(lngCount < 0&, acCmdRecordsGoToPrevious, acCmdRecordsGoToNext)
DoMouseWheel = Sgn(lngCount)
End If
Exit_Handler:
Exit Function
Err_Handler:
Select Case Err.Number
Case 2046& 'Can't move before first, after last, etc.
Beep
Case 3314&, 2101&, 2115& 'Can't save the current record.
strMsg = "Cannot scroll to another record, as this one can't be saved."
MsgBox strMsg, vbInformation, "Cannot scroll"
Case Else
strMsg = "Error " & Err.Number & ": " & Err.Description
MsgBox strMsg, vbInformation, "Cannot scroll"
End Select
Resume Exit_Handler
End Function
เวลาใช้งาน ก็เข้าไปที่ออกแบบฟอร์ม ใน Event หัวข้อ On Mouse Wheel เขียนคำสั่งนี้ใน VBA
'Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
Call DoMouseWheel(Me, Count)
'End Sub
แต่ผมใช้กับ 2003 แล้ว Record ยังคงเลื่อนอยู่ดีครับ ที่อ่านเหมือนว่าจะใช้กับ 2010
Public Function DoMouseWheel(frm As Form, lngCount As Long) As Integer
On Error GoTo Err_Handler
'Purpose: Make the MouseWheel scroll in Form View in Access 2007.
' This code lets Access 2007 behave like older versions.
'Return: 1 if moved forward a record, -1 if moved back a record, 0 if not moved.
'Author: Allen Browne, February 2007.
'Usage: In the MouseWheel event procedure of the form:
' Call DoMouseWheel(Me, Count)
Dim strMsg As String
'Run this only in Access 2007 and later, and only in Form view.
If (Val(SysCmd(acSysCmdAccessVer)) >= 12#) And (frm.CurrentView = 1) And (lngCount <> 0&) Then
'Save any edits before moving record.
RunCommand acCmdSaveRecord
'Move back a record if Count is negative, otherwise forward.
RunCommand IIf(lngCount < 0&, acCmdRecordsGoToPrevious, acCmdRecordsGoToNext)
DoMouseWheel = Sgn(lngCount)
End If
Exit_Handler:
Exit Function
Err_Handler:
Select Case Err.Number
Case 2046& 'Can't move before first, after last, etc.
Beep
Case 3314&, 2101&, 2115& 'Can't save the current record.
strMsg = "Cannot scroll to another record, as this one can't be saved."
MsgBox strMsg, vbInformation, "Cannot scroll"
Case Else
strMsg = "Error " & Err.Number & ": " & Err.Description
MsgBox strMsg, vbInformation, "Cannot scroll"
End Select
Resume Exit_Handler
End Function
เวลาใช้งาน ก็เข้าไปที่ออกแบบฟอร์ม ใน Event หัวข้อ On Mouse Wheel เขียนคำสั่งนี้ใน VBA
'Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
Call DoMouseWheel(Me, Count)
'End Sub
แต่ผมใช้กับ 2003 แล้ว Record ยังคงเลื่อนอยู่ดีครับ ที่อ่านเหมือนว่าจะใช้กับ 2010
3 @R13812
ยังไม่สามารถแก้ไขได้ครับ รบกวนใครที่แก้ปัญหานี้กับ 2003 รบกวนหน่อยครับขอบคุณครับ
4 @R13814
ทำได้แล้วครับผมไปที่ Link นี้ครับ
http://www.lebans.com/mousewheelonoff.htm
แล้วไปดาวน์โหลด์ ไฟล์ MouseWheelHookA2K.zip มาดูตัวอย่างครับ
หลักการของเขาคือเขาเขียน ไฟล์สกุล .dll ในการใช้งานควบคู่กัน แล้วเขียนคำสั่งที่ Modules แล้วใช้ปุ่มในการเรียกใช้คำสั่ง
แต่ผมดัดแปลงนิดหน่อย คือ Load From แล้ว Disable Mouse เลย
http://www.lebans.com/mousewheelonoff.htm
แล้วไปดาวน์โหลด์ ไฟล์ MouseWheelHookA2K.zip มาดูตัวอย่างครับ
หลักการของเขาคือเขาเขียน ไฟล์สกุล .dll ในการใช้งานควบคู่กัน แล้วเขียนคำสั่งที่ Modules แล้วใช้ปุ่มในการเรียกใช้คำสั่ง
แต่ผมดัดแปลงนิดหน่อย คือ Load From แล้ว Disable Mouse เลย
Time: 0.3064s
ผมไม่เคยใช้ แต่ลองค้นดูเห็นหลายลิงค์เลยครับ ลองค้นลองอ่านดูนะครับ