我的MSHFlexGrid设置了数据源后,怎么小数点后会出现好多位? 数据源的小数位只有两位,可是在显示的时候,有的显示了6位,怎么使它只显示两位? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 填充单元格时使用Format$(填充的数字,"###.00") 我也遇到过类似情况,最后还是逐格填充:Private Sub Form_Load() Dim i As Long, j As Long Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset If cnn.State <> adStateOpen Then cnn.CursorLocation = adUseClient cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\xxx.mdb;" End If MSHFlexGrid1.Clear rst.Open "select * from table1", cnn, adOpenStatic, adLockReadOnly, adCmdText j = 0With MSHFlexGrid1 .Cols = rst.RecordCount + 1 For i = 0 To RS2.Fields.Count - 1 .TextMatrix(0, i) = RS2.Fields(i).Name Do While Not rst.EOF j = j + 1 .Rows = j + 1 .TextMatrix(i, j) = Round(rst.Fields(i).Value, 2) rst.MoveNext Loop Next End WithEnd Sub 先用Format(rs.fiels(i),"####.00")格式化,或者用Round(rs.fields(i),2)四舍五入后,再使用循环填充吧, 或者使用format循环填充,或者在将数据写入数据源的时候用format先格式化。 access的SQL支持VB的函数:sql="select format(salary,'0.00') as [salary] from employee" 用DATAGRID就没问题,数据从数据库得到的是二位小数,因为我数据库也是限制的二位小数 填充单元格时使用Format$(填充的数字,"####0.00") 你的數據源是float型的數字吧﹖select的時候用round(字段,2)就可以了。 如何实现用汉语拼音检索信息? 视频监测 关于数据库问题,真的搞不懂了! 如何打印图形以及表格??????着急!!!!!!!! 自己做好程序,想制作成安装包,能修改IE主页的那种(适用各种浏览器那种) 关于个查询的问题,解决给分(急)!!! 数字大小写转换 如何新增資料-資料要從另外一個庫SELECT而來 VB中MHFlexGrid调整栏宽的属性是那个? 怎么回事,该怎么办? 怎样让登陆窗口居于屏幕中央? 窗体icon属性的设置???
Dim i As Long, j As Long
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
If cnn.State <> adStateOpen Then
cnn.CursorLocation = adUseClient
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\xxx.mdb;"
End If
MSHFlexGrid1.Clear
rst.Open "select * from table1", cnn, adOpenStatic, adLockReadOnly, adCmdText
j = 0
With MSHFlexGrid1
.Cols = rst.RecordCount + 1
For i = 0 To RS2.Fields.Count - 1
.TextMatrix(0, i) = RS2.Fields(i).Name
Do While Not rst.EOF
j = j + 1
.Rows = j + 1
.TextMatrix(i, j) = Round(rst.Fields(i).Value, 2)
rst.MoveNext
Loop
Next
End With
End Sub
sql="select format(salary,'0.00') as [salary] from employee"
select的時候用round(字段,2)就可以了。