|
マクロを実行すると指定した式にMicrosoft Accessが見つけることのできない関数名か含まれています。と出てしまいます。
その後に
マクロ名 登録
条件 TRUE
アクション名 プロシージャの実行
引数 エラーチェック()
と出ます。
入力テーブルに、A、A店舗コード、B、B店舗コードがあり
Aをチックしたときには、A店舗コートを入力し
Bをチックしたときには、B店舗コートを入力して
T店名テーブルと該当する場合は、企業コードテーブル追加のクエリを実行し
該当しない場合は、エラーメッセジを出したいのです。
モジュールを作成して単体ではうまくいったのですが、
フォームからマクロを実行するとエラーになってしまいます。
もっと簡単なやり方があるかもしれませんが、自分ではこれが精一杯です。
よろしくお願いします
Public Function エラーチェック()
Dim Db As Database
Dim INRsA As Recordset
Dim INRsB As Recordset
Dim 読込A As String
Dim 読込B As String
Dim エラーA As Integer
Dim エラーB As Integer
Set Db = CurrentDb
読込A = "入力テーブル"
読込B = "T店名"
エラーA = 0
エラーB = 0
Set INRsA = Db.OpenRecordset(読込A, dbOpenDynaset)
Set INRsB = Db.OpenRecordset(読込B, dbOpenDynaset)
Do Until INRsB.EOF
If INRsA!A = True And INRsB!店舗コード = INRsA!A店舗コード Then
エラーA = 1
End If
If INRsA!B = True And INRsB!店舗コード = INRsA!B店舗コード Then
エラーB = 1
End If
INRsB.MoveNext
Loop
If INRsA!A = False And INRsA!A店舗コード = Null Then
エラーA = 1
End If
If INRsA!B = False And INRsA!B店舗コード = Null Then
エラーB = 1
End If
If エラーA = 1 And エラーB = 1 Then
DoCmd.OpenQuery "企業コードテーブル追加"
Else
If エラーA = 0 Then
MsgBox "A店舗コードエラー"
Else
MsgBox "B店舗コード力エラー"
End If
End If
INRsA.Close
INRsB.Close
Db.Close
End Function
|
|