如果你的报表的字段数目是固定的,这就好办。 在DETAIL中排好TEXTBOX,把它们的DATAFIELD依次设为FIELD1、FIELD2... 而你的SQL则统一使用别名。 SELECT ID AS FIELD1,NAME AS FIELD2 .... SELECT CARGO AS FIELD1,TYPE AS FIELD2... 再把RS绑定到报表的DATASOURCE就可以了。
谢谢。但是报表及报表中各控件的DATAMEMBER怎么办,空吗?
另外,报表的datasource怎样与查询结果建立联系?
如果DATAREPORT直接与RECORDSET连接,DATAMEMBER不用设置,只设置DATAFIELD就可以了。 建立方法如下: 在DATAREPORT中建立以下SUB dim rs as new adodb.recordset PUBLIC SUB RPTPRINT(BYVAL strSql as string) rs.open strsql,cn,3,1 set me.datasource=rs me.show end sub 在外部调用datareport1.rptprint就可以了
另外,在Datareport的Terminal事件中加入以下代码: if rs.state<>0 then rs.close set rs=nothing
我是到出到excel的,允许用户选择字段
set datareport.datasource=rs datareport.Sections("section1").Controls("label2").datafield = rs("field1") datareport.show 注意这两句的顺序,不然会出现无数据源的错误提示
回复人: nebular(星云) ( ) 信誉:100 2002-04-17 14:40:00 得分:0 如果DATAREPORT直接与RECORDSET连接,DATAMEMBER不用设置,只设置DATAFIELD就可以了。建立方法如下:在DATAREPORT中建立以下SUB dim rs as new adodb.recordset PUBLIC SUB RPTPRINT(BYVAL strSql as string) rs.open strsql,cn,3,1 set me.datasource=rs me.show end sub 在外部调用datareport1.rptprint就可以了 ************************************** 我是过了,可是在rs.open strsql,cn,3,1处, 实时错误"3001": 变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。
在DETAIL中排好TEXTBOX,把它们的DATAFIELD依次设为FIELD1、FIELD2...
而你的SQL则统一使用别名。
SELECT ID AS FIELD1,NAME AS FIELD2 ....
SELECT CARGO AS FIELD1,TYPE AS FIELD2...
再把RS绑定到报表的DATASOURCE就可以了。
建立方法如下:
在DATAREPORT中建立以下SUB
dim rs as new adodb.recordset
PUBLIC SUB RPTPRINT(BYVAL strSql as string)
rs.open strsql,cn,3,1
set me.datasource=rs
me.show
end sub
在外部调用datareport1.rptprint就可以了
if rs.state<>0 then rs.close
set rs=nothing
datareport.Sections("section1").Controls("label2").datafield = rs("field1")
datareport.show
注意这两句的顺序,不然会出现无数据源的错误提示
如果DATAREPORT直接与RECORDSET连接,DATAMEMBER不用设置,只设置DATAFIELD就可以了。建立方法如下:在DATAREPORT中建立以下SUB
dim rs as new adodb.recordset
PUBLIC SUB RPTPRINT(BYVAL strSql as string)
rs.open strsql,cn,3,1
set me.datasource=rs
me.show
end sub
在外部调用datareport1.rptprint就可以了
**************************************
我是过了,可是在rs.open strsql,cn,3,1处,
实时错误"3001":
变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。
http://www.csdn.net/Expert/TopicView1.asp?id=654745
rs.open strsql,cn,3,1
运行中 strsql没问题,而cn为空值。
rs.open strsql,cn,3,1
CN要换成你的ADODB连接,RS要换成你的RECORDSET
由于您的帮助,我的处女问得到解决,希望以后多多照顾小弟。