現在「種類」というコンボボックスがあるのですが ここに直接書き込んだ場合、それをすぐにコンボボックスの選択肢に 追加する方法はありますでしょうか。
現在は値リストですが、テーブルリストに変更可能です。 宜しくお願いいたします。
値リストの場合なら、「値リストの編集の許可」を「はい」にすると編集することができます。
■T'sWare Access Tips #484 ~ユーザーが値リストを変更できるようにするには?~
■T'sWare Access Tips #631 ~リスト項目編集後の保存確認メッセージを出さないようにするには?~
2番目のリンク先を参考にして、コンボボックスから直接値リストを表示できました!ありがとうございます。
先日教えていただいた、値リストの編集を便利に活用しております。 わがままな要望なのですが、この値リストをサブフォームとメインフォームで共有することはできますでしょうか。 テーブルにすれば可能だと思いますが、テーブルにした場合コンボボックスから直接編集はできますでしょうか… 難しそうであればメインに絞ろうとは思っているのですが、可能であれば教えていただけると助かります。
テーブルにするなら ComboBox.NotInList event (Access)
テーブルにしないならサブフォームのフォーカス取得時/喪失時イベントで値集合ソースの比較をするとかかな?
テーブルなら、「リスト項目編集フォーム」に値集合ソースのテーブルをレコードソースとするフォームを設定すると、「値リストの編集」をクリックするそのフォームが表示されます。これだとVBAなしでできます。
ListItemsEditForm プロパティ (Access) | Microsoft Docs
hirotonさん紹介のNotInListイベントを使うとVBAが必要ですか、もっと使いやすいUIを構築できます。
ComboBox.NotInList event (Access)
ありがとうございます。 早速作ってみたのですが、理解しきれていないようです。 ①新しくリスト項目のテーブルを作成 ②①を基にフォームを作成 ③利用したいコンボボックスを選択してプロパティ「リスト項目編集フォーム」から該当のフォームを選択。 ④? ④からがわかりませんでした…(③までも間違っているでしょうか)
自宅にあったプロパティ辞典にも乗っておらず… 辞典をパラパラしながらふと思ったのですが、そもそも今回の質問についてですが 何のために行っているかというと、グループ名設定のためになります。 レポートにするときのグループ分けのため、レコード毎に同じグループを入力するのが面倒なので、コンボボックスを設置していました。 (サブに1個ずつと、メインからはチェックしたものに一括で入れるためのコンボボックス)
グループ名設定となると、他に良い方法があったりしますでしょうか…?
以上お手数をおかけいたします。宜しくお願いいたします。
③までで、あってますよ。 あと、「入力チェック」を「はい」、「値リストの編集の許可」を「はい」に設定しておけばOKです。 下記も参考にしてください。
■T'sWare Access Tips #471 ~コンボボックスから値集合ソース編集画面を表示する方法~
上記の設定だけで編集は可能になりますが、リスト項目編集フォームの方で新規レコードへ移動、既定値をコンボボックスに入力した値に設定などをするようにすると使いやすいものにできますね。
なるほど!よくわかりました。便利なものができそうです。ありがとうございました!!
同じ内容を入力したくないなら更新後処理で規定値を変更するようにすればいいです
Private Sub 種類_AfterUpdate() Me!種類.DefaultValue = Me!種類 End Sub
さらに、登録済みデータ(Tデータとする)から種類を選択したいなら登録済みデータからリストを作ってしまえばいいです。フォームを開いた後に追加されたデータはリストに表示されないのでフォーカス取得時にリストを更新するようにします
値集合ソース:SELECT 種類 FROM Tデータ GROUP BY 種類 ORDER BY 種類; 値集合タイプ:テーブル/クエリ 入力チェック:いいえ
Private Sub 種類_AfterUpdate() Me!種類.DefaultValue = Me!種類 End Sub Private Sub 種類_Enter() Me!種類.Requery End Sub
登録済みデータのうち一部を表示したいとかだとやっぱり値リストやそれ用に別なテーブルを作る必要があります
不適切なコンテンツとして通報するには以下の「送信」ボタンを押して下さい。 現在このグループでは通報を匿名で受け付けていません。 管理者グループにはあなたが誰であるかがわかります。
どのように不適切か説明したい場合、メッセージをご記入下さい。空白のままでも通報は送信されます。
通報履歴 で、あなたの通報と対応時のメッセージを確認できます。
トピックをWIKIWIKIに埋め込む
次のコードをWIKIWIKIのページに埋め込むと最新のコメントがその場に表示されます。
// generating...
プレビュー
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
Markdown Tables generator
ここまでがあなたのコンテンツ
ここからもあなたのコンテンツ
値リストの場合なら、「値リストの編集の許可」を「はい」にすると編集することができます。
■T'sWare Access Tips #484 ~ユーザーが値リストを変更できるようにするには?~
■T'sWare Access Tips #631 ~リスト項目編集後の保存確認メッセージを出さないようにするには?~
2番目のリンク先を参考にして、コンボボックスから直接値リストを表示できました!ありがとうございます。
先日教えていただいた、値リストの編集を便利に活用しております。
わがままな要望なのですが、この値リストをサブフォームとメインフォームで共有することはできますでしょうか。
テーブルにすれば可能だと思いますが、テーブルにした場合コンボボックスから直接編集はできますでしょうか…
難しそうであればメインに絞ろうとは思っているのですが、可能であれば教えていただけると助かります。
テーブルにするなら
ComboBox.NotInList event (Access)
テーブルにしないならサブフォームのフォーカス取得時/喪失時イベントで値集合ソースの比較をするとかかな?
テーブルなら、「リスト項目編集フォーム」に値集合ソースのテーブルをレコードソースとするフォームを設定すると、「値リストの編集」をクリックするそのフォームが表示されます。これだとVBAなしでできます。
ListItemsEditForm プロパティ (Access) | Microsoft Docs
hirotonさん紹介のNotInListイベントを使うとVBAが必要ですか、もっと使いやすいUIを構築できます。
ComboBox.NotInList event (Access)
ありがとうございます。
早速作ってみたのですが、理解しきれていないようです。
①新しくリスト項目のテーブルを作成
②①を基にフォームを作成
③利用したいコンボボックスを選択してプロパティ「リスト項目編集フォーム」から該当のフォームを選択。
④?
④からがわかりませんでした…(③までも間違っているでしょうか)
自宅にあったプロパティ辞典にも乗っておらず…
辞典をパラパラしながらふと思ったのですが、そもそも今回の質問についてですが
何のために行っているかというと、グループ名設定のためになります。
レポートにするときのグループ分けのため、レコード毎に同じグループを入力するのが面倒なので、コンボボックスを設置していました。
(サブに1個ずつと、メインからはチェックしたものに一括で入れるためのコンボボックス)
グループ名設定となると、他に良い方法があったりしますでしょうか…?
以上お手数をおかけいたします。宜しくお願いいたします。
③までで、あってますよ。
あと、「入力チェック」を「はい」、「値リストの編集の許可」を「はい」に設定しておけばOKです。
下記も参考にしてください。
■T'sWare Access Tips #471 ~コンボボックスから値集合ソース編集画面を表示する方法~
上記の設定だけで編集は可能になりますが、リスト項目編集フォームの方で新規レコードへ移動、既定値をコンボボックスに入力した値に設定などをするようにすると使いやすいものにできますね。
なるほど!よくわかりました。便利なものができそうです。ありがとうございました!!
同じ内容を入力したくないなら更新後処理で規定値を変更するようにすればいいです
さらに、登録済みデータ(Tデータとする)から種類を選択したいなら登録済みデータからリストを作ってしまえばいいです。フォームを開いた後に追加されたデータはリストに表示されないのでフォーカス取得時にリストを更新するようにします
値集合ソース:SELECT 種類 FROM Tデータ GROUP BY 種類 ORDER BY 種類;
値集合タイプ:テーブル/クエリ
入力チェック:いいえ
登録済みデータのうち一部を表示したいとかだとやっぱり値リストやそれ用に別なテーブルを作る必要があります