• ベストアンサー

Access2002 If文で日付が未入力を条件にしたい

Access2002です。 If文で日付が未入力を分岐条件にしたいのですが、条件式はどのような表記になるのでしょうか。 If 購入日 = "" Then 上記では未入力と判断してくれませんでした。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • PPancho
  • ベストアンサー率27% (26/96)
回答No.1

shift-2007さん 何も入力していない状態はNULL(空文字)と判断されます。 Nz(文字列,"NULLだった場合に変換する値")関数を用いればうまくいきます。 購入日がACCESSのフォームで入力するテキスト入力項目だとすると、 If Nz(Me.購入日.Value,"") = "" Then ならばNULLの時に""と認識されます。 ちなみに If Nz(Me.購入日.Value,"hoge") = "hoge" Then と同じです。 もしくは If IsNull(Me.購入日.Value) <> True And (Me.購入日.Value) <> "" Then でも同じです。

shift-2007
質問者

お礼

ご回答ありがとうございます。 購入日のフィールドは日付/時刻型になっているのですが、 その場合はどのような表記になるのでしょうか。

shift-2007
質問者

補足

あー分かりました。 Nullですね。 If IsNull(購入日) Then でうまくいきました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • if文の条件分岐

    お世話になっております。 VBについて初心者なので、参考書を見て勉強しております。 if文の条件分岐についてイメージが出来なくて困っています。 例えば、 (1)Windows XPのインストールのVBS、パラメーター用のbat (2)Windows VistaのインストールのVBS、パラメーター用のbat があるとします。 if文を使って、VBSを開いた時に(1)か(2)の分岐を選択するように書くには「if・・・Then・・・Else」を使って書くのが良いのでしょうか? 勉強不足で自己解決ができません・・・ 宜しく御願いします。

  • If文の条件文の書き方

    お世話になります。 Excelでマクロを作成しております。 内容:  あるセルに、X<=300 というような条件を入れておきます。  ある値、たとえば、500 が来たときに、Xに代入して、  500<=300 という条件式を作り、それが、正しいか、正しくないか  の結果を求めたいと思っています。 このとき、if文の条件文は、値によって、変わらなくてはいけないので、 文字列の置き換え等をして、変数として条件文を作ると、「型が違います」 のエラーになります。 どのように条件文を作ればいいでしょうか?? hani = Cells(1,1).value 'セル1,1に、X<=300 が書かれています。 exp = Replace(hani, "X", 500) '"X"を500と置き換えます。 If exp Then Check = 0 Else Check = 1 End If よろしくお願いします。

  • 条件分岐(if)について

    条件分岐(if)についてお聞きしたことがあります。 例えば if($a == 'A' || $a == 'B'){ 処理 }else if($a == 'C' || $a == 'D' || $a == 'E'){ 処理 }............... といった条件分岐があったとて、お聞きしたいことが2点あります。 ・条件分岐この後も数十個続いたとします。その場合もelse ifで一つ一つ 条件を書かなければならないのでしょうか? ・条件式if($a == 'A' || $a == 'B'....)が長くなる場合プログラムが見にくくなるので 別途に条件式を書いておいてif文の所では($a == ◯)といったように簡潔に書くことは できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • IF文での条件の書き方について(fortran)

    条件 (1)exp(-at)<x  (2)exp(-bt)<y と二つの条件があるとする. (a,b,x,yは定数とし,tは時間でdo文でまわすとする) 例えば,IF( (1) .AND. (2) )THENとすれば,「(1) かつ (2)」となり,つまり,「時間的に,(1)・(2)がどちらが先に条件を満たしたとしても良い」とういうことですよね. 今回,私が作ろうとしているプログラムは 「(1)が先に条件を満たした後に,(2)の条件を満たすなら」というIF文を作りたいのです.( (2)の条件が先に満たしてしまう場合は除きたいということです) こういう場合はどういった表記をすればよいのでしょうか. 下手な文章で読みにくいかもわかりませんが,アドバイスをお願いいたします.

  • ストアドでif文

    (1)ストアドでif文をしたいんですがやり方が少し分からないんでお願いします 日付の項目で空なら日付を読み込まずに処理 日付入力済みならそれを読み込んで処理したいのですが 流れとしては if文で分岐→テーブル項目全削除→追加処理(insert ,serect文で) →終了 ちなみにVBからストアドを読みこんなでAccessを開いています VBの日付はMasked Textです Datetime型 StringからDatetime型に変換できないと出ます (2)ちなみにストアドのWhere文ですが、 ・1と100を比較して100なら全取得、それ以外なら該当番号データ取得 ・日付を以降、以上で検索 もし日付が両方、未入力なら日付未選択で「ある」データを取得したい 片方未入力なら、出来ましたが、両方未入力だと思うようにデータが取れません 工場番号は確認できましたが、日付が思うように表示されないんで出来ればこれもお願いします where ('1' = '100' OR ('1' <> '100' AND 受注残.工場番号 = '1')) AND ( 受注残.受注日 >= '2004/10/01' and 受注残.受注日 <= '2006/10/01') and ('2004/10/01' <> ''2006/10/01'' )

  • アクセスで日付を入力すると曜日がついてきちゃう

    アクセス2002を使い始めたばかりの初心者です。 フォームで日付の入力をすると日付のみしか出てこないのですが、テーブルの方を見ると日付と一緒に曜日が書かれています。 またクエリの抽出条件で日付を入力すると、曜日が自動的にくっついてきて「指定した式の構文が正しくありません」と出てしまいます。 自分でそうしたものなのか、さっぱりわかりません。 とても困っています。 どなたか教えてください。 よろしくお願いします。

  • if文の条件式について

    ASPのIf文の条件として varDateというある日付の入った変数を システム日付プラス1日より過去のものはtrueという 条件をつくりたいのですが、どう記述すればよろしいでしょうか? よろしくお願い致します。

  • アクセスでの日付入力

    アクセスの初心者です。 2000を使っているのですが、フォーム上にチェックボックスと納品日のテキストボックス?を作りチェックボックスにチェックを入れると自動的に納品日(本日の日付)が入るようにしようと思い、自分でいちを作成してみました。 ただ、チェックを入れると日付は入るのですが、チェックを外しても日付が入ったままなのです。チェックを外したら日付も消えるようにする事はできるのでしょうか? チェックボックスのイベント→クリック時に下のようなVBAを入れてます。 Private Sub チェック12_Click() If Me!チェック12 = True Then Me!納品日 = Date End If End Sub

  • IF文

    (A)IF 条件 THEN 単純実行文1 ELSE 単純実行文2 (B)IF 条件 THEN 実行処理1 ELSE 実行処理2 Aの文では単純実行分なのになぜ改行すると(B)の文みたいに実行処理になるのでしょうか? 実行処理と単純実行文の違いを教えてください

  • if [ 条件式 ]とif[[ 条件式 ]]

    シェルスクリプトでのif [ 条件式 ] と if [[ 条件式 ]] の違いについて教えてください。 以下のシェルスクリプトを実行すると、 意図したとおり、111 と出力されます。 =========▼▼(ここから)▼▼========= #!/bin/sh AAA=yes if [[ "$AAA" = [yY]* ]] then echo 111 else echo 222 fi =========▲▲(ここまで)▲▲========= 上記、スクリプト3行目の if [[ "$AAA" = [yY]* ]] の部分を if [ "$AAA" = [yY]* ] というように、角カッコ 1重にすると、 エラーは発生しませんが、 222と表示されます。 if [ 条件式 ] と if [[ 条件式 ]] の違いについて教えていただけないでしょうか。

専門家に質問してみよう