# Re: 再请教,我有此不明白?

Posted by Scott on May 30, 1999 at 01:45:46:

In Reply to: 再请教,我有此不明白? posted by kkcheung on May 29, 1999 at 22:05:46:

: : : Do While Not tempset.EOF
: : : temp1 = tempset.Fields!send_name :temp2 = tempset.Fields!CUS_name
: : : temp3 = tempset.Fields!class_name:temp4 = tempset.Fields!Weight
: : : Printer.Print Tab(2); temp1; Tab(10); temp2; Tab(40); temp3; Tab(55); temp4
: : : tempset.MoveNext

: : : If Not tempset.EOF Then
: : : If temp1 <> tempset.Fields!send_name Then
: : : Printer.NewPage
: : : temp1 = tempset.Fields!send_name
: : : End If
: : : End If

: : : 上面一段程式是如果temp1不相同上一个temp1,便newpage.
: : : 出来的结果是:
: : : aaaa,bbbb,cccc,1000
: : : aaaa,bbbb,cccc,500
: : : aaaa,bbbb,dddd,200
: : : aaaa,zzzz,cccc,200
: : : aaaa,zzzz,cccc,400
: : : 怎样可以张结果改成
: : : aaaa,bbbb,cccc,1500
: : : aaaa,bbbb,dddd,200
: : : aaaa,zzzz,cccc,600
: : : 希望大家明白我意思.谢谢!
: : ============================
: : set rs=db.openrecordset("select [send_name],[cus_name],[class_name],sum([weight]) as nweight _
: : from tempset group by [send_name],[cus_name],[class_name]",dbopensnapshot)
: : with rs
: : .movefirst
: : while not .eof
: : Printer.Print Tab(2); ![send_name]; Tab(10); ![cus_name]; Tab(40); ![class_name]; Tab(55); ![nweight]
: : wend
: : .close
: : end with

: 1.)[send_name]与 send_name有什么分别?
答:不好意思,type error,但是一般基础书籍均有详述

: 2.)加上!,是什么作用?
答:tempset![send_name]如同tempset("send_name")

: 3.)with rs 是什么意思?
答:利用with rs.....end with可减轻程式执行时,一
直去辨识物件,如此一来可以加速程式之执行

<较不好>
while not tempset.eof
temp1=tempset![send_name]
temp2=tempset![cus_name]
temp3=tempset![class_name]
temp4=tempset![weight]
wend
<可以参考它>
with tempset
while not .eof
temp1=![send_name]
temp2=![cus_name]
temp3=![class_name]
temp4=![weight]
wend
end with

Follow Ups: