讨论向Formula One 6中填充SQL记录集数据的速度问题,VsView7,VSFlexGrid7的注册码
qffhq 2002-12-21 09:23:53 1.求助VsView7,VSFlexGrid7的注册码(videosoft.com)
2.讨论向Formula One 6中填充SQL记录集数据的速度问题
首它说明不用Formula One 自己的填充记录集的功能
用数据向Formula One 6中填充时,对于字符型数据,像01111
这样的数据,如果不用TextRc填充,则最前面的0不能显示,如果用TextRc填充可
正常.
1).现在我要把整个记录集都填充到Formula One 6个,在填充时如果用SetTabbedTextEx进行每次填充一行数据,则字符型数据前面的0不能显示.只好每个单元格填充一次,但这样速度比较慢.
在Excel中可以把单元格设置为文本类型,Formula One 6可以吗?
好象General格式是不行的.
2).如果对数值类型的单元格用TextRc填充后,在设置公式时取它的数值不正确,所以我在用TextRc填充完后,设置NumberRC=TextRc这样又填充了一次,
速度更慢了.
有没有其它方法?
我现在的过程是这样的
'Book为工作表,Record为记录集对象
'------------------------------------
With Book
'填充数据(为了正确显示字符类型前的0,只能一格一格了......(太慢.............)
If Not Record.EOF Then
For i = nStartRow To .MaxRow
For m = nStartCol To .MaxCol
.TextRC(i, m) = Record.Fields(m - 1) & ""
Next
Record.MoveNext
Next
End If
'填充格式数据
For i = nStartCol To .MaxCol
If Record.RecordCount <> 0 Then
'取记录集的数据类型
nType = 0
Select Case Record.Fields(i - nStartCol).Type
Case adDecimal, adNumeric, adCurrency, adInteger, adSmallInt, adTinyInt, adDouble, adSingle: nType = 1
Case adBoolean: nType = 2
End Select
'填充数据(为了正确设置公式,只能设置NumberRC=TextRc又填充了一次,....(这里也降低了速度)
For m = nStartRow To .MaxRow
Select Case nType
Case 1: If HideZeroNumber And .TextRC(m, i) <> "" Then .NumberRC(m,i)= Val(.TextRC(m, i))
Case 2: If .TextRC(m, i) <> "" Then .TextRC(m, i) = IIf(.TextRC(m, i), " 是", "否")
End Select
Next
End If
Next
我很急的。。。。。。。。。。。。。。。。。