![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
再びmaruru01です。
まず、WhereCondというのは、全検索条件を繋げた最終的な条件文字列ですから、
WhereCond = "取得日 BETWEEN #" & 取得日1.Value & "# AND #" & 取得日2.Value & "#"
としてしまうと、これまでのIDやら名前やらが全て無駄になってしまいます。(せっかくWhereCondに格納したのに、上書きしてしまっているので。)
で、書き方はIDとかと基本的に同じです。
変数宣言で
Dim whereDate As String
を追加し、取得日のところを、
'取得日
If Me!txt取得日1.Value <> "" And Me!txt取得日2.Value <> "" Then
whereDate = "(T_マスタテーブル.取得日 BETWEEN #" & Me!txt取得日1.Value & "# AND #" & Me!txt取得日2.Value & "#)"
WhereCond = WhereCond & tempOper & whereDate
End If
で、この後に、先頭の演算子を削除するためのMid関数の文(でしたっけ)以降を入れます。
ちなみに、T_マスタテーブルの取得日フィールドのデータ型が日付になっていないとエラーになります。
あと、condIDという変数が出てきますが、これはwhereIDの間違いですよね。
では。
ありがとうございます!!
できました。
>まず、WhereCondというのは、全検索条件を繋げた最終的な条件文字列ですから、
そうだったんですが、知りませんでした。
>あと、condIDという変数が出てきますが、これはwhereIDの間違いですよね。
はい、そうです、お恥ずかしい。。。
>f Me!txt取得日1.Value <> "" And Me!txt取得日2.Value <> "" Then
ここの書き方が一番よくわからなくて、悩んでいたんです。
無事解決しました。
ありがとうございました。
No.1
- 回答日時:
こんにちは。
maruru01です。検索フォームに[txt取得日1]と[txt取得日2]というテキストボックスがあるとします。
例えば、[表示]ボタンのようなコマンドボタンのクリックイベントに以下のように書きます。
Dim WhereCond As String
WhereCond = "取得日 BETWEEN #" & txt取得日1.Value & "# AND #" & txt取得日2.Value & "#"
DoCmd.OpenForm "検索結果フォーム", , acNormal, WhereCond, acFormEdit, acWindowNormal
OpenFormメソッドの各引数の詳細はヘルプなどを参照して下さい。
なお、予め"検索結果フォーム"のレコードソースプロパティに、"T_マスタテーブル"を指定しておいて下さい。
ちなみに2つのテキストボックスの内容が、日付と認識出来ない文字列だとエラーになります。
では。
この回答への補足
いつもいつもありがとうございます。
質問文にはかいていなかったのですが、
他にも検索条件があり、そちらはきちんと入力されていて、OKの状態です。
----------こんな感じです----------
Dim SQL As String
Dim WhereCond As String
Dim whereId As String
Dim whereName As String
Dim whereBirth As String
Dim whereSex As String
WhereCond = "" '変数の初期化。本当はいらないけど明示的に。
Select Case Me!frame.Value
Case 1 'AND検索
tempOper = " AND " '前後の半角スペースを忘れずに
strCount = 5
Case 2 'OR検索
tempOper = " OR " '前後の半角スペースを忘れずに
strCount = 4
End Select
tempCond = ""
'ID
If Me!ID.Value <> "" Then
condId = "(T_マスタテーブル.ID like '*" & Me!ID.Value & "*')"
WhereCond = WhereCond & tempOper & condId
End If
:
:
:
------------------------------
ここに
'取得日
WhereCond = "取得日 BETWEEN #" & 取得日1.Value & "# AND #" & 取得日2.Value & "#"
としてしまったのですが、エラーが出てしまいます。
修正点を教えていただけますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
count(*)で取得した値をJAVAの...
-
ListView 項目の選択/選択解除...
-
VB.NETで DataRow()を利用して...
-
IP Address Controlから値を取...
-
Spreadの選択行の取得について
-
VBA:小数点以下の数字を取得で...
-
Excel VBA でログインしてい...
-
VB .netにて現在時刻+1時間後...
-
Google Apps Script で、Web上...
-
エクセルVBAで複数選択できるよ...
-
利用者側のMACアドレスを取得し...
-
JavaScriptにおいてコンピュー...
-
IFRAME内のURLを取得したです。
-
自動的に高さ指定していないt...
-
like演算子内に変数って使えな...
-
asp.netでtextboxの値を取得
-
VBA Shapesの座標からセル位置...
-
JSP+Servletでのページングの常識
-
テキストボックスに表示された...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
ListView 項目の選択/選択解除...
-
count(*)で取得した値をJAVAの...
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
データ数をカウントしたいのですが
-
Flexgridで選択行の列の値を取...
-
like演算子内に変数って使えな...
-
エクセルVBAで複数選択できるよ...
-
利用者側のMACアドレスを取得し...
-
Spreadの選択行の取得について
-
JavaScriptにおいてコンピュー...
-
「Excel VBA」 Webクエリ マク...
-
コンボボックス表示文字列を取...
-
getParameter と getAttribut...
-
JavaScriptでWindowsログオンID...
-
ListViewで複数選択された項目...
-
VBA リストボックス内の値を複...
-
VBScriptで数値にコンマを付け...
-
VB .netにて現在時刻+1時間後...
おすすめ情報