目次
Betweenは数字だけではない
こんにちは。伊川(@naonaoke)です。
今回は、ご視聴者様から頂いた質問になります。
数字で範囲は指定できますが、文字列で範囲が指定できるのかという質問でした。
問題提起
(株)IKAWAの阿久 世子男(アク セスオ)は上司から下記の依頼を受けました。
数字ではなく、文字列で範囲を指定して、データを抽出できないか?
どのように範囲を指定するのだろうか?
解決策
回答
Betweenと ANDを利用して範囲を指定する。
数値とやり方はかわらない。
演算子BetweenとAND
クエリで期間を抽出する代表的は方法です。
ただ、ACCESSは、抽出の際に、日付で期間抽出なのか、数値で抽出なのかで、クオーテーションが異なります。
演算子BetweenとAND 作成手順その1 データベースを確認
上の図の赤枠の文字で範囲を指定します。
演算子BetweenとAND 作成手順その3 検索フォームを作成する
演算子BetweenとAND 作成手順その4 コードを仕込む
Private Sub コマンド15_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim strFil As String Set db = CurrentDb Set rs = db.OpenRecordset("MT_工番", dbOpenDynaset) strFil = "[工番] Between '" & [始期] & "' And'" & [終期] & "'" rs.Filter = strFil Set rs = rs.OpenRecordset Set Me.Recordset = rs Me.Requery Set rs = Nothing Set db = Nothing End Sub
演算子BetweenとAND 作成手順その5 完成図
ご視聴者様のコメント
伊川様まさしくこれです!ありがとうございます。エラーも出ずできました!お忙しい中、ありがとうございました。今後も参考にさせていただきます。
ここがポイント
ここがポイント
データ抽出ができないときは、
検索条件のフィールドの書式(型)を確認しましょう。ほとんどが、クオテーションの数の違いです。
型が一致しませんのエラーは、まず、
クオテーションの数を確認しましょう。
まとめ
今回のまとめ
今回は、文字列でも範囲指定ができることがわかりました。しかし、範囲指定は、なるべく数値型にしたほうがいいと思います。
今回のサンプルファイルは、No99です。
毎日の業務が、3時間短縮できます
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。