数据库中的数据类型为整形或长整形,建立记录集RS后,用set mshflexgrid=rs,表格中的数据变为小数点后有许多位,不知道为何?如何避免这种情况?

解决方案 »

  1.   

    如果可以的话就控制mshflexgrid的 列宽 ;
    如果数据少的话就截取数值 长整形本来就不短阿
      

  2.   

    在Select 语句中用 Format()函数来格式化,如有Num字段
    Select Format(Num,'0##') From [表]
      

  3.   

    MSHFlexGrid1.TextMatrix(i, j) = Format(MSHFlexGrid1.TextMatrix(i, j), "##0.00")
    'MSHFlexGrid控件中第i行,第j列显示的数据为保留小数点后两位。
      

  4.   

    哈哈...今天我遇上了不此二十个人的问题是关于MSHFLEXGRID的.兄弟,给我加100分,我将一个MSHFLEXGRID控件的扩展控件(注.是扩展控件,一旦与一个MSHFLEXGRID绑定,就是对MSHFLEXGRID的操作,功能增加了几百个属性,方法,事件,编辑,查找,替换,打开CNN,打开RS,保存文件,加载文件等等.....)给你.保证能解决你目前,将来...以后在MSHFLEXGRID上所遇到的问题.功能嘛,可能比你想象的还要多一点,好点.哈哈....(因为我是用该控件做MRP的)
    [email protected]
      

  5.   

    查询时使用ROUND() 函数
    select ROUND(val,precision) from Table
      

  6.   

    推荐的做法是
    .textmatrix(x,y)=rs!field("").value而不是简单的set .recordset=rs
      

  7.   

    在Access数据库中用Format()函数
    在SQL数据库中用Convent()函数
      

  8.   

    应该说mshflexgrid是用vb编程的朋友们最喜欢的控件之一,我没有碰到过搂主所说的问题,我也没有用过 set mshflexgrid=rs你可以用循环填充Grid,
    for i=1 to 纪录总数
      MSHFlexGrid1.TextMatrix(i, 0)=i
      MSHFlexGrid1.TextMatrix(i, 1)=adors!f1
      MSHFlexGrid1.TextMatrix(i, 2)=adors!f2
       ...
      MSHFlexGrid1.TextMatrix(i, 8)=adors!f8
      纪录下移
    next
      

  9.   

    前后需要加
    grid0.Redraw = False
    grid0.Redraw = True
    的,速度根本不成问题,我做实验用的是20000条记录,也就需要1秒钟
      

  10.   

    我现在用的就是逐个填充法,set mshflexgrid=rs的机理可能也是逐个填充!?