Microsoft Access 掲示板

サブフォームの日付IDの自動入力をフォームの入力なしに、実現したい。

4 コメント
views
4 フォロー

いつもお世話になってます。
本日も分からないことがあったので、
ご質問させてください。

フォームに、日付と日付IDと備考欄があります。
サブフォームとは、日付IDで連動しています。

この件なんですが、
サブフォームの日付IDを自動入力するには、
フォームにデーターを入れなければなりませんが、

サブフォームにデーターを入力すると同時に、
フォームの日付IDを自動で決定して、サブフォームとフォームを
日付IDで連動できませんか?

どうしても、フォームにデーターを
入力しなければならないので、それでは
使い勝手が悪く頭を抱えてます。

まず、再クエリを考えました。
サブフォームをクリックした段階で、
再クエリが起動し、フォームのデーターを
自動更新できないだろうか?とか。

値の代入を考えました。
コントロールの移動も使いました。

でも何度やっても
めちゃくちゃなセイか、
うまく結果が出ません。

フォームのデーターを
手入力せずに、サブフォームに入力した時点で、
自動でフォームのデーターを更新し、
サブフォームと日付IDで連動できませんでしょうか?

日付はDate()で自動入力しております。

ボタンを作って押す手もありますが、
それって、Accessの事情を知らない人からしたら
不可思議なボタンですよねー

支離滅裂になってしまいましたが、
御指南をヨロシクお願い致します。

ワッフル
作成: 2021/08/15 (日) 11:19:07
通報 ...
1

フォームに、日付と日付IDと備考欄があります。
サブフォームとは、日付IDで連動しています。

フォーム(メインフォーム)上にサブフォームコントロールを配置して、
それの「リンク親フィールド」「リンク子フィールド」プロパティを 日付ID に設定しているという状況でしょうか。

フォーム(メインフォーム)の日付ID はオートナンバー型のフィールドでしょうか。

サブフォームにデーターを入力すると同時に、
フォームの日付IDを自動で決定して、サブフォームとフォームを
日付IDで連動できませんか?

フォーム(メインフォーム)は未入力、つまり新規レコードの状態で、
サブフォームの方でデータを入力したいということでしょうか。

メインフォームとサブフォームのレコードソースのそれぞれのテーブルの関係は、一対多の関係でしょうか。

だとしたら、原理的に無理です。一側のレコードがないと多側のレコードは入力できません。リレーショナルデータベースの制限です。

現状のメインフォームとサブフォームのレコードソースのそれぞれのテーブルのフィールド構成はどうなってますか。

テーブル設計、あるいはメイン/サブフォーム形式が適切でない可能性があります。

2
ワッフル 2021/08/15 (日) 18:23:30 be3da@318ee

ご返答をありがとうございます。

>メインフォームとサブフォームのレコードソースのそれぞれのテーブルの関係は、一対多の関係でしょうか。

>だとしたら、原理的に無理です。一側のレコードがないと多側のレコードは入力できません。
>リレーショナルデータベースの制限です。

無理でしたか。残念です。

>現状のメインフォームとサブフォームのレコードソースのそれぞれのテーブルのフィールド構成はどうなってますか。

>テーブル設計、あるいはメイン/サブフォーム形式が適切でない可能性があります。

詳しく記載していただき、誠にありがとうございます。

例えば、サブフォームにしていたものを、
ボタンでフォームを開くといった形にしようかな?と思います。

またご質問することがあるかと存じますが、
その時もよろしくお願い致します。

3
ワッフル 2021/08/15 (日) 18:24:37 be3da@318ee

返信の機能がよく分からず、
見えづらい投稿となってすみません。

以後もっとわかりやすく投稿したいと思います。

4
hiroton 2021/08/16 (月) 11:53:52 15305@f966d

わざわざメインーサブにフォームを分けなければいいんじゃない?
フォームの挿入前処理イベントでMe.日付ID = 1とでもすれば登録だけならできるよ