奇怪的问题?????????????????(50分)

  • 主题发起人 主题发起人 xxsteven
  • 开始时间 开始时间
X

xxsteven

Unregistered / Unconfirmed
GUEST, unregistred user!
我对报表的打印进行超做的时候,想控制它打印编号为edit1.text的报表。
procedure TForm8.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
begin

Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('SELECT * from rwd');
Query1.Sql.Add('where 编号='''+form2.edit1.Text+'''');
query1.Active:=True;
Query1.Open;
end;

为什么当preview的时候就出错呀,我的编号字段为数字类型,用的access数据库
错误为,datatype mismath in criteria expreession
--
 
这是什么意思?即使和你的问题无关,很定还有别的问题。下面两个只能有一句,两句意思相同,执行两次会出Bug的。
query1.Active:=True;
Query1.Open;
 
因为编号为数值,
Query1.Sql.Add('where 编号='''+form2.edit1.Text+'''');
应改为:
Query1.Sql.Add('where 编号='+form2.edit1.Text);

 

Query1.Sql.Add('where 编号='''+form2.edit1.Text+'''');
改成
Query1.Sql.Add('where 编号='+form2.edit1.Text);
 
强力推荐用fastreport
 
谢谢大家
这个问题到是解决了,但又有了新的问题:
我输入编号为1的时候是打印的1
但我输入2的时候却还是1,这是为什么,是不是我的用的事见不对呀
 
请大家帮住
 
yzhshi 正却
 
在onNeedData事件中要自己处理数据的循环,将记录指针指向正确的位置,详细看delphi自带
帮助吧!
 
嘿嘿,就是不对,在BeforePrint里面添加这些就好了。
你设置了QuickReport的DataSet指向这个Query了吧?一定要设置。
 
接受答案了.
 
后退
顶部