PtrSafe属性错误MS Access

时间:2014-06-05 16:59:18

标签: forms vba ms-access

我正在尝试将记录输入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

有人可以帮我更新代码以防止弹出这个错误吗?

1 个答案:

答案 0 :(得分:3)

经过一番搜索,我发现了我的声明声明。这段代码修正了它:

  #If VBA7 Then
       Private Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
       #Else
       Private Declare Function GetTickCount Lib "kernel32" () As Long
       #End If