我现在有这样一个表
比如下面的例子:两条记录
NF JLBH MC RQ PZZL PZBH FLH ZYAO NSL NDJ NBM SZY
2001 12353 2 2003-02-28 记 4 0 收非税局返还 15 500 财务部 李四
2001 12354 2 2003-02-28 记 4 1 收非税局返还 25 1000 后勤部 张三
其中NF,PZZL,PZBH是主数据,其他为详细数据
我现在想实现的就是我查询以后
在DBGrid1中显示一个2001,记,4 NF,PZZL,PZBH这三个字段
在DBGrid2中显示对应的上述两条记录中的JLBH MC RQ FLH ZYAO 这5个字段
在DBEDIT1中显示 NSL NDJ NBM SZY剩下的四个字段,(这里要写个循环估计,因为两条记录都有这四个字段)
请教大侠!
比如下面的例子:两条记录
NF JLBH MC RQ PZZL PZBH FLH ZYAO NSL NDJ NBM SZY
2001 12353 2 2003-02-28 记 4 0 收非税局返还 15 500 财务部 李四
2001 12354 2 2003-02-28 记 4 1 收非税局返还 25 1000 后勤部 张三
其中NF,PZZL,PZBH是主数据,其他为详细数据
我现在想实现的就是我查询以后
在DBGrid1中显示一个2001,记,4 NF,PZZL,PZBH这三个字段
在DBGrid2中显示对应的上述两条记录中的JLBH MC RQ FLH ZYAO 这5个字段
在DBEDIT1中显示 NSL NDJ NBM SZY剩下的四个字段,(这里要写个循环估计,因为两条记录都有这四个字段)
请教大侠!
解决方案 »
- 普通同庆阿三生日,放分!
- ADOQuery查询报错 '-' 附近出现问题,请高手来
- 请问,在Rect(0,0,2000,2000)内的图元如何在Rect(200,200,500,500)的区间内显示
- 请教:ip地址欺骗技术(关于ip被封的)
- 如何实现像Winamp那样的频谱显示和EQ调节功能??
- 我用qreport做的每个报表格式都一样,能不能象DLL那样作个模板,然后我只要调用这个模块,然后输入名称,字段个数,名称,还有adoquery就
- 请求事务处理语句.
- 如何让一个窗体始终获得焦点
- 如何修改MainMenu菜单的位置?
- 关于文件压缩的一个问题?
- 送100分求《Delphi6开发人员指南》(中文版)
- 请教关于事务处理的问题。。
select JLBH ,MC , RQ , FLH , ZYAO from table_nameDBEDIT1.datasouse:=DATASOUSE1;
DBedit1.datefield:='字段名'
//DBEDIT1——4,用四个
--------是不是这个意思
query1.add('select nf,pzzl,pzbh from table_name');
query1.open;
dbgrid2 对应query2
query2.add('select JLBH ,MC , RQ , FLH , ZYAO from table_name);
query2.open;
query3.open;
Edit1.text:=Query3.Fields.Fields[0].asstring+Query3.Fields.Fields[1].asstring+Query3.Fields.Fields[2].asstring+Query3.Fields.Fields[3].asstring;
上面少了query1.add 少打了sql了,自己加上
谢谢你的回答,但是我只用了一个ADOQUERY和一个DATASOURCE
DBGRID和DBEDIT都是和它关联的,请再次指教
谢谢
DBEDIT1中要显示NSL+ ND+ NBM +SZY吗?
分开用四个DBEDIT
我现在就一个ADOQUERY呀
因为我要动态的显示
当我在DBGRID1上指向一条记录时
DBGRID2和DBEDIT显示它的详细信息
如果程序小就不需要了。
sql1:string;
begin
adoquery1.sql.add('select nf,pzzl,pzbh from table_name');
adoquery1.open;
adoquery1.sql.clear;DBEDIT1.datasouse:=DATASOUSE1;
DBedit1.datefield:='字段名'
DBEDIT2.datasouse:=DATASOUSE1;
DBedit2.datefield:='字段名' DBEDIT3.datasouse:=DATASOUSE1;
DBedit3.datefield:='字段名' DBEDIT4.datasouse:=DATASOUSE1;
DBedit4.datefield:='字段名' //这是没有问题的, 当我在DBGRID1上指向一条记录时DBEDIT显示它的详细信息。我建议用DBlabel,
//以免修改了数据。修改了没有用adoquery1.post更新。
sql1:='select JLBH,MC ,RQ ,FLH,ZYAO from table_name where 字段名='+ adoQuery1.Fields.Fields[0];//当你在DBGRID1上指向一条记录时DBGRID2会变。
//大概意思就这样。其他的你自己看书吧。
adoquery2.sql.clear;
adoquery2.sql.add(sql1);
adoquery2.open;
但问题是,我现在就只能用一个DATASOURCE一个ADOQUERY
还有就是我在DBGRID1中不光有那3个字段,我还有其他主数据,
而我只是根据他们重复是否来筛选数据比如我还有一个字段
SHRY
王五
刘三
我页要显示在DBGRID1中
请问如何解决!
但就是经理提出来了
你这样重复肯定不行
如果记录少还看的完
如果记录很多怎么办?
所以要根据我上述的三个字段来进行,它们肯定要在DBGRID1中显示,当然还有其他主数据
细数据则在DBGRID2
还有一部分在DBEDIT