質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

2006閲覧

Access VBA フィールドの値を変更した場合に他のフィールドの値も連動して変更する

mnbwqz

総合スコア74

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2022/04/24 13:32

編集2022/04/26 21:51

Accessのフィールドの値を変更した場合に、別のフィールドの値も連動して
変更させるにはどうしたらよいでしょうか。

弁当テーブルに随時商品ID,商品名のデータが追加されます。
段階フィールドは空です。
同テーブルをクエリで表示し、段階フィールドに値を入れます。
図のように、レコードが離れている場合でも複数選択し、
ボタンで段階フィールドに値を入れたいですが、難しそうです。
イメージ説明

そこで、別にフィールドを用意し、フィールドの値が変更されたら、
段階フィールドを更新する方法を考えます。

VBA

1Private Sub 試作_AfterUpdate() 2 MsgBox "試作フィールドが変更されました" 3End Sub

でフィールド全体の更新を検知することができます。
それからさらに進めて、下図のようにレコード単位での
更新を検知できるようにしたいです。よろしくお願いします。


フィールドにチェックを入れると、
イメージ説明

段階フィールドの値が更新される。
イメージ説明

フィールドのチェックを外すと、段階フィールドの値も解除される。
イメージ説明

上記方法では、試作から在庫限りフィールドまでYes/No型になっていますが、
ボタン方式にできるとより入力しやすいと思います。
可能であればこちらにできればと思います。
ボタンはクエリを設定したサブフォームの外に配置でも構いません。
イメージ説明


※テーブルの段階フィールドにルックアップを設定し、リストから選択する方式は
上記方式よりも入力にやや手間がかかるので、上記方式が取れれば幸いです。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

同テーブルをクエリで表示し、段階フィールドに値を入れます。
図のように、レコードが離れている場合でも複数選択し、
ボタンで段階フィールドに値を入れたいですが、難しそうです。

リストボックスなら複数選択が可能です。
ListBox.MultiSelect プロパティ (Access)

そもそも段階フィールドの値毎のチェックボックス項目をテーブルに追加するというのは、正規化から外れていますので、お勧めしません。
※段階の項目値が増減するとそれに合わせてテーブルのレイアウトを変更する事になる。

投稿2022/04/25 02:31

sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mnbwqz

2022/04/26 12:51

ありがとうございます。 リストボックスの方法、 >レコードが離れている場合でも複数選択し、 ボタンで段階フィールドに値を入れたいですが、難しそうです。 の方法が取れそうです。 リストボックス作成します。
guest

0

チェックボックスは1列だけ表示というのはいかがでしょう。
イメージ説明

投稿2022/04/25 00:29

iruyas

総合スコア1067

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mnbwqz

2022/04/25 11:32

ありがとうございます。 元のテーブルにチェックボックスを1列追加する方法でできました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問