在使用Mshflexgrid控件显示表中数据时,我发现数据(例222.22或-222.22)的数据显示为(999999999),不能正确显示。我认为问题可能出在:取出表中数据时,我声明的变量是String型的(因为数据中有字符串),如何解决?请各位帮帮忙!谢谢!!
下面是我的代码:
————jljlmk是连接数据库的类模块
Set sel = New jljlmk
Dim aaa As String
aaa = "select * from gz_data "
Set se = sel.jlj(aaa)
Set MSHFlexGrid1.DataSource = se
下面是我的代码:
————jljlmk是连接数据库的类模块
Set sel = New jljlmk
Dim aaa As String
aaa = "select * from gz_data "
Set se = sel.jlj(aaa)
Set MSHFlexGrid1.DataSource = se
你可以在Set MSHFlexGrid1.DataSource = se 之后对该列做个循环,用format函数规范一下数据。
改为
select *,cast(aaa as char(10)) from gz_data
aaa最好设置为NUMERIC类型,小数点位数设为2
是显示类似 222.22000999999999999999的数据,abc10你说的循环,format函数规范,我不会用,我共有120个字段,该怎么做,给我一段例子好吗?谢谢!!
阿军,你说的我试了,不好使,提示我“对象'open'的'_Recordset'方法失败”,在帮帮忙想想,谢谢!!!
Dim aaa As String
For I = 0 To MSHFlexGrid1.Cols - 1
For J = 0 To MSHFlexGrid1.Rows - 2
aaa = MSHFlexGrid1.TextMatrix(J, I)
If Len(Mid(aaa, InStr(1, aaa, ".") + 1)) > 3 Then
MSHFlexGrid1.TextMatrix(J, I) = Format(aaa, "0.000")
End If
Next
Next
Dim I, J As Integer
Dim aaa As String
For I = 0 To MSHFlexGrid1.Cols - 1
For J = 0 To MSHFlexGrid1.Rows - 1
aaa = MSHFlexGrid1.TextMatrix(J, I)
If Len(Mid(aaa, InStr(1, aaa, ".") + 1)) > 3 Then
MSHFlexGrid1.TextMatrix(J, I) = Format(aaa, "0.000")
End If
Next
Next