
いつもお世話になっております。
色々と調べたのですが、データが思い通りにならなく困っております。
検索用フォームを作成し、番号と件名であいまい検索出来るようにしたのですが、年月日でも検索出来るように依頼されました。
自分なりに組んでみたのですが、検索機能が動いてくれませんでした。
年月日のデータ形式は「日付/時刻型」で、格納されているデータは「yyyy/mm/dd 00:00:00」となっています。
日付のみで検索すれば良いのですが、いくら検索しても、全データが抽出されてしまいます。
どこが悪いのかご指摘お願い致します。
☆クエリ☆
・Q処理検索
左から「処理番号」「件名」「年月日」となっており、
「処理番号」と「件名」の抽出条件(1行目)には
「Like"*"&[Forms]![F処理検索]![処理番号]&"*"」
「Like"*"&[Forms]![F処理検索]![件名]&"*"」と記述
「年月日」の抽出条件に
「Between[Forms]![F処理検索]![開始]and[Forms]![F処理検索]![終了]」を2行目に記述
「>=[Forms]![F処理検索]![開始]」を3行目に記述してあります。
☆フォーム☆
・F処理検索
年月日は2つテキストボックスを用意しています。
各々に「開始」と「終了」の名前をつけ、定型入力を「0000/00/00\ 00:00:00;0;_」としてあります。
検索実行ボタンをクリックし、詳細検索表示フォームを表示します。
・詳細検索表示
「F詳細検索」の結果をフォームビューで表示させます。
☆マクロ☆
フォームを開く
・フォーム名:詳細検索表示
・フィルタ名:Q処理検索
以上、宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
#1です
補足読んだのですが、かなり複雑怪奇な話になります
テーブル名:Tbl不明
処理番号:テキスト型
件名 :テキスト型
年月日 :日付/時刻型
をベースに「Q処理検索」を作ったとします
で、記載すると、大変な話になるので、SQLビューに切り替えて、SQL文を張りますので、テーブル名だけは、修正してください
Q処理検索
SELECT Tbl不明.*
FROM Tbl不明
WHERE (Tbl不明.処理番号 Like "*" & [Forms]![F処理検索]![処理番号] & "*")
AND (Tbl不明.件名 Like "*" & [Forms]![F処理検索]![件名] & "*")
AND (([Forms]![F処理検索]![開始] Is Null AND [Forms]![F処理検索]![終了] Is Null)
OR (Tbl不明.年月日 >= [Forms]![F処理検索]![開始] AND [Forms]![F処理検索]![終了] Is Null )
OR (Tbl不明.年月日 < [Forms]![F処理検索]![終了]+1 AND [Forms]![F処理検索]![開始] Is Null)
OR (Tbl不明.年月日 >= [Forms]![F処理検索]![開始] AND Tbl不明.年月日 < [Forms]![F処理検索]![終了]+1));
と、言う感じかな?
少し、[開始]だけじゃなくて、[終了]だけ、入ってる場合も、対応するように、記載してみたけど・・・
この回答への補足
回答誠にありがとうございます。
早速貼り付けて動作確認をした結果、「終了」へ入力すると 「式が正しく入力されていないか、複雑過ぎるために評価できません。」
とエラーメッセージが出ます。
やっぱり複雑怪奇すぎるんでしょうか…
終了以外はすべて完璧に動きました。
No.5
- 回答日時:
#1です
すみません
データを入れて、検証したら、同じメッセージが出ましたね;;
< [Forms]![F処理検索]![終了]+1
を
<= [Forms]![F処理検索]![終了]
にすれば、
> 「式が正しく入力されていないか、複雑過ぎるために評価できません。」
が、表示されず、行けます
ただし、これは、時間までのところが、0時までしか、検出できません
NN日+XX時、は、NN日では、引っ張れなくなります
この対処としては、フォーム側で、演算を細工する事になるかな?
回答ありがとうございます。
<= [Forms]![F処理検索]![終了]で表示が消えました。
上司と相談の結果、時間は検索にしなくて良いと許可が出たので
この形で落ち着きました。
複雑怪奇な問題に取り組んでいただき、誠にありがとうございました。
完成まで長い仕事ですが、Dxakさんのおかげで希望が見えてきました。
No.4
- 回答日時:
#1です
気になるとすれば・・・
> [Forms]![F処理検索]![処理番号]
> [Forms]![F処理検索]![件名]
の2つ、要は、検索用コントロールと、抽出結果を出すコントロールが、同じ名前を使用しているとは、考えにくく、名前が間違ってるとか?
> 「式が正しく入力されていないか、複雑過ぎるために評価できません。」
は、大体、SQL文が、間違ってる場合、もしくは、矛盾がある場合に、出るもの
要は、テーブル名の書き換えを失敗したとか、私が、想像しているコントロール配置などが違う可能性
どっちにしても、自力で、何がどう違うのか?、見直していく以外ないね
No.2
- 回答日時:
例えばフィールド(aaa)に日付/時間型となっていた場合に、
今日(3/10)のデータを抽出するなら抽出条件に、
Format([aaa],"yyyy/mm/dd")="2009/03/10"
で出来ました。
ここ"2009/03/10" が [Forms]![F処理検索]![開始] にあたるのではないでしょうか?
⇒条件に時間までが必要なのかどうなのか・・・?
Access使用は皆無なので違ったらごめんなさい。
Excel(マクロ)ではお世話になっております。
結果、時間は無しになりました。
まだまだExcelもAccessも修行が足りずに悪戦苦闘しております。
ご意見ありがとうございました。
No.1
- 回答日時:
う~ん、意図してる通りだと思うよ
日付のカラムに日付が入ってようが、入って無くても・・・
> 「処理番号」と「件名」の抽出条件(1行目)には
> 「Like"*"&[Forms]![F処理検索]![処理番号]&"*"」
> 「Like"*"&[Forms]![F処理検索]![件名]&"*"」と記述
が動作、当然日付しか、入力してないから、フリーパスで、全部抽出
どう抽出したいのか?もう少し詳しく記載してね
この回答への補足
回答ありがとうございます。
説明不足で申し訳ありません。補足させていただきます。
検索の仕方としては、下記のパターンになります。
(1)処理番号のみで検索する
(2)件名のみで検索する
(3)年月日のみで検索する
(4)(1)と(2)を組み合わせて検索する
(5)(1)と(3)を組み合わせて検索する
(6)(1)・(2)・(3)全てあわせて検索する
(7)(2)と(3)を組み合わせて検索する
※全てあいまい検索が出来る状態で行いたい
年月日においては、「開始日のみ」で検索したい場合があります。(あえて終了日は入れない場合があります)
以上になります。宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- 法人税 電子帳簿保存法について 1 2022/04/07 11:17
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- エッセイ・随筆 尋常小学校唱歌『さくら さくら』の解釈について以下のものは成立しますか?普通じゃおもろない? 7 2023/02/26 16:52
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSの時間帯の抽出について
その他(Microsoft Office)
-
アクセスでの抽出方法(日付+時刻)
Access(アクセス)
-
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
-
4
年月日を持つテーブルから年月を指定して抽出したいのですが
その他(データベース)
-
5
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
6
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
7
Accessの日付時刻型から日付、時刻カラムを作る
Access(アクセス)
-
8
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
-
9
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
10
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
11
アクセスのレポートのヘッダーを2ページ以降にもつけるには?
Access(アクセス)
-
12
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
13
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
14
ACCESSのテーブルのデータで、先頭に「000」を付与するほう右方
Access(アクセス)
-
15
このオブジェクトに値を代入することはできません
その他(データベース)
-
16
アクセスで複数のレコード情報を1レコードにまとめる方法
Access(アクセス)
-
17
アクセスのフォームの幅の最大値はいくつでしょうか?
Access(アクセス)
-
18
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
19
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
20
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
EXCEL VBA マクロ 実行する度に...
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
月度は何て読みますか?
-
DoEventsがやはり分からない
-
switch の範囲指定
-
UMLでの例外処理
-
VBの質問#if 0 then ってどう...
-
Excel VBAにて2つの処理を同時...
-
RPGプログラムの*HIVALについて
-
VB.NET Excelを読み込んでDataT...
-
Loadイベント中にほかのイベン...
-
リョウ・・・量?料?
-
コンピュータ用語の意味を教え...
-
openCVの超解像処理 その2
-
VBA DO LOOP Do loopをつかって...
-
Do~Loopした回数をカウントしたい
-
ループ途中に強制終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
【Excel】特定の文字を含むセル...
-
VBAでループ内で使う変数名を可...
-
メルカリのメルカードで買い物...
-
月度は何て読みますか?
-
UMLでの例外処理
-
EXCEL VBA マクロ 実行する度に...
-
セックスレスの既婚女性は自慰...
-
switch の範囲指定
-
インタラクティブの反対語は?
-
Loadイベント中にほかのイベン...
-
Do~Loopした回数をカウントしたい
-
VBの質問#if 0 then ってどう...
-
DoEventsがやはり分からない
-
お家デートをしててハグを長い...
-
findは動くがfindnextがマクロ...
-
リョウ・・・量?料?
-
生活保護受給者は性欲をどんな...
-
iD
おすすめ情報