我将 2003 年的数据库转换为 2010 年,2003 年创建的 VBA 脚本在 2010 年不起作用。我收到消息,提示存在 Complie 错误 - 未定义用户定义的类型。我没有使用 VBA 脚本的经验,我没有创建脚本,但了解它在数据库中完成的操作。它突出显示的特定项目是 DIM adoConn As New ADODB.Connection。
我将脚本包含在内,任何帮助都将是有益的,因为执行的操作对我们的工作流程来说是一项重要资产。
Private Sub Error_code_exit(Cancel As Integer)
On Error GoTo Error_code_exit
Dim strSQLErrorCode As String
Dim adoConn As New ADODB.Connection
Dim adoRSErrorCode As New ADODB.Recordset
Set adoConn = CurrentProject.Connection
strSQLErrorCode = "SELECT [Error Matrix1].[Error Code], [Error Matrix1].CTC FROM [Error Matrix1];"
adoRSErrorCode.Open strSQLErrorCode, adoConn, adOpenKeyset, adLockOptimistic
If Not adoRSErrorCode.EOF Then
Do
If adoRSErrorCode.Fields("Error Code") = Me.Error_Code.Value Then
If IsNull(adoRSErrorCode.Fields("CTC")) Then
Me.chkAgree = True
Exit Do
End If
End If
adoRSErrorCode.MoveNext
Loop Until adoRSErrorCode.EOF
End If
adoRSErrorCode.Close
adoConn.Close
Exit_code_exit:
Exit Sub
Error_code_exit:
MsgBox Err.Description
Resume Exit_code_exit
End Sub
Run Code Online (Sandbox Code Playgroud)
您需要设置对 ADODB 库的引用。这是 :
Microsoft ActiveX Data Objects x.x Library
Run Code Online (Sandbox Code Playgroud)
在代码窗口中,选择 Tools->References 并向下滚动到您需要的参考,然后勾选它。如果您使用 DAO 记录集并且它们没有明确定义为,则您的代码可能会遇到另一个问题DAO.Recordset
| 归档时间: |
|
| 查看次数: |
20635 次 |
| 最近记录: |