
よろしくお願いします。
開発環境は、Vb2005とACCESS2003です。
表題のとおりなんですが、データテーブルに名簿が登録してあり、フィルタ処理をしたいと思っています。ふりがなから、あ行、か行、という抽出を行いたいのですが、あ行でしたら、あ、い、う、え、お、と五つの条件が必要かと思うのですが、どうもうまくいきません。
どのように式を書くのかお教えください。
現在は下記のようなコードにしています。(当然ですがアで始まる人しか抽出できていません)
Dim dv As New DataView
dv.Table = DataSet1.Tables("社員")
dv.RowFilter = "フリガナ LIKE 'ア%'"
"フリガナ LIKE 'ア%'"に、ANDをつけてみたり&をつけたりしたんですが、
複数の条件をどのようにフィルタにかけるのかわからないので、うまくいきません。
すみませんがどのように書けばよいのかお教えください。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
失礼しました。
勘違いしていましたね。調べてみたらleft関数は使えないようですね。申し訳ありません。
代替関数のsubstringが使えそうなので、これでどうですか?
dv.RowFilter = "substring(フリガナ,1,1) in ('ア','イ','ウ','エ','オ')"
またLIKEを使うのであれば
dv.RowFilter = "(フリガナ LIKE 'ア%') OR ("フリガナ LIKE 'イ%')・・・
とORでつなげれば可能だと思います。
ただパフォーマンスは最初の方がいいと思います。
こんにちは、再びの回答ありがとうございました。
教えていただいたコードで、フィルタをかけることができました。
悩んでいたのですっきりできてうれしいです。
「substring」関数というのを知らなかったのでwebで見てみました。勉強になりました。
LIKE関数のつなげ方も教えていただき、ありがとうございます。
パフォーマンスが「substring」の方が良いとのことなので、こちらを使わせていただきます。本当にありがとうございました。
No.1
- 回答日時:
>dv.RowFilter = "フリガナ LIKE 'ア%'"
dv.RowFilter = "left(フリガナ,1) in ('ア','イ','ウ','エ','オ')"
これではどうですか?
ちなみにLIKEはア行を抽出するのではなく、アタマとかアサガオとか抽出するものです
ppg-2さま、回答ありがとうございました。
>dv.RowFilter = "left(フリガナ,1) in('ア','イ','ウ','エ','オ')"
で実行したところ、「left」の部分で「式に定義されていない関数呼び出し left() が含まれています。」とエラーになってしまいます。
何か他に設定が必要でしょうか?
「LIKE」ですが、ア行を抽出しようとしたのではないです。アで始まるフリガナの人を抽出しようとしました。ア行を抽出するためにdv.RowFilter = "フリガナ LIKE 'ア%'"のあとに'イ%'や'ウ%'をANDなどでくっつけるのだろうか?と思っていました。わかりにくくてすみませんでした。
「Left」関数について調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
CloseとDisposeの違い
Visual Basic(VBA)
-
VB.NETでのイベントの途中終了
Visual Basic(VBA)
-
-
4
DataTableから条件を満たした行を別のDatatableへコピーしたい
その他(プログラミング・Web制作)
-
5
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
-
6
VB.net
Visual Basic(VBA)
-
7
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
8
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
9
VB.net 任意の例外を発生させるには・・・
Visual Basic(VBA)
-
10
DataGridViewに空白がある場合はエラーにしたい
Visual Basic(VBA)
-
11
C#において、同じインスタンスを何度もnewしてよいでしょうか。
その他(プログラミング・Web制作)
-
12
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
13
データベースのデータをTextBoxに入力された値で検索しDataGridViewに表示する方法
Visual Basic(VBA)
-
14
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
-
15
vb.net EXCEL ウィンドウ枠の固定について
Excel(エクセル)
-
16
[VB.net] Excelへの画像貼り付け処理についての疑問
Visual Basic(VBA)
-
17
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
18
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
19
実数の整数部,小数部の取得
Visual Basic(VBA)
-
20
VB.NET フォーム上に描いたグラフィックのクリア方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLで特定の項目の重複のみを排...
-
バッチでcsvファイルの指定のカ...
-
DataViewで複数条件の...
-
リストボックス
-
DataGridView 右詰め
-
Zend_DBを使ったselectで文字が...
-
COBOL プログラミング
-
php mysql で WHERE句内に変数...
-
外部参照してるキーを主キーに...
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
-
SQLで列名を変数にできないでし...
-
エクセルで最後の文字だけ置き...
-
カーソル0件の時にエラーを発生...
-
SELECT 文 GROUP での1件目を...
-
JANコードとPOSコードは同じ?
-
select文の書き方「半角カナ+...
-
EXISTSを使ったDELETE文
-
Access パラメータクエリをcsv...
-
access2021 VBA メソッドまたは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLで特定の項目の重複のみを排...
-
php mysql で WHERE句内に変数...
-
リストビューの項目の内容を変...
-
DataViewで複数条件の...
-
COBOLについて
-
バッチでcsvファイルの指定のカ...
-
DataGridView 右詰め
-
comboxのリストをファイルから...
-
Auto Filter
-
COBOL プログラミング
-
FORMで送信された項目名の格納...
-
初心者)DataGridViewの入力桁...
-
入門書のPHPサンプル内で、MySQ...
-
fgetcsvでCSVを取得した際のnul...
-
メニュー構築
-
重複したデータのみを取得する方法
-
C# リストビューの値を取得
-
ランダムな数字の生成
-
VB6でActiveReport1.5Jを使って...
-
HSPでプログラミングを始めたい。
おすすめ情報