
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)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
変数にnullを代入するには
Excel(エクセル)
-
-
4
クラスのプロパティに構造体を使いたい。
Visual Basic(VBA)
-
5
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
6
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
7
Accessのフィールド名に半角括弧を使ってしまった
Visual Basic(VBA)
-
8
レコードセットにnullの場合
Visual Basic(VBA)
-
9
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
10
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
11
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
12
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
13
レコードセットの中身を配列に、そしてワークシートに。
Visual Basic(VBA)
-
14
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
15
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
16
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
17
VBAで変数内に保持された二次配列データをテーブルに格納
Access(アクセス)
-
18
VBA 別ブックからコピペしたいのですが、軽くしたいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel-vba 文字列と変数を...
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
VBで余りを求める
-
GPIBの応答について
-
VBAで72時間タイマーがオーバー...
-
4択問題のプログラムでランダム...
-
intB = 1 + (intA <= 3) ??
-
DWORDって
-
バッチファイルで正規表現を使...
-
Access2003 オートナンバーの現...
-
vbaで極大値を抽出する方法
-
関数で複数の値を戻り値として...
-
ラジオボタンの値の取得につい...
-
c言語で乱数を扱うときの
-
VB6でのLog
-
エラーの意味は? Lvalue req...
-
VBAでコマンドプロンプトの結果...
-
IEEE規格で「いちばん近い偶数...
-
配列の値を置換するにはどうす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 exitの使い方
-
Excel-vba 文字列と変数を...
-
フォームを開くときに、コンボ...
-
VB6.0-整数と余りを求める
-
VBAで配列のNULL判定
-
数字の位ごとの値を表示するプ...
-
フリーランタイマーの時間差分...
-
VBAの定数の使い方で、計算値を...
-
足して100になるような乱数のア...
-
Access2003 オートナンバーの現...
-
DWORDって
-
Xorshiftの値を絞り込む方法を...
-
ラジオボタンの値の取得につい...
-
DataGridView 複数行同時変更...
-
C#で動的にコントロールを取得...
-
VBA コンボボックスの値をスピ...
-
vbaで極大値を抽出する方法
-
Nullってどういう意味ですか?
-
コンボボックスの名前を変数に...
-
データ構造のmapとは?
おすすめ情報