Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


966 / 9994 ←次へ | 前へ→

【12332】BETWEENを使った検索、片方のみ入力された場合
質問  nneeww  - 13/6/11(火) 11:03 -

引用なし
パスワード
   お世話になっております。

複数のテキストボックス(odf,odt,cm,sp)を使って条件を入力し検索を行うフォームを作っています。
odfとodtは日付を入力するテキストボックスで、betweenでodfからodtの期間を指定するようになっています。

二つとも入力が行われれば問題なく検索できるのですが、片方だけの入力だとすべてのデータが表示されてしまいます。
今、両方に日付が入力されていない場合検索が行えないようにしているのですが片方にだけ日付が入った状態で検索が押されたとき、もう一方にも同じ日付が入っているとして検索を行うのが理想です。考えてみましたがどうしたらよいかわかりませんでした。
日付の入力方法はカレンダーをクリックするor手入力(入力規則設定)です。

ご存知の方、どうぞよろしくお願いいたします。


'  入力された値のチェック
  If IsNull(odf) And IsNull(odt) And IsNull(cm) And IsNull(sp) Then
'  /すべて空欄のとき-「すべてのデータを表示しますか?」
    a = MsgBox("すべてのデータを表示しますか?", vbYesNo)
      If a = vbYes Then
        DoCmd.OpenQuery "結果表示"
      End If
      Exit Sub
'  /日付にだけ値が入力されている場合、検索に移る
    ElseIf IsNull(cm) And IsNull(sp) Then
      GoTo kekka
'  /数字以外が含まれているとき-「数字を入力してください」
    ElseIf IsNumeric(cm) = False And IsNumeric(sp) = False Then
      MsgBox "数字を入力してください"
      Exit Sub
'  /桁数が違うとき-「有効な値であるか確認してください」
    ElseIf Len(cm) <> 5 Then
      MsgBox "有効な値であるか確認してください"
      Exit Sub
    ElseIf Len(sp) <> 3 Then
      MsgBox "有効な値であるか確認してください"
      Exit Sub
  End If

'  (Ifに該当しない場合)結果を表示
kekka:
'  /片方にしか日付が入力されていない場合、検索を行わない
  If IsNull(odf) = False Or IsNull(odt) = False Then
    If IsNull(odf) Or IsNull(odt) Then
      MsgBox "日付が片方にしか入力されていません"
    Exit Sub
    End If
  End If
  
  DoCmd.OpenQuery "結果表示"
474 hits

【12332】BETWEENを使った検索、片方のみ入力された場合 nneeww 13/6/11(火) 11:03 質問[未読]
【12333】Re:BETWEENを使った検索、片方のみ入力され... かるびの 13/6/11(火) 14:41 回答[未読]
【12334】Re:BETWEENを使った検索、片方のみ入力され... nneeww 13/6/12(水) 13:53 お礼[未読]

966 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078191
(SS)C-BOARD v3.8 is Free