牛、豚、鶏、どれか一つ食べられなくなるとしたら?

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

A 回答 (2件)

整数値に対して Like演算子は使えませんね m(__)m



DataSetを作り変えて 出版社コードに対するString型フィールドを作成したほうが早いのかも ・・・
    • good
    • 0

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

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

LIKEでの絞り込みは文字列型でのみ使用できるみたいなので、ワイルドカード文字を変えても、根本的な解決にはならないようです。

整数型での部分一致での検索が出来るようにしたいと考えているのですが...

お礼日時:2007/12/18 11:37

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報