我有一個使用多值字段的Access 2010數據庫(Access內置方法在兩個表之間具有m:n關係)。
爲了跟蹤對數據庫的更改,每次更新相應表單時都使用AuditTrail VBA過程,並保存對歷史表的所有更改。通過AuditTrail保存對多值組合框的更改
現在,當我改變ComboBox的價值和循環到達綁定到多值字段的組合框,程序拋出,因爲不兼容的數據類型的錯誤:
For Each ctl In Screen.ActiveForm.Controls
If ctl.Tag = "History" Then
If Nz(ctl.Value) <> Nz(ctl.OldValue) Then
With rst
.AddNew
![timestamp] = datTimeCheck
![UserName] = strUserID
![FormName] = Screen.ActiveForm.Name
![recordid] = Screen.ActiveForm.Controls(IDField).Value
![FieldName] = ctl.ControlSource
![beforeValue] = ctl.OldValue
![afterValue] = ctl.Value
.Update
End With
End If
End If
Next ctl
如何獲得的實際Value
和OldValue
從組合框轉換爲VBA中的字符串?
我試過combobox.focus
然後combobox.Text
這個工作,但沒有幫助OldValue
問題。
如何正確使用組合框的value
和oldvalue
屬性?組合框的官方VBA對象參考根本沒有幫助。 https://msdn.microsoft.com/en-us/library/office/ff821691.aspx
謝謝@Andre你的改變。我不是一個本地人,我的訪問是在德國,所以我必須翻譯所有^^ –