กระทู้เก่าบอร์ด อ.Yeadram
1,108 8
URL.หัวข้อ /
URL
รบกวนดู code ให้หน่อยค่ะ
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyF5
Call Command56_Click
Case vbKeyF3
DoCmd.Close
Case vbKeyShift + vbKeyF6
Me.ÃËÑʺѪÕ.Value = "111110"
End Select
End Sub
ทำไมกดแค่ shift แล้วมันขึ้นให้เลยค่ะ ความจริงต้องกด shift+f6 ถึงจะขึ้น เขียนผิดหรือเปล่าค่ะ รบกวนด้วยค่ะ
Select Case KeyCode
Case vbKeyF5
Call Command56_Click
Case vbKeyF3
DoCmd.Close
Case vbKeyShift + vbKeyF6
Me.ÃËÑʺѪÕ.Value = "111110"
End Select
End Sub
ทำไมกดแค่ shift แล้วมันขึ้นให้เลยค่ะ ความจริงต้องกด shift+f6 ถึงจะขึ้น เขียนผิดหรือเปล่าค่ะ รบกวนด้วยค่ะ
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R02877
ทำแล้วไม่ขึ้นอะไรเลยค่ะ
3 @R02878
Select Case KeyCode
Case vbKeyF5
Call Command56_Click
Case vbKeyF3
DoCmd.Close
Case vbKeyF6
if Shift =1 then Me.ÃËÑʺѪÕ.Value = "111110"
End Select
.. ในการตรวจสอบเงื่อนไขของ select case ตัวนี้ คุณสั่งให้มันตรวจสอบเฉพาะ ค่าของอาร์กิวเมนต์ keycode เท่านั้น .... สังเกตุจากบรรทัดบนสุดของ select
Select Case KeyCode
ดังนั้น ไม่มีโอกาสหรอกครับที่มันจะได้เคสที่ 3 อย่างที่คุณเขียน เพราะมันไม่มีหน้าที่ ไม่มีอำนาจ ไม่มีสิทธิ์ที่จะตรวจ อาร์กิวเมนต์ shift
Case vbKeyF5
Call Command56_Click
Case vbKeyF3
DoCmd.Close
Case vbKeyF6
if Shift =1 then Me.ÃËÑʺѪÕ.Value = "111110"
End Select
.. ในการตรวจสอบเงื่อนไขของ select case ตัวนี้ คุณสั่งให้มันตรวจสอบเฉพาะ ค่าของอาร์กิวเมนต์ keycode เท่านั้น .... สังเกตุจากบรรทัดบนสุดของ select
Select Case KeyCode
ดังนั้น ไม่มีโอกาสหรอกครับที่มันจะได้เคสที่ 3 อย่างที่คุณเขียน เพราะมันไม่มีหน้าที่ ไม่มีอำนาจ ไม่มีสิทธิ์ที่จะตรวจ อาร์กิวเมนต์ shift
4 @R02880
ขอบคุณค่ะ แล้วถ้าเป็น Control ล่ะค่ะ
เช่น กด Ctrl+f6 ต้องเขียนยังไงค่ะ รบกวนอีกทีค่ะ
เช่น กด Ctrl+f6 ต้องเขียนยังไงค่ะ รบกวนอีกทีค่ะ
5 @R02885
ค่าของ อากิวร์เมนต์ shift ครับ
ผมก็ไม่ค่อยแม่นเท่าไหร่
คือถ้ามันเป็น 0 หรือไม่มีค่า หมายถึงไม่ได้กด ครับ
ถ้าเป็น 1 แสดงว่า กด.....(Shift หรือ ctl หรือ alt)
ถ้าเป็น 2 แสดงว่า กด .....(Shift หรือ ctl หรือ alt)
ถ้าเป็น 3 แสดงว่า กด .....(Shift หรือ ctl หรือ alt)
เพราะฉะนั้น เราก็ใช้ if ได้เหมือนเดิมครับ
ไม่แม่นครับ จำไม่ได้ว่า ค่าเท่าไหร่เป็นของปุ่มอะไรครับ ที่ผมลองเขียนไปใน reply ก่อนนี้ นั่นคือ ดูมาจาก คำตอบของคุณ gaka ครับ ลองเปิด help ดูเพิ่มเติมนะครับ หรือไม่ก็ลองๆ ทดสอบหาเอาครับ หรืออาจจะมีท่านอื่นๆ มาช่วยตอบก็ได้ครับ
ผมก็ไม่ค่อยแม่นเท่าไหร่
คือถ้ามันเป็น 0 หรือไม่มีค่า หมายถึงไม่ได้กด ครับ
ถ้าเป็น 1 แสดงว่า กด.....(Shift หรือ ctl หรือ alt)
ถ้าเป็น 2 แสดงว่า กด .....(Shift หรือ ctl หรือ alt)
ถ้าเป็น 3 แสดงว่า กด .....(Shift หรือ ctl หรือ alt)
เพราะฉะนั้น เราก็ใช้ if ได้เหมือนเดิมครับ
ไม่แม่นครับ จำไม่ได้ว่า ค่าเท่าไหร่เป็นของปุ่มอะไรครับ ที่ผมลองเขียนไปใน reply ก่อนนี้ นั่นคือ ดูมาจาก คำตอบของคุณ gaka ครับ ลองเปิด help ดูเพิ่มเติมนะครับ หรือไม่ก็ลองๆ ทดสอบหาเอาครับ หรืออาจจะมีท่านอื่นๆ มาช่วยตอบก็ได้ครับ
6 @R02886
ขอบคุณค่ะ
7 @R02891
ลอง
[code]Private Sub Command0_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode & "|" & Shift
End Sub[/code]
[code]Private Sub Command0_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode & "|" & Shift
End Sub[/code]
8 @R02892
Key Down ต้ัองใช้กับปุ่ม หรือเปล่า ใช้กับฟอร์มยังไม่เคยเจอ
Time: 0.3383s
if shift = 1 then
Select Case KeyCode
Case vbKeyF5
Call Command56_Click
Case vbKeyF3
DoCmd.Close
Case vbKeyShift + vbKeyF6
Me.ÃËÑʺѪÕ.Value = "111110"
End Select
END IF
End Sub