Access count函数的问题!

z15874666325 2015-01-31 10:11:16
代码:
SQL:='Select Count(*) from 个人信息表,单位信息表,考核情况表 where (考核等级=''优秀'') and (考核年度='+Year+') and (考核情况表.个人ID=个人信息表.个人ID) and'+
' ( 个人信息表.单位ID=单位信息表.单位ID) and (单位信息表.单位ID='+#39+User.DanweiIDCurrent+#39+')';
FormMain.ADOQueryTreeShowMainInfo.Close;
FormMain.ADOQueryTreeShowMainInfo.SQL.Clear;
FormMain.ADOQueryTreeShowMainInfo.SQL.Add(SQL);
try
FormMain.ADOQueryTreeShowMainInfo.ExecSQL;
//Self.Youxiurenshu:=FormMain.ADOQueryTreeShowMainInfo.Fields.Fields[0].AsInteger;
Count函数如果这样取,会提示越界,为何在SQL2005当中取又没有问题?
except
end;

用 SQL:='Select Count(*) as 数量 from 个人信息表,单位信息表,考核情况表 where
Self.Youxiurenshu:=FormMain.ADOQueryTreeShowMainInfo.FieldByName('数量').AsInteger;
取结果,实际上出现找不到这一列!!!!

请教高手为何?
...全文
350 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhoo163 2015-01-31
  • 打赏
  • 举报
回复
var Year,ID1,ID2:string;
begin
  Year:=;
  ID1:=;  //  个人信息表.个人ID;
  ID2:=;  //  单位信息表.单位ID
  SQL:='Select Count(*) from 个人信息表,单位信息表,考核情况表 where (考核等级=''优秀'') '+
       'and (考核年度='+#39+Year+#39+') and (考核情况表.个人ID='+#39+ID1+#39+') '+
       'and ( 个人信息表.单位ID='+#39+ID2+#39+') and (单位信息表.单位ID='+#39+User.DanweiIDCurrent+#39+')';

  ...... 
end;
修改代码试试。
doloopcn 2015-01-31
  • 打赏
  • 举报
回复
代码: SQL:='Select Count(*) from 个人信息表,单位信息表,考核情况表 where (考核等级=''优秀'') and (考核年度='+Year+') and (考核情况表.个人ID=个人信息表.个人ID) and'+ ' ( 个人信息表.单位ID=单位信息表.单位ID) and (单位信息表.单位ID='+#39+User.DanweiIDCurrent+#39+')'; FormMain.ADOQueryTreeShowMainInfo.Close; FormMain.ADOQueryTreeShowMainInfo.SQL.Clear; FormMain.ADOQueryTreeShowMainInfo.SQL.Add(SQL); try FormMain.ADOQueryTreeShowMainInfo.ExecSQL;//估计是这一行出错,不能用ExecSQL,要用Query的OPEN
tzlaoliu 2015-01-31
  • 打赏
  • 举报
回复
用 SQL:='Select Count(*) as 数量 from 个人信息表,单位信息表,考核情况表 where Self.Youxiurenshu:=FormMain.ADOQueryTreeShowMainInfo.FieldByName('数量').AsInteger; 这样试下 ADOQueryTreeShowMainInfo.FieldByName('[数量]').AsInteger; Access用的不多,以前貌似遇到过类似的问题,加中括号试下,不对勿喷
z15874666325 2015-01-31
  • 打赏
  • 举报
回复
注意:是在access当中出现的问题,sql2005上述代码没有问题!
z15874666325 2015-01-31
  • 打赏
  • 举报
回复
急! ADOQueryTreeShowMainInfo.FieldByName('[数量]').AsInteger; 实际证明不行,谢谢老大,继续问! 难道只能用select * 来代替?????

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧