# Re: Data Report难到真的办不到最基本的功能??很急~很急!

Posted by SQL on September 11, 1999 at 15:39:01:

In Reply to: Re: Data Report难到真的办不到最基本的功能??很急~很急! posted by 小尼 on September 11, 1999 at 01:56:47:

:
: : 1.DataReport好像没有这个功能(至少我找不到)
: : 2.可使用暂写于rsCommand的方式来给他流水号的值
: : 3.如不使用上述方式,可考虑暂存资料于另一Table
: : 再开启Command,当然Close rsCommand时要Delete
: : 暂存Table内的资料
: 对于你提出的第二个解决方案可以再说的明白点吗?
: 你的意思是select出来到前端后在程式中改变recordset
: 的值吗?
1.其实你也知道,Table内的资料和Recordset的资料由于前
后端不同,所以资料是可以不一样的,但由于一般我们使用
时会将Table及Recordset当成是相同的,因为使用者通常
要将资料写进DataBase内时,都希望可以直接修改,所以不
需特别注意前后端的问题..........
2.使用DataReport时,他所承接的资料仅可以从
DataEnvironment中的rsCommand中取得,而rsCommand一般
使用下又是连接至Table,所以会有DataReport无法指定资
料的情况
3.但这里有个关键点,Table内的架构是程式设计前的工作
甚至是早就存在而你目前只是引用而已,所以你通常不该
去改这个部分
4.所以考量点应置于开启的RecordSet上,我们可藉由SQL
来select出自己要的栏位名称,还记得select语法中可用
栏位别名吗?我们可指定一个Table内没有的栏位名称来
记录我们使用的流水号(其他值也可存入!)
5.完成Recordset结构的修改,还必须确认一件事,就是
DataReport及DataEnvironment.rsCommand的前后关系,
我们知道DataReport开启时若rsCommand未开启,则会自
动开启再送资料予DataReport,那可否于DataReport开
启前先将rsCommand开启再由DataReport引用rsCommand
的资料(当然可以!不然我也没戏唱了)
6.既然可先开启rsCommand,又可自定rsCommand架构,那
你已经知道如何加入流水码了吧!!
7.听了一堆废话后还是给你完整方式吧,如下
*开启的rsCommand使用SQL如
Select *,Space(4) as NewFieldName from Table
这个NewFieldName并非Table内的Filed而是自己变出来的
*DataReport内要使用流水号的栏位就连接这个栏位
*开启rsCommand后并执行下面程式
i=1
While Not rsCommand.Eof
rsCommand(NewFieldName) = str(i)
i=i+1
rsCommand.MoveNext
Wend
*然后直接开启DataReport就可看到流水号了!!!!!
PS,为了避免.MoveNext这个方法触发rsCommand的资料
写入Table内(没有这个栏位会当掉)记得将LockType改
为批次乐观索定...................
最后祝你好运了..................

Follow Ups: