注册 登录
编程论坛 VB6论坛

有点小问题--记录字段为空在文本框中的显示问题

huangyz_xy 发布于 2017-02-28 11:47, 1042 次点击
在执行查询的时候,如果access的“预支金额”为空,执行YzJe.Text = rst.Fields("预支金额").Value的时候会出现“无效使用null”,有什么办法能让此条记录的所有字段不管是不是有内容都显示出来,不出错!因为我的想法是如果没有内容可能就要执行修改!
3 回复
#2
xiangyue05102017-02-28 15:59
这个你可以用isnull函数的
程序代码:

if isnull( rst.Fields("预支金额").Value) then
  YzJe.Text= ""
else
  YzJe.Text = rst.Fields("预支金额").Value
end if
#3
huangyz_xy2017-02-28 16:50
回复 2楼 xiangyue0510
谢谢!
#4
ZHRXJR2017-02-28 18:34
实际上你在设计数据表的时候,对"预支金额"字段设置一个默认值,因为这个字段可能是数字,设置默认值为 0 ,就可以了。
以后使用 YzJe.Text = rst.Fields("预支金额").Value 语句就不会出错了。
当然对于已经存在的数据,你必须修改它的默认值。
下面的代码就是对于 rst.Fields("预支金额").Value 为 Null 时,修改它的默认值:
程序代码:

Private Sub Command1_Click()
Dim rst As New ADODB.Recordset, cn As New ADODB.Connection
'数据库连接略
strSQL = "Select * From 数据表"
rst.Open strSQL, cn, 3, 2
Do While Not rst.EOF
    If IsNull(rst.Fields("预支金额")) = True Then
    rst.Fields("预支金额") = 0
    rst.Update
    End If
    rst.MoveNext
Loop
rst.Close
MsgBox "预支金额字段中的 Null 值全部修改为0了!"
End Sub


[此贴子已经被作者于2017-2-28 19:24编辑过]

1