Page 187 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼サブフォームのレコード抽出について REI 03/1/31(金) 13:36 ┗Re:サブフォームのレコード抽出について まる 03/2/3(月) 0:28 ┗Re:サブフォームのレコード抽出について FUN 03/2/3(月) 13:02 ─────────────────────────────────────── ■題名 : サブフォームのレコード抽出について ■名前 : REI ■日付 : 03/1/31(金) 13:36 -------------------------------------------------------------------------
こんにちは サブフォームに表示してあるレコードの抽出をしたいと思っています。 以下のコードで実行するとアプリケーション定義かオブジェクト定義のエラーがでます。 [検索メイン]はフォーム名、[データ]はサブフォーム名です。 Me!NOは検索条件を入力するテキスト名称、NOはデータフォームに表示しているテーブルのフィールド名です。 どなたか教えてください。 Dim strFldCnd As String '変数定義 strFldCnd = "" '検索条件作成 If Not IsNull(Me!NO) Then strFldCnd = strFldCnd & "and NO like '*" & Me!NO & "*" End If If strFldCnd = "" Then '検索条件なしはNG MsgBox "検索条件を入力して下さい", vbOKOnly + vbInformation End If Forms![検索メイン]![データ].Form.fiter = strFldCnd 'フィルタ設定 |
こんにちは、まるです。 > strFldCnd = "" '検索条件作成 > If Not IsNull(Me!NO) Then > strFldCnd = strFldCnd & "and NO like '*" & Me!NO & "*" > End If これでは出来た条件文は and NO like '*〜* となっていますよね? 文字列閉じとなる ' がないですし 先頭の and も不要になると思います。 また、フィールド名に NO はあまりよくないと思いますよ。 Yes/No型の値と混同されてエラーになるというのを聞いたことがあります。 いまさら変えられなければ 〜 [No] Like '* 〜 としたほうがいいと思います。 > Forms![検索メイン]![データ].Form.fiter = strFldCnd 'フィルタ設定 フィルタ設定後には FilterOn プロパティに Trueを入れたほうがいいでしょう。 Dim strFldCnd As String If Not IsNull(Me![NO].Value) Then strFldCnd = "[NO] Like '*" & Me![NO].Value & "*'" End If If strFldCnd = "" Then MsgBox "検索条件を入力して下さい", vbOKOnly + vbInformation End If Forms![検索メイン]![データ].Form.Fiter = strFldCnd Forms![検索メイン]![データ].Form.FiterOn = True and の部分をなんのためにあったのかわかりませんが。 もしかして、条件はもっと長いのかな? ではでは ^^)/~~ |
▼まる さん: >こんにちは、まるです。 > >> strFldCnd = "" '検索条件作成 >> If Not IsNull(Me!NO) Then >> strFldCnd = strFldCnd & "and NO like '*" & Me!NO & "*" >> End If > >これでは出来た条件文は > >and NO like '*〜* > >となっていますよね? >文字列閉じとなる ' がないですし >先頭の and も不要になると思います。 >また、フィールド名に NO はあまりよくないと思いますよ。 >Yes/No型の値と混同されてエラーになるというのを聞いたことがあります。 >いまさら変えられなければ > >〜 [No] Like '* 〜 >としたほうがいいと思います。 > > >> Forms![検索メイン]![データ].Form.fiter = strFldCnd 'フィルタ設定 > >フィルタ設定後には >FilterOn プロパティに Trueを入れたほうがいいでしょう。 > > >Dim strFldCnd As String >If Not IsNull(Me![NO].Value) Then > strFldCnd = "[NO] Like '*" & Me![NO].Value & "*'" >End If >If strFldCnd = "" Then > MsgBox "検索条件を入力して下さい", vbOKOnly + vbInformation >End If >Forms![検索メイン]![データ].Form.Fiter = strFldCnd >Forms![検索メイン]![データ].Form.FiterOn = True > > >and の部分をなんのためにあったのかわかりませんが。 >もしかして、条件はもっと長いのかな? > > >ではでは ^^)/~~ ありがとうございました! おかげで成功しました。 andはさらに条件文を追加するためにつけておいたものでした。 |