インターネットなどでいろいろと調べ、IDフィールドをクリックすることで対象レコードの詳細を単票フォームで開くようにマクロを設定しました。帳票フォームはF_一覧、単票フォームはF_詳細です。以下マクロの設定です。
・フォーム[F_詳細]を開く
・ビュー:フォームビュー
・Where条件式:[ID]=[Forms]![F_一覧]![ID]
・データモード:編集
・ウィンドウモード:ダイアログ
この設定下でフォームビューでIDをクリックするとパラメータの入力を要求してきます。これはなぜでしょうか。
対象のIDを入力すれば表示することができますが、入力しないで表示したいと考えています。
よろしくお願いいたします。
当て推量ですが、打ち間違い、もしくは、もともと存在したけど名前が変わってしまったのではないでしょうか?例えば、見た目はIDと表示されているけど、テキストボックスの名前をプロパティシートで確認すると、IDD、みたいな。
入力支援機能を活用すると良いですよね。[Forms]![F_一覧]まで入力、次に!を押すと候補が表示されると思います。
>りんごさん
ありがとうございます。再度確認しましたが、テキストボックスの名前は間違いありませんでした。
以前にテーブルでIDフィールドを作成し直していますが、その影響はありますでしょうか。両フォームでのテキストボックスのコントロールソースに間違はないです。
現在のフォームを作成した後、元のテーブルを編集し直したが、そのせいか?取り敢えず、もう1つテーブルもしくはクエリからフォームを作ってマクロを試してみると、どうなるでしょうか。
バラメータのテキストボックスの標題は何が表示されてますか?
そこに表示されているフィールドまたはオブジェクトが見つからないということですので、それに間違いがないか、開いているか確認して下さい。
それ以外の原因はないです。
あと、マクロのWHERE条件式ですが、
[開くフォーム上のフィールド名]=[Forms]![フォーム名]![テキストボックス名]
というフォーマットになりますが、[F_詳細]のレコードソースに[ID]フィールドは存在してますか。
これはテキストボックス名ではないので注意してください。