私はAccess VBAのレコードセットをループし、変数の値をVBAの文字列として抽出します。それは私にNULL値についてのMsgBoxとエラーになりますVBAにアクセスする:VBA文字列のSQL文字
Sub test()
Dim rs As DAO.Recordset
Dim m As String
Set rs = CurrentDb.openrecordset("myTable")
If Not (rs.EOF And rs.bof) Then
rs.movefirst
Do Until rs.EOF
debug.print rs!myField 'works
MsgBox rs!myField 'doesn't work
rs.movenext
Loop
End If
rs.Close
End Sub
が、それはのDebug.Printのために正常に動作します:これは動作しません。私はrs!myField
をVBA文字列変数に抽出することはできません。テーブルの文字変数にはnull値が含まれていますが、まだそれを使用できるはずです。
のようなもの試してみてくださいあなたは、単にMsgBoxにNZ( "nullの場合、値" RS myFieldでは、!)行うことができます。 'myStr = rs.Fields( "のMyField")はその後、あなたのメッセージボックスでmyStrそれを使用する[値] 。 –
'myStr'に値を代入すると同じエラーが発生しますが、' debug.print'はコードFWIWで動作します。 – Carl