
VBAで下記のように配列に設定したNULL値を判定しようとしました。
Dim str()
ReDim Preserve str(2)
str(0) = "aaa"
str(1) = Null
str(2) = "bbb"
以下(1)、(2)の分岐処理ではNullと判定されませんでした。
どのように判定すれば良いでしょうか?
(1)
If str(1) = Null Then
Debug.Print "Null値です"
End If
(2)
If str(1) = "" Then
Debug.Print "Null値です"
End If
No.3ベストアンサー
- 回答日時:
解決方法としては、他の方がお書きの通り、isNull() を使うわけですが、
if str(1) = Null Then などという文を書くと言うことは、Nullに対して誤解があるからだと思います。Nullは値ではなく、「有効な値が入っていない」「無効な値が入っている」ということを示すキーワードです。Null に対してどんな演算をしても結果は無効なので、Null になります。
Null = Null の結果=> Null
Null = 何かの値 の結果=> Null
Null <> 何かの値 の結果=> Null
あなたが本当にstr(1)に代入したかったのは、NullなのかEmptyなのか""なのか、もう一度考え直してはどうでしょう。この3つは全く別の物です。
ご回答ありがとうございます。
DBからレコードを取得した際にカラムがNullであるかどうかを
判定する際に困っていました。
ご指摘頂いたのNull、Empty、""の違いをを勉強し直そうと思います。
No.2
- 回答日時:
if isnull(str(1)) then Debug.Print "Null値です"
if typename(str(1))="Null" then Debug.Print "Null値です"
こんな所でしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
動的配列が存在(要素が有る)か否かを判定できますか?
Visual Basic(VBA)
-
配列でデータが入っている要素を求める方法
Visual Basic(VBA)
-
変数にnullを代入するには
Excel(エクセル)
-
4
配列の要素がすべてカラかどうかの判断
Visual Basic(VBA)
-
5
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
6
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
7
Access サブフォームでの選択行の取得
その他(データベース)
-
8
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
VBA 1次元配列を2次元に追加する
Visual Basic(VBA)
-
11
角丸四角形を描きたい
Excel(エクセル)
-
12
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
13
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
14
エクセルへのデータの貼付時に書式が反映されない!
Visual Basic(VBA)
-
15
アクセスVBAのMe!と[ ]
Access(アクセス)
-
16
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
17
Accessのフィールド名に半角括弧を使ってしまった
Visual Basic(VBA)
-
18
【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く
Excel(エクセル)
-
19
access テキストボックスの値取得
Access(アクセス)
-
20
配列の参照渡しで型が一致しません。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
フォームを開くときに、コンボ...
-
5
相関係数p値の出し方
-
6
数字の位ごとの値を表示するプ...
-
7
フリーランタイマーの時間差分...
-
8
VB6.0-整数と余りを求める
-
9
エクセル マクロ 選択と貼り付...
-
10
1つ前の値を変数に保存する方法
-
11
LOG(10)2の意味は?
-
12
Access2003 オートナンバーの現...
-
13
Nullってどういう意味ですか?
-
14
C#.netでの切り上げ処理について
-
15
C言語 exitの使い方
-
16
世界のナベアツ
-
17
C# WinForm のDataGridView Cel...
-
18
Rubyで1ミリ秒のsleepできない...
-
19
Xorshiftの値を絞り込む方法を...
-
20
【C++/CLI】コンボボックスの値...
おすすめ情報
公式facebook
公式twitter