いちばん失敗した人決定戦

見積システムを作成していまして、ロックの処理をVBAにて作成しました。
リストを開くとき、「見積」テーブルにある「レコードロック」というレコードがTrueになります。
そのため別の使用者が開いた際、ロックがかかり開けないという仕組みになっています。

<リストの開いた時のコード>
Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
If Me.レコードロック = True Then


MsgBox "別の使用者がいるため開くことができません。", vbOKOnly + vbExclamation, "レコードロック"
Cancel = True

Else

閉じる_ボタン.Enabled = True
キャンセル.Enabled = False
更新_ボタン.Enabled = False
一覧に反映.Enabled = False

End If
End Sub

リストを開けない時、メッセージボックスにて"別の使用者がいるため開くことができません。"と表示されるのですが
これを"○○が使用しているため開くことができません。"と変更したいです。

「○○」はリストを開いた時点で自動で取得するように作成すべく、
「見積」テーブルにある「レコードロック者」というレコードに記入するため追加クエリを作成しました。
<追加クエリのSQLビュー>
UPDATE Q_見積 SET Q_見積.[レコードロック者] = a()
WHERE (((Q_見積.見積番号)=[forms]![リスト]![見積番号]));

内容としましてはリストにある見積番号とテーブルにある見積番号が同じの場合、「見積」のテーブルの該当する見積番号のレコードロック者にコンピューター名を入れる処理です。


「○○」をコンピューター名にするため「a」という変数を作成し開いた時のコードを変更しました。
<リストの開いた時のコード 変更後>
Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
Public a As String
If Me.レコードロック = True Then


MsgBox "別の使用者がいるため開くことができません。", vbOKOnly + vbExclamation, "レコードロック"
Cancel = True

Else
a = Environ(“ComputerName”)

DoCmd.SetWarnings False
DoCmd.OpenQuery "追加クエリ"
DoCmd.SetWarnings True

閉じる_ボタン.Enabled = True
キャンセル.Enabled = False
更新_ボタン.Enabled = False
一覧に反映.Enabled = False

End If
End Sub

しかし、リストを開くことはできますがレコードロック者に名前が追加されることはなかったです。
追加クエリを確認すると「式に未確定関数'a'があります。」と表示されました。

どのように変更すればよいでしょうか?
ご教授の方、お願い致します。

<備考>
・Microsoft access2021
・windows11 home、64ビット

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!