• 締切済み

サブフォームの並べ替えをVBAで指定したい

親フォームを開くときにサブフォームの並べ替えを実行したいのですが 親フォームのフォームモジュールに Private Sub Form_Load() With Me.Controls("サブフォーム ") .OrderBy = "日時 DESC" .OrderByOn = True End With End Sub としてるのですが、 OrderByの部分で、 実行時エラー438になります。 サブフォーム名は「サブフォーム」です。 サブフォームの中に日時と言うコントロールは存在します。 なぜエラーになるのでしょうか? ちなみにOrderByをなくしても .OrderByOn = True で同じエラーが発生します。

みんなの回答

回答No.1

メインフォームからサブフォームを参照する場合の構文は、 Me.サブフォームコントロール名.Form となります。 サブフォームとサブフォームコントロールは異なりますので注意してください。 サブフォームは、メインフォーム上にサブフォームコントロールを介して配置されています。 With Me.サブフォームコントロール名.Form .OrderBy = "日時 DESC" .OrderByOn = True End With なお、「日時 」はサブフォームのレコードソースにあるフィールド名である必要があります。

関連するQ&A

専門家に質問してみよう