QuikRep1中QRDBText1与数据库中表字段联系的问题?(50分)

  • 主题发起人 主题发起人 一叶扁舟
  • 开始时间 开始时间

一叶扁舟

Unregistered / Unconfirmed
GUEST, unregistred user!
我在看别人的一段程序,这段程序实现一个报表统计功能,采用的组件是QuickRep。
我先介绍一下这段程序的其他环境:
一个数据库:renshi.db
库中的表有:Archiveinfo,salarylog,lituirenyua
nlog,....等10个表。
然后,用QuickRep来做一张表,有QRDBText1,QRDBText2.....等
QRDBText1中DataField:QT1JE;
DataSet:DataModule.ADOQuery1;
SQL[Ttring]=SELECT a.EmployeeNo,a.Name, a.Sex, a.Birthday,
a.TechnoPost, a.WorkAge, a.BeginJobTime, a.Literacy,
a.HomeTel, a.MobileTel, t.LTXSJ FROM ArchiveInfo a,
LiTuiRenYuanLog t Where a.Status=1
我的问题是:从上面的设置来看,表中QRDBText1栏中应该是字段 QT1JE,而这个字段
是表Salarylog中的字段,在Dataset设置 DataModule.ADOQuery1,而sql 语句中没有
salarylog 表,我不明白,这是如何让salarylog表中的字段被统计到表中的QRDBText1的??
 
我的问题提得不清楚吗?
怎么没人回答啊!!1
 
我可以再说明一下:
就是,设计的报表中有一个栏为QRDBtext1,其统计的内容应该是
表salarylog中的字段QT1JE。
组件QRDBText1的属性设置为:DataField:QT1JE;
DataSet:DataModule.ADOQuery1;
SQL[Ttring]=SELECT a.EmployeeNo,a.Name, a.Sex, a.Birthday,
a.TechnoPost, a.WorkAge, a.BeginJobTime, a.Literacy,
a.HomeTel, a.MobileTel, t.LTXSJ FROM ArchiveInfo a,
LiTuiRenYuanLog t Where a.Status=1

我不明白的是:虽然DataField设置为表salarylog的字段QT1JE,但sql
语句中没有出现salarylog表(出现的是其他两个表),
那么需要统计的表salarylog通过什么方式被联系到这个
统计报表中的?
 
把salarylog表 join 到你的 SQL 语句里
 
谢谢你!!
我是在看别人的程序,我不明白而已。
你说得没错,应该把salarylog表join到SQL语句中,但在程序中没有发现此语句,但
经过运行程序测试,他的确又是去了SALARYLOG表中的这个字段,这是为什么?他是怎么做到的???
我就是不明白这点,既没有直接连到SALARYLOG表,SQL语句中又没有SALARYLOG表,程序中
也没有增加的SQL语句,是怎么做到的?????!!
急急急急急急等!!!
 
报表的数据容器(栏)关联的数据集是什么?
 
不太可能,肯定有关联
要么是在程序里动态修改了SQL或其它的一些属性
要么QRDBtext1关联的不是你所说的ADOQuery1
 
zsy146:你好
数据集是:renshi.bd
其中有时多张表,大概为:archiveinfo,salarylog,salaryinfo,lituirenyuanlog....等。
的确在程序里,在控件的sql语句中都没有发现salarylog表,而且,每个QRDBtext中的sql语句都一样。
另外,DataModule.ADOQuery1中sql语句也是上面的语句内容!!
那位能告诉我,这是怎么回事???

谢谢各位能帮我讨论这个问题!!
 
macwong 你说得没错,这也是我不明白的地方,我这不是才问各位大虾呢嘛!!
如你所说,我也在程序当中,看了所有程序,能查到的地方我都看了,的确没有
动态更改sql的语句或内容!
 
ADOQuery1中有没有lookup字段?双击ADOQuery1打开看看
 
zsy146,你好!
ADOQuery1中没有lookup字段。
 
后退
顶部