3

2003 のデータベースを 2010 に変換しましたが、2003 で作成された VBA スクリプトが 2010 で機能しません。コンパイル エラー - ユーザー定義型が定義されていないというメッセージが表示されます。私は 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
4

1 に答える 1

5

ADODB ライブラリへの参照を設定する必要があります。それは:

Microsoft ActiveX Data Objects x.x Library

コード ウィンドウで、[ツール] -> [参照] を選択し、必要な参照まで下にスクロールして、チェックを入れます。DAO レコードセットを使用していて、それらが明示的に定義されていない場合、コードに別の問題が発生する可能性があります。DAO.Recordset

于 2012-08-09T18:41:42.540 に答える