数据库是sql2000 我是用recordset 作为数据源。
当我在往section1中写入纪录的时候, 当遇到null值得时候我将其设为"", 语句可以执行没有问题。
但是当我用datareport.show的时候 就会出现这个问题。
我的代码在下面
现在很郁闷! 在线等待sql = "select assetno,userno,pcname,place from " & asset & " order by " & assetno & " desc "
Debug.Print sql
reportdbcon sql
Set DataReport1.DataSource = rs
If rs.RecordCount = 0 Then Exit Sub
Dim txt As New Collection
Dim ctl As Object
Do While Not rs.EOF
For Each ctl In DataReport1.Sections.item("Section1").Controls
If TypeName(ctl) = "RptTextBox" Then
Select Case ctl.Name
Case "Text1"
If Len(rs.Fields("userno")) = 0 Then
ctl.DataField = rs.Fields("userno").Name
Else
ctl.DataField = ""
End If
Case "Text2"
If Len(rs.Fields("assettype")) = 0 Then
ctl.DataField = rs.Fields("assettype").Name
Else
ctl.DataField = ""
End If
Case "Text3"
If Len(rs.Fields("place")) = 0 Then
ctl.DataField = rs.Fields("place").Name
Else
ctl.DataField = ""
End If
End Select
End If
Next
rs.MoveNext
Loop
DataReport1.Show ------------------执行到这里,就会报错!
当我在往section1中写入纪录的时候, 当遇到null值得时候我将其设为"", 语句可以执行没有问题。
但是当我用datareport.show的时候 就会出现这个问题。
我的代码在下面
现在很郁闷! 在线等待sql = "select assetno,userno,pcname,place from " & asset & " order by " & assetno & " desc "
Debug.Print sql
reportdbcon sql
Set DataReport1.DataSource = rs
If rs.RecordCount = 0 Then Exit Sub
Dim txt As New Collection
Dim ctl As Object
Do While Not rs.EOF
For Each ctl In DataReport1.Sections.item("Section1").Controls
If TypeName(ctl) = "RptTextBox" Then
Select Case ctl.Name
Case "Text1"
If Len(rs.Fields("userno")) = 0 Then
ctl.DataField = rs.Fields("userno").Name
Else
ctl.DataField = ""
End If
Case "Text2"
If Len(rs.Fields("assettype")) = 0 Then
ctl.DataField = rs.Fields("assettype").Name
Else
ctl.DataField = ""
End If
Case "Text3"
If Len(rs.Fields("place")) = 0 Then
ctl.DataField = rs.Fields("place").Name
Else
ctl.DataField = ""
End If
End Select
End If
Next
rs.MoveNext
Loop
DataReport1.Show ------------------执行到这里,就会报错!
解决方案 »
- vb问题
- vb批量文本框设置
- 我编写的软件,有些人打不开,有些人打得开,怎么办?
- 》》》关于对文本文件(非内容)加密的问题!!
- 我的程序中很多初试设置放在MDB和TXT文件中,如何禁止用户修改。
- ActiveReports中,可不可以动态的引用它生成的*.rpx 对象
- 送分100分:VB6用什么报表控件好
- 在執行一段代碼時,要實現按下Esc鍵就可以中斷運行,如何寫捕捉按下Esc鍵的代碼?
- 我的计算机每秒运算多少次!
- 在msflexgrid中如何隐藏一列
- 如何遍历form中的所有控件??
- SdeConnect: Failed to connect. Connection error: #-102
ctl.DataField = rs.Fields("userno").Name
Else
ctl.DataField = ""
End If
--------------------------------------------------------------------
好几个条件是不是都写反了?
If Len(rs.Fields("userno")) = 0 Then
应该是
If Len(rs.Fields("userno")) <> 0 Then 吧
恩对 faysky2() 说的对 , 我范了低级的逻辑错误
-------------------------------------
代码看起来没什么错误,看看是大小写的问题