请问这段代码是什么意思 ? 如何用自己做报表!!一旦说明白了 我马上结帖!!!Data1.Refresh
mnData1.Recordset.MoveLast
Dim m
m = Data1.Recordset.RecordCount
ReDim X1(m) As String, X2(m) As String, x3(m) As String
m = 0
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
m = m + 1
X1(m) = Text1: X2(m) = Text2: x3(m) = Text3
Data1.Recordset.MoveNext
Loop
Data1.Recordset.Close
mnData1.Recordset.MoveLast
Dim m
m = Data1.Recordset.RecordCount
ReDim X1(m) As String, X2(m) As String, x3(m) As String
m = 0
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
m = m + 1
X1(m) = Text1: X2(m) = Text2: x3(m) = Text3
Data1.Recordset.MoveNext
Loop
Data1.Recordset.Close
mnData1.Recordset.MoveLast'记录集指向最后一条记录
Dim m'定义variant变量
m = Data1.Recordset.RecordCount'记录集记录数
ReDim X1(m) As String, X2(m) As String, x3(m) As String
m = 0
Data1.Recordset.MoveFirst'指向记录集第一条记录
Do While Not Data1.Recordset.EOF'纪录即是否结束作为循环条件
m = m + 1
X1(m) = Text1: X2(m) = Text2: x3(m) = Text3
Data1.Recordset.MoveNext'指向记录集下一条记录
Loop
Data1.Recordset.Close'关闭记录集
Data1.Refresh '刷新数据控件,以获得数据
mnData1.Recordset.MoveLast '将数据库的游标移动到最后,以便后面获得真正的数据集的个数。之所以这么作,是因为在有些打开方式下,数据库对象recordcount属性总是返回-1或者0,无法返回正确的记录数,这并不是bug,而是跟ADO、DAO等对象打开数据库的方式有关。
Dim m
m = Data1.Recordset.RecordCount '获得数据库结果集的个数
ReDim X1(m) As String, X2(m) As String, x3(m) As String
m = 0
Data1.Recordset.MoveFirst '再次将数据库的游标移动到第一个记录,以便开始读书
Do While Not Data1.Recordset.EOF '如果没有到记录的尾部则循环
m = m + 1
X1(m) = Text1: X2(m) = Text2: x3(m) = Text3 '因为text1、2、3已经与数据库控件作了绑定,所以text1、2、3中的值就是数据库游标所指的当前记录的值,具体是那些字段,就要看text1、2、3中的设置,这一句就是把记录的3个字段的值保存到数组当中。
Data1.Recordset.MoveNext '将数据库游标向后移动一个,即开始读下一条记录,这样text1、2、3的值也会跟着改变。
Loop
Data1.Recordset.Close '关闭实际上,他的循环既然是用while而不是for来作,有很多是可以省略的,比如改成如下的程序:
Data1.Refresh
Dim m
m = 0
Do While Not Data1.Recordset.EOF
ReDim preserve X1(m) As String, X2(m) As String, x3(m) As String
m = m + 1
X1(m) = Text1: X2(m) = Text2: x3(m) = Text3
Data1.Recordset.MoveNext
Loop
Data1.Recordset.Close
mnData1移动到最后一条记录
定义m
m等于Data1的数据记录的量
定义X1(m) ,X2(m) ,X3(m) 是字符型
设定m =1
移动到第一条记录
在记录没有在最后一条以后做以下的事:
m = m + 1
X1(m) = Text1: X2(m) = Text2: x3(m) = Text3
(这些不用解释了吧)
移动到下一条记录
循环
关闭
如何用printer 把数组中元素打印出来
printer.print X1(i)
next
printer.newpagefor i=0 to ubound(X2)
printer.print X2(i)
next
printer.newpagefor i=0 to ubound(X2)
printer.print X2(i)
nextprinter.EndDoc