我现正在搞一采集系统,采集出来的数据已存入数据库(ACCESS)中,现在要把历史数据打印出来,通过报表.
因为报表上的数据在数据库中的几个表中,我现想通过联合查询,把它们放入一个结果集中,然后在报表
(ACTIVEREPORT或DATAREPORT)中,以下是我的SQL语句:
SQL = "select Testini.*,Chs.*,Maxtv.*,Limited.* from Testini Inner join Chs ON Testini.TestNo=Chs.TestNo Inner join Maxtv ON Chs.TestNo=Maxtv.TestNo Inner join Limited ON Maxtv.TestNo=Limited.TestNo where Testini.TestNo='" & CboNo.Text & "'"
说明:
Testini为初始化数据表,
Chs为通道命名表.
Maxtv为所采集的数据表,
Limited为最高值表.我想问下:
1、这条SQL语句是否正确?
2、通过执行它,得到的是包括以上四个表中所有字段值的一个结果集吗?为了赋给报表的数据源。
3、我把这个结果集赋给报表的数据源,在报表中的每个动态值中的字段名是怎么取名,就是属性中的DataField的名字,比如表中的一个time字段,是取Testini.time呢,还是取time?谢谢!
   

解决方案 »

  1.   

    1.因为表中有重名字段,最好写出字段名 select Testini.TestNo as aa,Chs.TestNo as bb
    2.是
    3,time
      
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    有重复?
    意思是说这四个表除了TestNo字段之外就不能其它的重复的字段了吗?这可能也是第3个问题我为什么问是取Testini.time还是取time的原因。谢谢回复!
      

  3.   

    表名.字段名 就可以區分了 你也可以重名名 表名.字段名 as NewCol