UPDATE Tmov SET Tmov.完工 = pp.TT from [SELECT 技术人员, 派工日期, count(*) AS TT
FROM smzl
WHERE 派工日期=#2008-12-17# And 单据编号<>''
GROUP BY 技术人员, 派工日期].as PP
where PP.技术人员=Tmov.技术员
这个语句老是通不过.

解决方案 »

  1.   

     哪一種數據庫下的,ACCESS?
      

  2.   

    UPDATE Tmov SET Tmov.完工 = pp.TT from (SELECT 技术人员, 派工日期, count(*) AS TT
    FROM smzl
    WHERE 派工日期= '2008-12-17' And 单据编号<>''
    GROUP BY 技术人员, 派工日期) PP,Tmov
    where PP.技术人员=Tmov.技术员
      

  3.   

    语法错误 (操作符丢失) 在查询表达式 'pp.TT from (SELECT 技术人员, 派工日期, count(*) AS TT
    FROM smzl
    WHERE 派工日期=#2008-12-17# And 单据编号<>''
    GROUP BY 技术人员, 派工日期) PP' 中。
    提示出错
      

  4.   


    UPDATE Tmov SET Tmov.[完工] = pp.TT from (SELECT [技术人员], [派工日期], count(*) AS TT
    FROM smzl
    WHERE [派工日期]=#2008-12-17# And [单据编号]<>''
    GROUP BY [技术人员], [派工日期]) as PP
    where PP.[技术人员]=Tmov.[技术员]
      

  5.   


    UPDATE Tmov SET [完工] = pp.TT 
    from 
    (SELECT [技术人员], [派工日期], count(*) AS TT FROM smzl
           WHERE [派工日期]=#2008-12-17# And [单据编号]<>''
           GROUP BY [技术人员], [派工日期]) as PP, TMov 
    where PP.[技术人员]= Tmov.[技术员]
     再不對我也沒辦法了。
      

  6.   

    把寫到DELPHI裏字符串代碼貼出來,應該是那個地方寫錯了。
      

  7.   

    ADOQuery1.SQL.Text:='Update Tmov set Tmov.完工=KK.AA';
     ADOQuery1.SQL.Add(' From Tmov,(select 技术人员,派工日期,count(*) as AA');
     ADOQuery1.SQL.Add('from smzl where 单据编号<>''');
     ADOQuery1.SQL.Add('and 派工日期=#2008-12-17#');
     ADOQuery1.SQL.Add('group by 技术人员,派工日期) KK');
     ADOQuery1.SQL.Add('where KK.技术人员=Tmov.技术员');
     ADOQuery1.SQL.Add('and KK.派工日期=Tmov.日期');
     ADOQuery1.ExecSQL;
    提示出错
      

  8.   

    ADOQuery1.SQL.Text:='Update Tmov set Tmov.完工=KK.AA';
     ADOQuery1.SQL.Add(' From Tmov,(select 技术人员,派工日期,count(*) as AA');
     ADOQuery1.SQL.Add('from smzl where 单据编号<>''''');
     ADOQuery1.SQL.Add('and 派工日期=#2008-12-17#');
     ADOQuery1.SQL.Add('group by 技术人员,派工日期) KK');
     ADOQuery1.SQL.Add('where KK.技术人员=Tmov.技术员');
     ADOQuery1.SQL.Add('and KK.派工日期=Tmov.日期');
     ADOQuery1.ExecSQL;
      

  9.   

    我把查询的数据做成一个表(AA)后,再用更新语句
    ADOQuery1.SQL.Text:='Update Tmov,AA set Tmov.完工=AA.TT';
      ADOQuery1.SQL.Add('where AA.技术人员=Tmov.技术员');
     ADOQuery1.SQL.Add('and AA.派工日期=Tmov.日期');
     ADOQuery1.ExecSQL;
    就成了....
      

  10.   

    数据在ACCESS中为什么还是没法执行...有人吗?
      

  11.   

    数据的处理建议放存储过程里执行,delphi调用。
      

  12.   

    使用 qoutedstr() 函数 。
     Datestr:='2008-10-05';
    csql:='update tMov set Tmov.完工 = pp.TT ...........WHERE 派工日期= '+qoutedstr(dateStr); .....
     adoquery1.sql.add(csql);
     open;
    .....
      

  13.   

    ACCESS里面的日期是用“#”括起来的,另中间连接符可应该是“/”,而不应该是“-”,这本人在以前里经常发生的问题。
      

  14.   

    access中日期用:‘#’號, 連接符用'/'
      

  15.   

    #和-在acess中的使用需要括起來。如[#],[-],lz改了試試看
      

  16.   

    while ... do
    begin
        ...
        next;
    end;
      

  17.   

    代码写错了
    GROUP BY 技术人员, 派工日期]【.as==>这里多余了】 PP