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

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

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

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

Access

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

コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。

解決済

Access フォームのコンボ ボックスに値が表示できない

K.Kawamoto
K.Kawamoto

総合スコア5

VBA

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

Access

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

コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。

3回答

0評価

0クリップ

4814閲覧

投稿2020/10/11 01:04

コンボ ボックス「受講者数」の設定は、「値リスト」で下記の様にしています。
受講者数

フィールド右の下矢印でのプルダウン リストからの取得/表示は、問題なくできます。

問題は、この同じフィールドに、VBAで値を代入しても表示されません。

ちなみに、すぐ隣の「日程形式」のフィールド(下記)では、「値集合タイプ」は「テーブル/クエリ」ですが、リストからの取得/表示、VBAでの代入も表示も問題ありません。
日程形式

VBAのコードは、
Me!日程形式 = w_nittei
Me!受講者数 = W_受講者数
で、w_nittei、W_受講者数 には、正しい値が入っています。

以上

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

sazi

2020/10/11 01:22 編集

「受講者数」のVBAでの設定コードを追記して下さい Me!受講者数 = W_受講者数 だけなら、W_受講者数の値は? また、値を設定しているイベントは何ですか? 画面を開いた時、コントロールソースの値は表示されていますか?
K.Kawamoto

2020/10/11 01:58

余り適切には答えられないと思うのですが。 ① W_受講者数の値は? やろうとしているのは、講座についてのアンケートの集計です。 例えば、10人の受講者がいた場合、最初のアンケートの入力の時受講者数=10を 入力すれば、これは、プルダウン リストから「受講者数」フィールドに取得できます。 2枚目以降は、w_受講者数(=10)に入れて置き、受講者数」フィールドにvbaで代入 して表示しようしています。これが表示されないのが問題です。 従って、W_受講者数の値は最初に取得した値(=10)です。 ② 値を設定しているイベントは何ですか? 適切に答えられないのですが・・・ 入力された時とか、フォームがレコードを保存した時とか??? 自分で一番疑っているのは、「受講者数」の「書式」のAttributeあたりですが??? よろしくお願いします。
sazi

2020/10/11 03:06 編集

W_受講者数というのは変数ですよね。 変数ではなく、Me!受講者数=10としたら表示されますか? 抜粋ではなく、もう少し全体が分かる内容のコードを質問に追記して下さい。 もう一つ > 画面を開いた時、コントロールソースの値は表示されていますか? についても、お答えください。
hatena19

2020/10/11 03:52

とりあえずその代入しているコードのあるプロシージャ全体(Private Sub から End Sub)までを提示してくれませんか。 画像のようにコンボボックスを設定して、 Private Sub コマンド5_Click() Me.受講者数 = 5 End Sub としたら当たり前ですが、ちゃんと5と表示されました。
K.Kawamoto

2020/10/11 04:05

お返事、ありがとうございます。 ① Me!受講者数=10としたら正しく出ると思います。 と言うのは、「受講者数」とは別に、新たに「テキストボックス」をフォームに作り Me!テキストボックス = W_受講者数 としたら、正しく「10」が表示されました。 ② 「 画面を開いた時、コントロールソースの値」の表示法がはっきりしないので、 VBA でブレークポイントで止め、コントロールソースのテーブルで値を確かめ ましたら、ちゃんと入っています。 よろしくお願いします。
sazi

2020/10/11 04:26 編集

出ると思いますではなく、確認をされて下さい。 エラーが出ているけど無視されている状態かもしれませんので。 そういった意味で、コードも質問に追記して下さいと言っているのですが。 コントロールソースのテーブルに値が入っているなら、画面を開いた時にその値が表示されるはずです。 もちろん、値を設定する処理が開くときなどで行われていると上書きされてしまいます、のでその場合はその旨で報告して下さい。
K.Kawamoto

2020/10/11 05:52

① 確認しました。Me!受講者数=10としたら正しく出ます。 ② 画面を開いたら、コンボボックスなので表示は”0”で入力待ち状態です。
sazi

2020/10/11 06:13

「Me!受講者数=10」としたら表示されて、「Me!受講者数 = W_受講者数」としたら表示されないという事なら、W_受講者数の値の影響ですね。 ただ、それも変ですし、やっぱり必要な情報としては実装しているコードです。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

VBA

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

Access

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

コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。