第一次用access作数据库,碰到了三个问题,我建了四张表,一张人员信息表Person1,一张项目表PZproject,一张聘用单位表PYCompany,一张复审表FSproject,四张表是根据Person1表里的身份证号IDCard和证件编号CerNumber来关联的,我查询的时候是这么写的语句
select a.Name,a.Sex,a.IDCard,a.CerNumber,a.OpeSort,a.Department ,b.ProjectName,b.PZdate,b.YXdate,c.company,a.Province,a.City from (Person1 as a left join PZproject as b on a.IDCard=b.IDCard and a.CerNumber=b.CerNumber)left join PYCompany c on b.IDCard =c.IDCard and b.CerNumber=c.CerNumber where a."+condition+"='"+this.txtFind.Text+"' and a.Province='"+pro+"'
有点乱,请见谅,可是却查不出来任何结果,程序还没有抱错这个是为什么?
第二个问题是,一个人的身份证和证件编号对应的项目可能会有很多,一张表单里就会重复出现这个人和多次,怎么写语句只显示这个人最近的项目呢,而不是全部的项目都列出来,每个表我都设置了自动编号,我现在的语句是这么写的
select a.Name,a.Sex,a.IDCard,a.CerNumber,a.OpeSort,a.Department ,b.ProjectName,b.PZdate,b.YXdate,c.company,a.Province,a.City from (Person1 as a left join PZproject as b on a.IDCard=b.IDCard and a.CerNumber=b.CerNumber)left join PYCompany c on b.IDCard =c.IDCard and b.CerNumber=c.CerNumber我只写了三个表
最后一个问题,就是我想修改和删除一个人员信息,怎么写语句才能将四张表里的数据都操作到,我不会

解决方案 »

  1.   

    sql语句方面的复杂句子最好在 access自己的试图里面作测试
      

  2.   

    Access中有一个查询,你在那里建立查询,然后把你的这段代码复制进去执行一下,看看是否有数据,如果有数据,说明你的程序有错,如果没有数据,说明你的查询有误
      

  3.   

    第二个问题 利用自动编号,排序一下就可以找到最近的项目最后一个问题  一个一个表操作就可以啦,如果使用SQL Server,则可以建立存储过程或者触发器来达到同步的目的
      

  4.   

    谢谢,我用的是access啊,为什么我的查询语句不能通过呢,有什么毛病啊