プロが教えるわが家の防犯対策術!

サブフォームにフィルタをかけたいのですが
エラーになってしまいます。
下記がエラー内容です。
----------------------------------------------------------
実行時エラー 438
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
----------------------------------------------------------

細かい概要は
テーブル1にフィールドがあり、
レコードには「あああ」と入力されています。
テーブル1がレコードソースとされている「フォーム(2)」をサブフォームとして
親フォーム(フォーム名:フォーム(1))に乗せました。

フォーム(1)を開いた時にフォーム(2)にフィルタをかけたいのですが
うまくいきません。

オブジェクト名にカッコを付けているため、
Form_フォーム・・・・
というコードは書けないので
----------------------------------------------------------
Private Sub Form_Open(Cancel As Integer)
Forms("フォーム(1)").Controls("フォーム(2)").Form.Filter = "フィールド = '" & "*あ*" & "'"
Forms("フォーム(1)").Controls("フォーム(2)").FilterOn = True
End Sub
----------------------------------------------------------
としています。

Forms("フォーム(1)").Controls("フォーム(2)").FilterOn = True

でエラーになりますが、
この行をなくしたら、フィルタがかかりません。

どうすればサブフォームにフィルタをかける事が出来るのでしょうか?
ご教示よろしくお願い致します。

「サブフォームにフィルタをかけたい」の質問画像

A 回答 (2件)

>ただ、「= "フィールド = '" & "*あ*" & "'"」


>がうまく機能してないのか「あああ」が抽出されません。
>なぜでしょうか?
これはワイルドカードを使用して「あ」を含むデータとしたいのですよね?
ワイルドカードを使う場合には=ではなくLikeを使用し

= "[フィールド] Like '*あ*'"

とすればいいはずです。
    • good
    • 1
この回答へのお礼

likeにしたらうまくいきました!
ご回答ありがとうございました。

お礼日時:2011/10/23 01:24

自分で動作確認していませんが



>Forms("フォーム(1)").Controls("フォーム(2)").FilterOn = True
Forms("フォーム(1)").Controls("フォーム(2)").Form.FilterOn = True
では?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
「Form.」を追加する事でエラーにならずにすみました。

ただ、「= "フィールド = '" & "*あ*" & "'"」
がうまく機能してないのか「あああ」が抽出されません。
なぜでしょうか?

お礼日時:2011/10/22 22:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!