在使用Mshflexgrid控件显示表中数据时,我发现数据(例222.22或-222.22)的数据显示为(999999999),不能正确显示。我认为问题可能出在:

bobing7965 2003-09-07 08:44:50
在使用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
...全文
34 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuxiongjun 2003-09-08
  • 打赏
  • 举报
回复
select 'yourfield' = convert(decimal(16,2),yourfield) from yourtable
xuxiongjun 2003-09-08
  • 打赏
  • 举报
回复
select * from gz_data
改为
select *,cast(aaa as char(10)) from gz_data
aaa最好设置为NUMERIC类型,小数点位数设为2
abc10 2003-09-08
  • 打赏
  • 举报
回复
纠正一下
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
abc10 2003-09-08
  • 打赏
  • 举报
回复
Dim I, J As Integer
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
bobing7965 2003-09-08
  • 打赏
  • 举报
回复
谢谢各位:
是显示类似 222.22000999999999999999的数据,abc10你说的循环,format函数规范,我不会用,我共有120个字段,该怎么做,给我一段例子好吗?谢谢!!
阿军,你说的我试了,不好使,提示我“对象'open'的'_Recordset'方法失败”,在帮帮忙想想,谢谢!!!
abc10 2003-09-07
  • 打赏
  • 举报
回复
估计还是数据声明有问题。
abc10 2003-09-07
  • 打赏
  • 举报
回复
你把列宽拉大一点,是不是显示类似 222.22000999999999999999之类的,
你可以在Set MSHFlexGrid1.DataSource = se 之后对该列做个循环,用format函数规范一下数据。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧