我尝试将记录输入 MS Access 表单,但收到以下编译错误:
“必须更新此项目中的代码才能在 64 位系统上使用。请检查并更新 Declare 语句,然后使用 PtrSafe 属性对其进行标记。”
数据库中的代码如下:
Private Sub cboProjectID_Change()
Dim VarComboKey As Integer
VarComboKey = Me.cboProjectID.Value
Me!cboErrCod1.RowSource = "SELECT DISTINCT [Error_Reason_Code], [Reason_Code_Desc] FROM [HDR_ErrCodes] WHERE [project_ID] = " & VarComboKey
Me!cboErrCod2.RowSource = "SELECT DISTINCT [Error_Reason_Code], [Reason_Code_Desc] FROM [HDR_ErrCodes] WHERE [project_ID] = " & VarComboKey
Me!cboErrCod3.RowSource = "SELECT DISTINCT [Error_Reason_Code], [Reason_Code_Desc] FROM [HDR_ErrCodes] WHERE [project_ID] = " & VarComboKey
Me!cboErrCod4.RowSource = "SELECT DISTINCT [Error_Reason_Code], [Reason_Code_Desc] FROM [HDR_ErrCodes] WHERE [project_ID] = " & VarComboKey
Me!cboErrCod5.RowSource = "SELECT DISTINCT [Error_Reason_Code], [Reason_Code_Desc] FROM [HDR_ErrCodes] WHERE [project_ID] = " & VarComboKey
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim ctl As Control
On Error GoTo Err_BeforeUpdate
If Me.Dirty Then
If MsgBox("Do you want to save?", vbYesNo + vbQuestion, _
"Save Record") = vbNo Then
Me.Undo
End If
End If
Exit_BeforeUpdate:
Exit Sub
Err_BeforeUpdate:
MsgBox Err.Number & " " & Err.Description
Resume Exit_BeforeUpdate
End Sub
有人可以帮我更新代码以防止出现此错误吗?
最佳答案
经过一番搜索,我找到了声明语句的位置。此代码修复了它:
#If VBA7 Then
Private Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
#Else
Private Declare Function GetTickCount Lib "kernel32" () As Long
#End If
关于forms - PtrSafe 属性错误 MS Access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24066009/