资源描述:
《查询模板课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、查询模板模板学习1.打开模板打开一个任何一个查询程序,遇到如下的报错:创建窗体时继承模板没有打开,此时打开的程序无法调出窗体,只需要在class处点开继承的板板,然后关掉前面打开的程序,再打开一次即可。2.学习理解模板a.查询函数procedureTCustomSearchModel.MakeSQL;beginend;functionTCustomSearchModel.GetResultTable(bm:TBatchMode):Boolean;beginResult:=(tblAnswer.BatchMove(SqlSrch,bm)>0)e
2、nd;模板学习b.不同种结果的显示functionTCustomSearchModel.GetDataSet:TTblShowQry;beginResult:=TblShowQry;end;c.显示求合列functionTSearchSPXS.GetCalcField:string;beginResult:=inheritedGetCalcField;KillCalcField(Result,'LSDJ;XSSL;SP_ID;PJDJ;SBID');end;模板学习d.排序函数(字段)functionTSrchGZJXC.GetSortFie
3、ld:string;beginifrgHZFS.ItemIndex=0thenResult:='RQ;DEPTID;HSFS'elseResult:='DEPTID;HSFS';end;模板学习1.预备知识a.给库里插入菜单。insertintoBFPUB.PROCMSGDEF(MSG_ID,CAPTION,FUNC_COMMENT,LIBID,MSGTYPE,SKBZ,PARENT_MSGID,PARENT_STATUS,DISPLAY_INX,BJ_FJQX1,BJ_FJQX2,BJ_FJQX3,BJ_FJQX4)values(10000
4、009,'销售查询','CM_XSGL_XSCX',101100,0,0,null,0,0,1,1,0,0)b.在bfmenu_bh.def里加入新定义的菜单内容。CM_XSGL_XSCX=10000009;//销售查询c.运行程序能看到新加的菜单查询练习查询练习2.写查询步骤a.新建一个查询查询练习b.保存在XSGL里c.将新建程序相关内容加到unXSGLExecBpl里。fmXSSrch,CM_XSGL_XSCX:DoXSSearch(AOwner);//销售查询;d.运行程序可看到新加菜单界面显示。e.运用模板里的函数完成需要的查询。查
5、询练习3.练习a.根据BM,SPZHSJR/Y完成如下查询查询结果:日期,供货单位,部门,部门名称,销售金额,销售数量,销售均价=销售金额/销售数量查询条件:日期(日月年),供货单位,单位名称,部门(部门级别)1)查出某一天(2009.12.2)的销售数据2)查出某天某部门(2009.12.2日,白云商厦超市部超市内场冷冻二柜)的销售数据3)查出某天某部门某供货商(2009.12.2日,白云商厦超市部超市内场冷冻二柜,03164号供货单位)的销售数据查询练习4)查出某天某部门某供货商(2009.12.2日,白云商厦超市部超市内场冷冻二柜,03
6、164号供货单位)的销售数据,加上部门级别运行过程中报这个错是SQLMonitor不起作用,继续运行不受影响查询练习自己练习:从SPJXCR/Y,BM,SPXX表里取数做下面查询:查询条件:日期(日月年),部门(分级次),商品代码查询结果:日期,部门代码,部门名称,商品代码,商品名称,结存数量,结存金额,结存均额5)在4的基础上加上日月年的控制条件6)用临时表完成上面的查询给自己的练习加上5,6两个条件并完成查询练习代码1:SQL.Clear;SQL.Add('selectRQ,GHDW,W.NAME,B.DEPTID,');SQL.Add(
7、'B.DEPT_NAME,sum(XSJE)XSJE,sum(XSCB)XSCB,');SQL.Add('CASEsum(XSJE)WHEN0THEN0ELSEROUND(sum(XSJE-XSCB)/sum(XSJE),2)ENDXSJJ');SQL.Add('fromSPZHSJRR,BMB,WLDWWwhereR.GHDW=W.CODE');//SQL.Add('ANDR.DEPTID=B.DEPTID')SQL.Add('ANDsubstring(R.DEPTID,1,:JC)=B.DEPTID');ifedTDate.Value1<
8、>''thenbeginSQL.Add('andRQ>=:RQ1');ParamByName('RQ1').Value:=edTDate.Value1;end;if