ACCESSのフォームについての質問です。
ACCESS20106を使っています。
F_表紙
F_詳細データ
データソースは、Q_顧客データ
主キーは、顧客ID
やりたいことは、F_詳細データの中に、
レコードロックというフィールドがあります。(True/False型)
F_表紙には、F_詳細データを開くボタンを設置しています。
やりたいこと
F_表紙のボタンをクリックしたときに、
レコードロックにチェックが入っていたら、F_詳細データを開かせない。
IF [Froms]![F_詳細データ]!レコードロック= True Then
MsgBox "他人が利用中です。"
Cancel = True
Else
DoCmd.OpenOpen "F_詳細データ", , , "顧客ID=" & Me.顧客ID
End if
このコードですと、
Sub または、Functionが・・・・とエラーになります。
どの部分を修正するのか、お手数ですが、ご教示しただけないでしょうか?
よろしくお願いします。
提示されているコードにも問題がありますが、「Sub または、Functionが・・・・」というエラーがでるなら、それは別の部分のエラーである可能性が高いですね。
そのエラーがでたときに、「デバッグ」をクリックしたときに反転表示されるコードの前後も提示してください。
とりあえず提示されている部分を修正するなら、
回答ありがとうございます。
Sub または、Functionが・・・・ で、反転するコード自体が無かったので、
hatena様の仰るとおり、コード自体に問題があると思っていました。
操作しているフォームから、他のフォームを操作するには、Forms!かと思いましたが、
提示されたコードでできるんですね。
勉強になりました。
ありがとうございました。
その認識で合ってますが、Forms!で参照する場合はフォームは開いている必要があります。
今回は、開く前に確認したいので、フォームのレコードソースのクエリの該当レコードのフィールド値を参照するために、
DLookup関数を使ったということです。
hatena様
返信おくれて申し訳ありません。
解説までしていただき、本当にありがとうございました。