If Not rs.EOF Then
MSHFlexGrid1.Rows = rs.RecordCount + 1
For i = 1 To rs.RecordCount
For n = 0 To rs.Fields.Count - 1
MSHFlexGrid1.TextMatrix(i, n) = rs.Fields(n)
Next
rs.MoveNext
Next
End If
这段话是给MSHFLEXGRID赋值,但是当表中一个字段的值为空的时候,程序就提示出现错误,请问要怎么样修改才能不出现错误呀 ?
MSHFlexGrid1.Rows = rs.RecordCount + 1
For i = 1 To rs.RecordCount
For n = 0 To rs.Fields.Count - 1
MSHFlexGrid1.TextMatrix(i, n) = rs.Fields(n)
Next
rs.MoveNext
Next
End If
这段话是给MSHFLEXGRID赋值,但是当表中一个字段的值为空的时候,程序就提示出现错误,请问要怎么样修改才能不出现错误呀 ?
MSHFlexGrid1.Rows = rs.RecordCount + 1
For i = 1 To rs.RecordCount
For n = 0 To rs.Fields.Count - 1
MSHFlexGrid1.TextMatrix(i, n) = iif(Len(Trim(rs.Fields(n)))=0," ",rs.Fields(n))
Next
rs.MoveNext
Next
End If
MSHFlexGrid1.Rows = rs.RecordCount + 1
For i = 1 To rs.RecordCount
For n = 0 To rs.Fields.Count - 1
MSHFlexGrid1.TextMatrix(i, n) = IIf(IsNull(rs.Fields(n)), "", rs.Fields(n))
d = IsNull(rs.Fields(n))
Next
rs.MoveNext
Next
End If
If mrc1.EOF = False Then
With MSFlexGrid7
.Rows = 1
Do While Not mrc1.EOF
.Rows = .Rows + 1
For i = 0 To mrc1.Fields.Count - 1
.TextMatrix(.Rows - 1, i) = mrc1.Fields(i) & ""
Next i
mrc1.MoveNext
Loop
End With
End If
就能实现上面的代码,请问这样做有什么不妥吗?
后面要加上&""
这代表如果是空的就为""
假如有以下情况,就不可能用帮定记录集方式,如:
表中的性别字段男用‘1'、女用‘0'表示……显示到Grid上不能显示1和0吧;
又如,当某字段的值小于0时,该字段上就显示0,等等……
这样的情况太多了,也许你遇到的问题少。