vb中 错误是无效使用NULL,为什么??错误出现在那??

PublicSubshowdata()'显示数据DimjAsIntegerDimiAsIntegerDimmrcAsADODB.RecordsetSetmrc=NewAD... Public Sub showdata() '显示数据

Dim j As Integer
Dim i As Integer

Dim mrc As ADODB.Recordset
Set mrc = New ADODB.Recordset

Set mrc = ExecuteSQL(txtsql)

If mrc.EOF = False Then
mrc.MoveFirst
With MSF1
.Rows = 50
.Row = 1
Do While Not mrc.EOF
.Rows = .Rows + 1
For i = 1 To mrc.Fields.Count
.TextMatrix(.Row, i) = mrc.Fields(i - 1) \\错误语句 无效使用NULL
Next i
.Row = .Row + 1
mrc.MoveNext
Loop
End With
Else
If chazhao = True Then
Form15.Hide
Form2.Show
zzz = MsgBox("对不起,没有此学生的档案记录!", vbOKOnly, "查询")
Form2.ZOrder (0)
Form2.Text1(0).SetFocus

End If
End If
Set mrc = Nothing
End Sub
Private Sub TreeView1_DblClick()
On Error GoTo ss
If TreeView1.SelectedItem.Index = 0 Then
MSF1.Clear
Exit Sub
End If
txtsql = TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)

txtsql = "select 学生信息表.学号,学生信息表.姓名,学生信息表.出生年月,学生信息表.性别,班级表.专业,班级表.班级,学生信息表.学制,学生信息表.籍贯,学生信息表.联系地址,学生信息表.联系电话,学生信息表.入学时间,学生信息表.备注 from 学生信息表 inner join 班级表 on 学生信息表.班级=班级表.班级 where 学生信息表.班级='" & txtsql & "' order by 班级表.年级,班级表.班级 ,学生信息表.学号 "
printstr = txtsql
Me.Caption = "浏览学生档案"
Me.showtitle
Me.showdata
Exit Sub
ss:
MSF1.Clear
End Sub

错误是无效使用NULL,为什么??错误出现在那
展开
 我来答
qingdaofu644
2008-12-19 · TA获得超过106个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:162万
展开全部
.TextMatrix(.Row, i) = mrc.Fields(i - 1) \\错误语句 无效使用NULL

出现以上情况是因为你的数据库里对应字段的记录内容为空(NULL),你可以加个判断或者错误处理,如下:

判断:
.TextMatrix(.Row, i) = IIf(IsNull(mrc.Fields(i - 1))=True,"",mrc.Fields(i - 1)) '如果字段内容为空值,则用""表示,否则用字段内容表示

错误处理:在语句With MSF1 之前加上这句On Error Resume Next

看得明白吧?
百度网友7a6675397
2008-12-19 · TA获得超过238个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:495万
展开全部
你的数据库中有个数据是null值,它不能传给文本框,你将
.TextMatrix(.Row, i) = mrc.Fields(i - 1)
改成
.TextMatrix(.Row, i) = isnull(mrc.Fields(i - 1),"",mrc.Fields(i - 1))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式