回 帖 发 新 帖 刷新版面

主题:这段代码有什么问题?

我不知道该如何给报表设置数据源?
这样好像是不行,请老师指点一下.

SELECT * FROM mandata WHERE ALLTRIM(MANDATA.姓名)=="张三" INTO CURSOR TEMP1 
SELECT TEMP1
REPORT FORM reportfile\mandatareport2.FRX TO PRINTER PROMPT NODIALOG PREVIEW

报表的数据环境中没有添加表!

回复列表 (共8个回复)

沙发

以下语句没错啊:
SELECT * FROM mandata WHERE ALLTRIM(MANDATA.姓名)=="张三" INTO CURSOR TEMP1 
SELECT TEMP1
REPORT FORM "reportfile\mandatareport2.FRX" TO PRINTER PROMPT NODIALOG PREVIEW

板凳

语句没错,不知道出了什么错误:

当数据环境没有表的时候,报表就使用当前表啊!

你检查报表中的,字段名前面的,表别名是否正确!

3 楼

cbl518老师您好:
问题是这样:
SELECT MANDATA
REPORT FROM....可以,但
SELECT * FROM mandata WHERE ALLTRIM(MANDATA.姓名)=="张三" INTO CURSOR TEMP1 
SELECT TEMP1
REPORT FROM...
就不行,报表预览中表格中都是空记录,不知是为什么?

4 楼

另外,CSDN为什么上不去了?

5 楼

[quote]cbl518老师您好:
问题是这样:
SELECT MANDATA
REPORT FROM....可以,但
SELECT * FROM mandata WHERE ALLTRIM(MANDATA.姓名)=="张三" INTO CURSOR TEMP1 
SELECT TEMP1
REPORT FROM...
就不行,[color=FF0000]报表预览中表格中都是空记录[/color],不知是为什么?[/quote]

如果没有错误提示的话,
请查看你的临时表《TEMP1》中,是否有记录?

如果有记录的话:
[quote]语句没错,不知道出了什么错误:
当数据环境没有表的时候,报表就使用当前表啊!
你检查报表中的,字段名前面的,表别名是否正确![/quote]
那原因就是:以上所述了。不可能会有其它原因了!

鼠标指定你的域控件--〉右击键--〉属性 --〉常规页:
在《表达式》的文本框中将:
MANDATA.字段名 
改为:
TEMP1.字段名
或去掉表别名,直接写成:
字段名

6 楼

在不行的话,
请把把你的数据表和报表文件上传!

7 楼

CSDN 可能被病毒破坏了吧?

8 楼

对对对,是表别名的问题?
谢谢老师指教!

我来回复

您尚未登录,请登录后再回复。点此登录或注册