两个表:xxinfor(date、typeid、jiliang、pay)、xxtype(dalei、typeid、danwei、spname、pay),Query:ADOQuery_xxinfor(date、typeid、jiliang、pay、danwei(从xxtype表中查找danwei关键字typeid)、spname(从xxtype中查找spname)、pay1(从xxtype中查找pay字段)、income(fkCalculated字段)、money(fkCalculated字段)。date、income、money是要打印的字段procedure TMyData.ADOQuery_xxinforCalcFields(DataSet: TDataSet);
begin
ADOQuery_typ.Close;
ADOQuery_typ.SQL.Clear;
ADOQuery_typ.SQL.Add('select * from xxtype where typeid='+ADOQuery_xxinfortypeid.AsString);
ADOQuery_typ.Open; if ADOQuery_typ.FieldByName('dalei').AsInteger=3 then
begin
ADOQuery_xxinformoney.Value:=ADOQuery_xxinforpay.Value;
ADOQuery_xxinforincome.Value:=ADOQuery_xxinforspname.Value;
end
else if (ADOQuery_typ.FieldByName('dalei').AsInteger=1) or (ADOQuery_typ.FieldByName('dalei').AsInteger=2)then
begin
ADOQuery_xxinforincome.Value:=ADOQuery_xxinforspname.Value+' '+intToStr(ADOQuery_xxinforjiliang.Value)+'×'+ ADOQuery_xxinfordanwei.Value;
ADOQuery_xxinformoney.Value:=ADOQuery_xxinforpay1.Value*ADOQuery_xxinforjiliang.Value;
end
else
begin
ADOQuery_xxinforincome.Value:=ADOQuery_xxinforspname.Value;
ADOQuery_xxinformoney.Value:=ADOQuery_xxinforpay1.Value;
end;
end; MyData.ADOQuery_xxinfor.Close;
MyData.ADOQuery_xxinfor.SQL.Clear;
MyData.ADOQuery_xxinfor.SQL.Add('select * from xxinfor where id='+MyData.ADOQuery_patient.FieldByName('id').AsString+' order by date DESC');
MyData.ADOQuery_xxinfor.Open;
Form17.QuickRep1.Preview;
end;
预览时出现错误:Access violation at address 004AB1C7 in module 'project1.exe',read of address 00000000,请问是什么问题?
我用同一个DataSource给DBGrid浏览没有出现问题,只在打印的时候出现问题!
begin
ADOQuery_typ.Close;
ADOQuery_typ.SQL.Clear;
ADOQuery_typ.SQL.Add('select * from xxtype where typeid='+ADOQuery_xxinfortypeid.AsString);
ADOQuery_typ.Open; if ADOQuery_typ.FieldByName('dalei').AsInteger=3 then
begin
ADOQuery_xxinformoney.Value:=ADOQuery_xxinforpay.Value;
ADOQuery_xxinforincome.Value:=ADOQuery_xxinforspname.Value;
end
else if (ADOQuery_typ.FieldByName('dalei').AsInteger=1) or (ADOQuery_typ.FieldByName('dalei').AsInteger=2)then
begin
ADOQuery_xxinforincome.Value:=ADOQuery_xxinforspname.Value+' '+intToStr(ADOQuery_xxinforjiliang.Value)+'×'+ ADOQuery_xxinfordanwei.Value;
ADOQuery_xxinformoney.Value:=ADOQuery_xxinforpay1.Value*ADOQuery_xxinforjiliang.Value;
end
else
begin
ADOQuery_xxinforincome.Value:=ADOQuery_xxinforspname.Value;
ADOQuery_xxinformoney.Value:=ADOQuery_xxinforpay1.Value;
end;
end; MyData.ADOQuery_xxinfor.Close;
MyData.ADOQuery_xxinfor.SQL.Clear;
MyData.ADOQuery_xxinfor.SQL.Add('select * from xxinfor where id='+MyData.ADOQuery_patient.FieldByName('id').AsString+' order by date DESC');
MyData.ADOQuery_xxinfor.Open;
Form17.QuickRep1.Preview;
end;
预览时出现错误:Access violation at address 004AB1C7 in module 'project1.exe',read of address 00000000,请问是什么问题?
我用同一个DataSource给DBGrid浏览没有出现问题,只在打印的时候出现问题!
解决方案 »
- 访问别台机子数据库的问题
- 关系控制系统关机问题?
- 关于EM-LINEFROMCHAR的问题!在线等!!解决马上给分!
- 超级郁闷,有没有西安的朋友帮忙,提供公司的送高分!!
- 紧急求教,请各位大虾\高手指点一二,关于如何每天定时备份数据库中的表,使用timer控件
- 关于DELPHI版灌水贴太多的问题,欢迎大家来讨论!欢迎各位老大发表意见
- DBGIRD双击怎么多选记录?
- ado查询时,怎么负值竟然变正值哪?
- 请问在DBGird的格里怎样加一个下拉框
- 用 key=#13 可以判断回车键,如何判断按下的是4个方向键呢?不知道是什么值,请教大家!
- 发布软件Firedemon,欢迎使用提供您的意见!!
- 求购无时间限制的录音原代码
1、你的form17是不是动态创建的?如果是动态创建需要先create2、你的QuickRep1的datesource最好等查询完了再指定ado,如:
...
Form17.DateSource1.ADOSet := ADOQuery_xxinfor;
Form17.QuickRep1.Preview;
...