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

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

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

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

Access

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

Q&A

解決済

2回答

807閲覧

Access テーブルにないカラムをサブフォームに追加したい

tk68716

総合スコア24

VBA

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

Access

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

0グッド

0クリップ

投稿2020/08/25 14:35

編集2020/08/25 14:42

Access2010でとあるサブフォームを作っています。
ユーザーマスタというテーブルを元に下のようなサブフォームを作成しました。

ユーザーIDパスワード名前
1111111test1
2222222test2
3333333test3

しかし仕様変更でユーザーIDの左側にチェックボックスを追加してレコードを選択できるようにしたいとの要望がありました。
テーブルにYes/No型のカラムを追加すればよいだけの話なのですが、テーブルは既存のまま弄らないでほしいとのことです。

実現したいイメージ

選択ユーザーIDパスワード名前
1111111test1
2222222test2
3333333test3

どうすれば上記のようにサブフォームに独自でチェックボックスを追加できるのでしょうか。
お力添えよろしくお願いします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

昔からよく出てくる要望ですね。
下記で方法を紹介しています。

非連結のチェックボックスでレコードを選択する - hatena chips

投稿2020/08/25 14:43

hatena19

総合スコア34075

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

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

tk68716

2020/08/26 04:49

回答ありがとうございます。 サイトを参考にしてチェックボックスにボタンを重ねて実装してみたのですが、ボタンをクリックしてもイベントが発生しません。 デバックしてみたところ処理がそもそも呼ばれてないようです。 どのように修正すればよいでしょうか。
hatena19

2020/08/26 05:03

透明ボタンの「クリック時」プロパティは [イベント プロシージャ] となってますか。 なっていたら、右端のビルドボタン[...]をクリックしたときに、 Private Sub cmdChk_Click() のコードが表示されますか。 以上を確認してください。
tk68716

2020/08/26 05:15 編集

はい、なっていますし、表示もされます。
hatena19

2020/08/26 05:24

そうですか。サイトの説明通りにすればできるはずですので、どこか間違っているのだと思います。 もう一度、説明と異なる部分がないか確認してみてください。 「得意先コード」は「ユーザーID」に置き換えてますよね。「ユーザーID」のデータ型が数値型ですか。
tk68716

2020/08/26 05:46

回答ありがとうございます。サイト通りに実装し、置き換えるべきところも置き換えています。 ユーザーIDは「短いテキスト型」です。 サブフォーム単体のフォームビューではイベントは呼ばれます。 しかしメインフォームからだとクリックイベントは発生しません。
hatena19

2020/08/26 06:14

テキスト型の場合は、サイトのコメント欄の 2014.06.05 14:21 のコメントに従ってコードを修正してください。
tk68716

2020/08/26 06:52

回答ありがとうございます。 一日頑張ってみたのですがどうもサブフォーム上でボタンが設置できていないようです。 コマンドボタンをはずしてチェックボックスのみにして、チェックボックスにマウスボタンクリックイベントを持たせてあげることで何とか実装できました。 度々回答してくださりありがとうございました。
guest

0

ワークテーブルを利用して連結で行う方法もあります。

・現在のテーブルにチェックボックスを追加したワークテーブルを作成し、サブフォームはそのテーブルと連結
・メインフォームの開くときイベントなどでそのワークテーブルを作成
・データ登録のタイミングで、ワークテーブルの内容を元のテーブルに反映

現状の実装が不明なので、どの程度の改修規模になるか分かりませんが、テーブルの更新タイミングでクエリーを実行するレベルなので処理としては単純では無いかと思います。

投稿2020/08/25 14:50

編集2020/08/25 14:53
sazi

総合スコア25327

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

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

tk68716

2020/08/26 06:53

ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問