我以編程方式驗證我的數據表,因爲無法以「正常」方式(鏈接表)執行此操作。告訴用戶他們輸入惡劣的「正常」方式是用MsgBox popups來懲罰他們 - 我想在我的表單上的標籤中顯示一條消息(這起作用)並更改違規單元格的背景顏色。我只能通過條件格式(這是有效的)改變單元格顏色,所以我設置了一些規則來突出顯示帶有空格的單元格。以編程方式編輯數據表單元格值的MS Access
所以現在最後一塊難題是改變有問題的單元格的值,並通過條件格式使其突出顯示。但那部分不起作用。當我改變單元格的值時,沒有任何反應。我覺得我的數據表需要被告知用我的新價值來更新自己。
這是我到目前爲止有:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim isValid As Boolean
isValid = myDataSheetRow_IsValid()
' if the page is valid, don't cancel the update
Cancel = Not isValid
End Sub
Private Function myDataSheetRow_IsValid() As Boolean
' validate our data as it cannot be validated in the GUI due to the way linked tables work
myDataSheetRow_IsValid = True
Dim myErrMsg As String
myErrMsg = ""
'evaluate my column called ABC
If (IsNull(Me.ABC)) Then
myErrMsg = myErrMsg + "ABC cannot be blank" + vbNewLine
'---------------------
'PROBLEM START
'---------------------
'Set the cell value to what it was plus a leading space
'Because I have set up conditional formatting on the datasheet
'So that leading spaces highlights the cell for attention
Me.ABC= " " + Me.ABC 'trigger conditional formatting ??
'---------------------
'PROBLEM END
'---------------------
End If
' ... more validating ...
' done validating
Call Me.Parent.UpdateErrorMsgArea(myErrMsg)
If (Len(myErrMsg) > 1) Then
myDataSheetRow_IsValid= False
End If
End Function
如何設置一個數據表單元格的值編程?
我試過這種方式,它不工作 - 在數據表上沒有任何變化,就好像數據表沒有更新自身,以顯示我的新的以編程方式更改的值。