send keys f9 นั้น มันใช้ทำงานอะไรเหรอครับ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

25 มิ.ย. 61 , 10:30:30
อ่าน 699 ครั้ง

ekarat

  • สมาชิกไท.Access
  • กระทู้: 16

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

เวลา เอามารันบน access 2016 นั้น มันไม่สามารถใช้งานได้ ใช่เปล่า มันต้องเปลี่ยนเป็นคำสั่ง vba code ใช่มั้ยครับ ผมอยากรู้ว่า  sendkey f9 นั้น ใช้ทำงานอะไรครับ ถ้าผมจะเอามาเขียนเป็น vba code นั้น ต้องเขียนว่า อะไรครับ :dizzy:

 

25 มิ.ย. 61 , 12:06:16
ตอบกลับ #1

ปิ่นณรงค์

: send keys f9 นั้น มันใช้ทำงานอะไรเหรอครับ
« ตอบกลับ #1 เมื่อ: 25 มิ.ย. 61 , 12:06:16 »
เวลา เอามารันบน access 2016 นั้น มันไม่สามารถใช้งานได้ ใช่เปล่า มันต้องเปลี่ยนเป็นคำสั่ง vba code ใช่มั้ยครับ ผมอยากรู้ว่า  sendkey f9 นั้น ใช้ทำงานอะไรครับ ถ้าผมจะเอามาเขียนเป็น vba code นั้น ต้องเขียนว่า อะไรครับ :dizzy:

Send Key F9 คือการใส่ให้ Requery  หรือ  recalc ครับ คือการให้ฟอร์มแสดงผลลัพท์ล่าสุด
ถ้าเป็นฟอร์ม ให้ลบคำสั่งนั้นทิ้ง ใส่ว่า Form.requery แทน เป็น combobox ก็ใส่ me.combobox.requery  แทนครับ
« แก้ไขครั้งสุดท้าย: 25 มิ.ย. 61 , 12:08:58 โดย ปิ่นณรงค์ »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: ekarat

25 มิ.ย. 61 , 13:26:06
ตอบกลับ #2

ekarat

  • สมาชิกไท.Access
  • กระทู้: 16

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: send keys f9 นั้น มันใช้ทำงานอะไรเหรอครับ
« ตอบกลับ #2 เมื่อ: 25 มิ.ย. 61 , 13:26:06 »
ผมลอง convert จาก macro แล้ว เป็น vba คือ
Option Compare Database

'------------------------------------------------------------
' itemsalesMacro
'
'------------------------------------------------------------
Function itemsalesMacro()
On Error GoTo itemsalesMacro_Err

    With CodeContextObject
        DoCmd.RunCommand acCmdSelectRecord
        DoCmd.RunCommand acCmdCopy
        DoCmd.Echo False, ""
        DoCmd.OpenTable "itemtempTable", acViewNormal, acEdit
        DoCmd.GoToRecord acTable, "itemtempTable", acFirst
        DoCmd.RunCommand acCmdSelectRecord
        DoCmd.RunCommand acCmdPaste
        DoCmd.Close acTable, "itemtempTable"
        DoCmd.Echo True, ""
        DoCmd.RunCommand acCmdSelectRecord
        DoCmd.RunCommand acCmdCopy
        DoCmd.Echo False, ""
        DoCmd.OpenTable "itemtempTable", acViewNormal, acEdit
        DoCmd.GoToRecord acTable, "itemtempTable", acFirst
        DoCmd.RunCommand acCmdSelectRecord
        DoCmd.RunCommand acCmdPaste
        DoCmd.Close acTable, "itemtempTable"
        DoCmd.Echo True, ""
        If (Eval("[combo25] Is Null")) Then
            .Combo25 = DLookup("[date]", "invoiceQuery10")
        End If
        If (Eval("[combo4] Is Null")) Then
            .Combo4 = DLookup("[customerid]", "invoiceQuery10")
        End If
        If (Eval("[combo23] Is Null")) Then
            .Combo23 = DLookup("[%vat]", "invoicetableremark", "[invoiceno]=combo27")
        End If
        'SendKeys "{F9}", True
        DoCmd.RunCommand acCmdSelectRecord
        DoCmd.RunCommand acCmdCopy
        DoCmd.Echo False, ""
        DoCmd.OpenTable "itemtempTable", acViewNormal, acEdit
        DoCmd.GoToRecord acTable, "itemtempTable", acFirst
        DoCmd.RunCommand acCmdSelectRecord
        DoCmd.RunCommand acCmdPaste
        DoCmd.Close acTable, "itemtempTable"
        DoCmd.Echo True, ""
        Exit Function
        DoCmd.SetWarnings False
        If (Eval("[combo25] Is Null")) Then
            .Combo25 = Null
        End If
        If (Eval("[combo4] Is Null")) Then
            .Combo4 = Null
        End If
        If (Eval("[combo23] Is Null")) Then
            .Combo23 = Null
                End If
    End With


itemsalesMacro_Exit:
    Exit Function

itemsalesMacro_Err:
    MsgBox Error$
    Resume itemsalesMacro_Exit

End Function


แล้วคราวนี้ จะให้ตรง properties นั้น ตรง after update นั้นมาเรียกใช้ จาก vba อย่างไงครับ ไปไม่ถูก

 

25 มิ.ย. 61 , 16:09:28
ตอบกลับ #3

ปิ่นณรงค์

: send keys f9 นั้น มันใช้ทำงานอะไรเหรอครับ
« ตอบกลับ #3 เมื่อ: 25 มิ.ย. 61 , 16:09:28 »
Macro เดิมติดตั้งไว้ที่ Event ไหนครับ ของ Form หรือ Control 

ที่ Event Afterupdate
ลองใส่ Call itemsalesMacro()
ดูครับได้ไหม
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: ekarat

26 มิ.ย. 61 , 08:27:04
ตอบกลับ #4

ekarat

  • สมาชิกไท.Access
  • กระทู้: 16

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: send keys f9 นั้น มันใช้ทำงานอะไรเหรอครับ
« ตอบกลับ #4 เมื่อ: 26 มิ.ย. 61 , 08:27:04 »
เค้าใส่ไว้ที่ switchboard แล้วเรียก macro นั้นมาใช้ครับ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย