銷售明細表單自動取得商品售價的 VBA 程式碼

點擊數: 4233

1.開啟 Access VBA 編輯器

2. Microsoft Access 物件類別之「Form_銷售明細」,加入如下的程式碼:

Private Sub 產品識別碼_AfterUpdate()

'自動填入產品的數量與售價
If Not IsNull(Me![產品識別碼]) Then
Me![數量] = 1
Me![單價] = GetListPrice(Me![產品識別碼])
'[清空產品] 記錄表示使用者想要刪除產品項目
Else
eh.TryToRunCommand acCmdDeleteRecord
End If

End Sub

Function GetListPrice(產品識別碼 As Long) As Currency

'依據產品識別碼從產品資料表取得售價
If IsNull(DLookup("[售價]", "產品", "[產品識別碼] = " & 產品識別碼)) Then
If MsgBox("無效的商品識別碼。", vbCritical) Then
DoCmd.CancelEvent
End If
Else
GetListPrice = DLookup("[售價]", "產品", "[產品識別碼] = " & 產品識別碼)
End If

End Function

3. 銷售明細表單之「產品識別碼」控制項,其「事件」屬性中的 AfterUpdate 設定為「事件程序」。若是AfterUpdate沒有設定為「事件程序」,程式碼將不會被執行。