アクセスで作成したmdbファイルで並び替えているフィールドがあるのですが、抽出がうまくいきません。
テキスト型のフィールドに日次+時刻(mmddhhmm)が入っているフィールドがあります。
1分毎のレコードを作成しています。
03200900
03200901
03200902
...
03201200
...
03202300
..
03200000
03200001
...
03200858
03200859
先頭が当日の9時で最終レコードが翌日の8時59分になっています。
0時を回って日付が変わっても、同一日扱いとしており、mmddの部分は変化しません。
このフィールドから例えば03202000~03200859のデータを抜き出そうとクエリを実行しているのですが、並び替えているせいかおかしな値が抽出されます。
SELECT テーブル名.フィールド名
FROM テーブル名
WHERE (((テーブル名.フィールド名) Between "03202000" And "03200859"));
上記の条件式で抽出しようとすると、何故かBetweenで選択した時間"以外"を抽出してしまいます。
並び替えたフィールドから正確に抽出するのは無理なのでしょうか?
No.1ベストアンサー
- 回答日時:
>0時を回って日付が変わっても、同一日扱いとしており、mmddの部分は変化しません
だからでしょうね。
03200900 は 03200859 よりも大です。
03200859 は翌日のデータなので、03200900 よりも大きく扱えるようにする必要があります。
でないとソートや抽出はおかしな結果になります。
データは現状のままとすると、元日時の修正をします。
クエリのデザイングリッドに
元日時|元日時修正:IIf(Right([元日時],4)<'0900',Format(Val(Left([元日時],4))+1,"0000") & Right([元日時],4),[元日時])
として、0900 未満の場合は翌日にします。
クエリの抽出には
Between '03202300' And '03210010' のように修正した値で。
No.2
- 回答日時:
> 日次+時刻(mmddhhmm)
は
日次+時刻(mmddhhnn)
ですね
BETWEEN は、範囲を指定するものなので、
BETWEEN 小 AND 大
BETWEEN 大 AND 小
でも同じ結果になったと思います。
03202000~03200859 のデータが欲しいので、
その期間じゃない Not を頭に付けて
Not フィールド Between "03201959" And "03200900"
で良いと思います。
無理に BETWEEN を使わなければ
フィールド<'03200900' Or フィールド>='03202000'
でも良さそうです。
昇順表示にするのなら
ORDER BY Right(フィールド,4)>='2000', フィールド
を追加指定すれば良さそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのクエリで、Left関数を...
-
Accessでフォームへのフィール...
-
[Access]クエリの抽出条件について
-
Access2003でフィールドのデー...
-
access で「指定したフィール...
-
[Microsoft Access]クエリ作成...
-
NULL値を含む場合のフィルタ
-
PDFファイルへの書き込み
-
LotusNotesで全角の空白を半角...
-
Accessでグループ化した結果フ...
-
値("001")と数値(1)が混在...
-
アクセスで前年対比を出す方法...
-
ファイルメーカーでシリアル番...
-
Access2000 2番目に大きい数値...
-
ACCESS クエリで重複データを最...
-
テーブルに主キーを作らないデ...
-
ACCESSのフォームからデータの...
-
accessのレポートであとから他...
-
accessの自動更新処理をできな...
-
Accessの入力フォームから、テ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのクエリで、Left関数を...
-
Accessでフォームへのフィール...
-
Accessでグループ化した結果フ...
-
NULL値を含む場合のフィルタ
-
Access2000 2番目に大きい数値...
-
アクセスで前年対比を出す方法...
-
access で「指定したフィール...
-
【access】テキストから日付へ...
-
値("001")と数値(1)が混在...
-
ファイルメーカーで住所内の市...
-
FileMakerでアットマーク入り文...
-
Access2003でフィールドのデー...
-
アクセスのフィールドデータを...
-
別のテーブルのフィールドを抽...
-
[Access]クエリの抽出条件について
-
ファイルメーカー あいうえお...
-
OpenOfficeのフィールドの種類
-
ファイルメーカーで名前のよみ...
-
アクセスクエリで以前あった演...
-
[Microsoft Access]クエリ作成...
おすすめ情報