よろしくお願いいたします。
現在、accessで下記図のような実績管理フォームの画面を作っています。
フォーム内にある二つの表のようなものは、それぞれサブフォームです。
この中のロジックの一つとして、
・コンボボックス「cmb期」に表示される値によって、サブフォームの中のラベル「月」の値を任意のものに変えたい
があります。
システムの仕組みとしては、コンボボックスのプルダウンの中身を
01を上期、07下期をとして表現しています。
・コンボボックスの値が「01」(上期)であれば、下方にあるサブフォームのラベル6つを1月~6月に、
・コンボボックスの値が「07」(下期)であれば、下方にあるサブフォームのラベル6つを7月~12月に、
となるようにコードを書きたいのですが、
一旦、目的のコードの骨組みとして、○で囲んである部分のみのラベルにコンボボックスをの内容を紐付けるロジックを書いてみました。
しかし、
Private Sub cmb期_AfterUpdate() Const H1 = 07 If Me!cmb期.Value = H1 Then Form!テーブル3.label7月.Value = "7月" //「テーブル3」の後はデフォルトプロポーザルが表示されなくなっている状況 End If //候補が無いので自分で記載しています
上記のように書いても動作しません。
エラー名は、
実行時エラー438
オブジェクトは、このプロパティまたはメソッドをサポートしていません です。
色々と足らないところが在るとは存じますが、
「【メインフォーム】のテキストボックスの内容に応じて【サブフォーム】のコントロールの値を変える」
という目的がなかなか調べられず、ごっちゃになってきて先へ進むことが出来なくなってしまったので、
こちらで有職者の方々にご教示を頂きたく存じます。
サンプルコードなど頂けると、幸いです。
どうかよろしくお願いいたします。
追記
※コード修正
サブフォームのコントロールを取得する
上記URLを参考に、元のコード4行目部分を下記の用に書き換えたところ、
Me![テーブル3(サブフォーム名)].Form![label7月(サブフォームのコントロール)].Value = "7月"
変わらず同じエラーが出てしまいました。。。
なにが間違っているのでしょうか…。
引き続きどうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。