AccessのVBAでSQLのNZ関数を使いNULLの場合、別の値に置換える|フォーム実行例

NULLを別の値に置換える関数

例: SQL = " SELECT NZ(フィールド名 , 置き換える値) FROM テーブル名 "
例: SQL = " SELECT NZ(フィールド名 , 置き換える値) AS 名前 FROM テーブル名 "
Set rs = CurrentDb.OpenRecordset(SQL)

2番目の引数の「置き換える値」は省略可能です。省略すると長さ0の文字列が返ります。



BackHome BackSQL Tips

サンプルソフト
[実行時の画面]
在庫管理テーブルの「型番」がNULLの場合、「未登録」を返します。
「在庫数」がNULLの場合、「0」を返します。

■実行画面
2番目のレコードは型番がNULLなので「未登録」になっています。
3番目のレコードは在庫数がNULLなので「0」になっています。
SQLフォーム

[在庫管理テーブル]
在庫ID 製品名 型番 在庫数
1 ナショナルレンジ700W R-4545 150
2 液晶32V型 220
3 50HZ専用レンジ NNE-5656
在庫管理テーブル

[コード]
Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = Null
    SQL = "SELECT NZ(型番,'未登録'),NZ(在庫数,0) FROM T_在庫管理"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & "「" & rs(0) & "」  「" & rs(1) & "」" & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
End Sub

サンプルソフトのダウンロード

BackHome BackSQL Tips

Copyright(C) FeedSoft