Microsoft Access 掲示板

新規フォームで代入

3 コメント
views
4 フォロー

初心者の質問ですみません。
新規フォームを作成すると同時に作成ボタンのあるフォームのレコード(帳票)の任意の値を代入する方法はありますでしょうか。
Docmd.Openformの引数では無理でしょうか。

シソンヌ
作成: 2020/11/25 (水) 11:07:03
通報 ...
1
hiroton 2020/11/25 (水) 11:28:18 6ffb1@f966d

新規フォームを作成する

「新規登録用のフォームを開く」ですかね?

たとえば、自分自身ならMeで参照できますね。自分自身でない場合はForms!フォーム名で参照できます。

Docmd.Openform "新規登録フォーム"
Forms!新規登録フォーム!ID = Me!ID

ただし、この場合データが即座に登録されます。新規登録するつもりはなかったが間違ってボタンをクリックしてしまったなんて場合が面倒ですね。規定値プロパティを使うと実際の登録を後回しにして値を設定できます

Docmd.Openform "新規登録フォーム"
Forms!新規登録フォーム!ID.DefaultValue = Me!ID
2
シソンヌ 2020/11/25 (水) 14:24:21 0029a@1c915

ありがとうございます。「DefaultValue」についても勉強になりました

3

新規登録フォーム の「データ入力用」プロパティを「はい」に設定するか、
下記のように引数に acFormAdd を指定しておいた方がいいでしょう。

Docmd.Openform "新規登録フォーム", , , , acFormAdd
Forms!新規登録フォーム!ID.DefaultValue = Me!ID

新規登録フォームのテーブルにIDが既に存在しているかどうかのチェックも必要かと思います。