Microsoft Access 掲示板

レコードの抽出結果が0件になってしまう

4 コメント
views
4 フォロー

いつもお世話になっております。

レポートのレコードソースをフォームの非連結テキストボックスに入力した抽出条件(納期)によってソートしたいです。

F_納品書出力依頼(フォーム)
txb_納期検索1(何年何月何日~)非連結
txb_納期検索2(~何年何月何日)非連結

Q_納品書出力依頼(クエリ)
納期(フィールド)
抽出条件↓

>=[Forms]![F_納品書出力依頼]![txb_納期検索1] And <=[Forms]![F_納品書出力依頼]![txb_納期検索2]

フォームを開く時にtxb_納期検索1、txb_納期検索2に""を代入してクリアしているため、納期検索1・2を両方入力している時以外はレコードが0件になってしまいます。
納期検索1のみを入力している場合は入力値以降を、納期検索2のみを入力している場合は入力値以前を、両方入力されている場合は現在と同じようにソートしたいです。

また、納期は240411といったように数字6桁、短いテキスト型になっています。
本来は日付型が良いのでしょうが、客先システムからCSVで落としているので変更できません。

驚天動地!前任者失踪丸
作成: 2024/04/11 (木) 11:42:26
最終更新: 2024/04/11 (木) 11:55:50
通報 ...
1

納期(フィールド)のデータ型はなんですか?

2
驚天動地!前任者失踪丸 2024/04/11 (木) 12:50:37 23e8e@44ebd >> 1

短いテキスト型です。

3

レポートのレコードソースをフォームの非連結テキストボックスに入力した抽出条件(納期)によってソートしたいです。

ソートは並び替えという意味ですが、ご希望のことは抽出(フィルター)ということですよね。

短いテキスト型です。

抽出条件を下記のように設定すればいいでしょう。

>=IIf(Nz([Forms]![F_納品書出力依頼]![txb_納期検索1],"")="","000000",[Forms]![F_納品書出力依頼]![txb_納期検索1]) AND IIf(Nz([Forms]![F_納品書出力依頼]![txb_納期検索2],"")="","999999",[Forms]![F_納品書出力依頼]![txb_納期検索2])
4
驚天動地!前任者失踪丸 2024/04/11 (木) 14:20:37 23e8e@44ebd >> 3

あ、フィルターです。失礼致しました。

>=IIf([Forms]![F_納品書出力依頼]![txb_納期検索1]="","000000",[Forms]![F_納品書出力依頼]![txb_納期検索1]) And <=IIf([Forms]![F_納品書出力依頼]![txb_納期検索2]="","999999",[Forms]![F_納品書出力依頼]![txb_納期検索2])

提示頂いた抽出条件を参考に、こちらで想定通りにフィルターされるようになりました!
ありがとうございます。