DataModule1.ADOQuery17.Close;
DataModule1.ADOQuery17.SQL.Text:='DELETE FROM flb';
DataModule1.ADOQuery17.ExecSQL;DataModule1.ADOQuery17.Close;
DataModule1.ADOQuery17.SQL.Text:='INSERT INTO flb(xnum) SELECT DISTINCT items FROM items WHERE fields='''+'销售进程'+'''';
DataModule1.ADOQuery17.ExecSQL;  if verson.Caption='1' then
  begin
    DataModule1.ADOQuery17.Close;
    DataModule1.ADOQuery17.SQL.Text:='select xnum,ynum=(select sum(sussrate) from opportunity where opportunity.sellstep=flb.xnum and setdate>=datevalue('''+datetostr(datetimepicker16.Date)+''') and setdate<=datevalue('''+datetostr(datetimepicker17.Date)+''') and state='''+'正进行'+''' and xsdb='''+trim(edit25.Text)+''') from flb';
    DataModule1.ADOQuery17.open;
  end; 
这个在MSSQLSERVER2000行得通的来到ACCESS却行不通,为何?如何改?

解决方案 »

  1.   

    提示:"adoquery17:field 'ynum' not found";
      

  2.   

    DataModule1.ADOQuery17.Close;
        DataModule1.ADOQuery17.SQL.Text:='select xnum,ynum=(select sum(sussrate) from opportunity ) from flb';
        DataModule1.ADOQuery17.open;这样的语句为何在ACCESS上行不通?
      

  3.   

    这样呢
    select xnum,(select sum(sussrate) from opportunity ) ynum from flb
      

  4.   

    提示:"adoquery17:field 'ynum' not found";
    ynum -> [ynum]
    要么就是你的表里本来就没有
      

  5.   

    用到聚合函数应加入GROUP BY 子句
    还有日期要用 #日期# 形式