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

フィールド右の下矢印でのプルダウン リストからの取得/表示は、問題なくできます。
問題は、この同じフィールドに、VBAで値を代入しても表示されません。
ちなみに、すぐ隣の「日程形式」のフィールド(下記)では、「値集合タイプ」は「テーブル/クエリ」ですが、リストからの取得/表示、VBAでの代入も表示も問題ありません。

VBAのコードは、
Me!日程形式 = w_nittei
Me!受講者数 = W_受講者数
で、w_nittei、W_受講者数 には、正しい値が入っています。
以上
「受講者数」のVBAでの設定コードを追記して下さい
Me!受講者数 = W_受講者数
だけなら、W_受講者数の値は?
また、値を設定しているイベントは何ですか?
画面を開いた時、コントロールソースの値は表示されていますか?
余り適切には答えられないと思うのですが。
① W_受講者数の値は?
やろうとしているのは、講座についてのアンケートの集計です。
例えば、10人の受講者がいた場合、最初のアンケートの入力の時受講者数=10を
入力すれば、これは、プルダウン リストから「受講者数」フィールドに取得できます。
2枚目以降は、w_受講者数(=10)に入れて置き、受講者数」フィールドにvbaで代入
して表示しようしています。これが表示されないのが問題です。
従って、W_受講者数の値は最初に取得した値(=10)です。
② 値を設定しているイベントは何ですか?
適切に答えられないのですが・・・
入力された時とか、フォームがレコードを保存した時とか???
自分で一番疑っているのは、「受講者数」の「書式」のAttributeあたりですが???
よろしくお願いします。
W_受講者数というのは変数ですよね。
変数ではなく、Me!受講者数=10としたら表示されますか?
抜粋ではなく、もう少し全体が分かる内容のコードを質問に追記して下さい。
もう一つ
> 画面を開いた時、コントロールソースの値は表示されていますか?
についても、お答えください。
とりあえずその代入しているコードのあるプロシージャ全体(Private Sub から End Sub)までを提示してくれませんか。
画像のようにコンボボックスを設定して、
Private Sub コマンド5_Click()
Me.受講者数 = 5
End Sub
としたら当たり前ですが、ちゃんと5と表示されました。
お返事、ありがとうございます。
① Me!受講者数=10としたら正しく出ると思います。
と言うのは、「受講者数」とは別に、新たに「テキストボックス」をフォームに作り
Me!テキストボックス = W_受講者数
としたら、正しく「10」が表示されました。
② 「 画面を開いた時、コントロールソースの値」の表示法がはっきりしないので、
VBA でブレークポイントで止め、コントロールソースのテーブルで値を確かめ
ましたら、ちゃんと入っています。
よろしくお願いします。
出ると思いますではなく、確認をされて下さい。
エラーが出ているけど無視されている状態かもしれませんので。
そういった意味で、コードも質問に追記して下さいと言っているのですが。
コントロールソースのテーブルに値が入っているなら、画面を開いた時にその値が表示されるはずです。
もちろん、値を設定する処理が開くときなどで行われていると上書きされてしまいます、のでその場合はその旨で報告して下さい。
① 確認しました。Me!受講者数=10としたら正しく出ます。
② 画面を開いたら、コンボボックスなので表示は”0”で入力待ち状態です。
「Me!受講者数=10」としたら表示されて、「Me!受講者数 = W_受講者数」としたら表示されないという事なら、W_受講者数の値の影響ですね。
ただ、それも変ですし、やっぱり必要な情報としては実装しているコードです。
回答3件
あなたの回答
tips
プレビュー