• 締切済み

VB2005 RowFilterのパラメータの書き方について

VB2005を使用しています。データービューのフィルター機能を使用してレコードを抽出したいのですが、以下のようなコードを書いた場合、出版社コードで検索すると ---- System.Int32 および System.String で 'Like' 操作を実行できません。 ---- といったエラーが表示されます。 出版社コードが整数型を使用している場合にはLikeを使用して絞り込みをする場合には、どのような書き方をしたらいいのでしょうか? 'Viewを取得 Dim dv As New DataView dv.Table = dSetHanbai.出版社名一覧 '検索キーの設定 Dim key As String key = Me.txt検索キー.Text If key = "" Then MessageBox.Show("検索キーが入力されていません", "エラー") Exit Sub Else 'フィルタの設定 If RadioButton1.Checked = True Then dv.RowFilter = "出版社コード LIKE '%" & key & "%'" ElseIf RadioButton2.Checked = True Then dv.RowFilter = "出版社名 LIKE '%" & key & "%'" End If End If dgv出版社名一覧.DataSource = dv

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

整数値に対して Like演算子は使えませんね m(__)m DataSetを作り変えて 出版社コードに対するString型フィールドを作成したほうが早いのかも ・・・

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

%ではなく*で良いようですよ

Rubellite
質問者

お礼

ご回答ありがとうございます。 LIKEでの絞り込みは文字列型でのみ使用できるみたいなので、ワイルドカード文字を変えても、根本的な解決にはならないようです。 整数型での部分一致での検索が出来るようにしたいと考えているのですが...

関連するQ&A