我以前用的ACCESS数据库都过了,现在换成SQL就报错误,不明白,货币字段是$11.11.11这种格式,难度不可以用SUM吗?

解决方案 »

  1.   

    完整是这样的
    st="select cAccDep,iAOutPrice from  IA_Subsidiary where cInvCode like 'ZA%' and cAccDep<>''"
    st="select cAccDep,Sum(iAOutPrice) as 使用费用 from ("+st+") group by cAccDep";
    在ACCESS中通过,但是SQL中报GROUP附近有语法错发,把第二句里的ST取消掉,换成全表查询就可以了,请问为什么?
      

  2.   

    iAOutPrice 类型问题,可能是
      

  3.   

    st=st+" and dKeepDate>#"+TextBoxshijian1.Text+"#";
    在ACCESSS中通过了的,现在在SQL中又报,'#' 附近有语法错误。
    请问怎么的呢
      

  4.   

    dulkernetbug(小黑小白) (兄
    iAOutPrice 类型问题,可能是
    我第二个ST换成全表查询,成功了,可见不是类型问题
      

  5.   

    應該是group by cAccDep,iAOutPrice這樣吧!?妳select 的字段都應該在group by中出現
      

  6.   

    在SQL中 group by 后面的字段不能是“text”和“Image”类型的。
    你把cAccDep这个字段换一个类型就可以了。
      

  7.   

    把第二句:
    st="select cAccDep,Sum(iAOutPrice) as 使用费用 from ("+st+") group by cAccDep"
    改成
    st="select cAccDep,Sum(iAOutPrice) as 使用费用 from ("+st+") tmptable group by cAccDep"另外,如果你是对同一个表进行操作,为什么不直接使用一条Select加WHERE,而使用子句呢:
    这这一句同样可以实现呀
    SELECT cAccDep, SUM(iAOutPrice) AS 使用费用
    FROM IA_Subsidiary
    WHERE (cInvCode LIKE 'ZA%') AND (cAccDep <> '')
    GROUP BY cAccDep
      

  8.   

    "在SQL中 group by 后面的字段不能是“text”和“Image”类型的。
    你把cAccDep这个字段换一个类型就可以了。""
    我第二个ST换成全表查询,成功了,可见不是这个问题
    st="select cAccDep,Sum(iAOutPrice) as 使用费用 from IA_Subsidiary group by cAccDep";可以
    但是
    st="select cAccDep,iAOutPrice from  IA_Subsidiary where cInvCode like 'ZA%' and cAccDep<>''"
    st="select cAccDep,Sum(iAOutPrice) as 使用费用 from ("+st+") group by cAccDep";
    就不可以,埃
      

  9.   

    建议把cAccDep字段换成vchar的就OK了。
      

  10.   

    colayungnew(天迅) ( ) 信誉:98 大哥
    太感谢了,你的方法成功了,另外你下面说那个我以前一直以为不可以,又多学了东西,恩人啊!最后麻烦你能讲讲
    st=st+" and dKeepDate>#"+TextBoxshijian1.Text+"#";
    在ACCESSS中通过了的,现在在SQL中又报,'#' 附近有语法错误。
    请问怎么的呢
    TextBoxshijian1.Text是一个时间格式
      

  11.   

    哪位大侠再来讲讲:
    st=".......... and dKeepDate>#"+TextBoxshijian1.Text+"#";
    在ACCESSS中通过了的,现在在SQL中又报,'#' 附近有语法错误。
    请问怎么的呢
    TextBoxshijian1.Text是一个时间格式
      

  12.   

    时间大小是不能这么比较得,,用sqlserver里面提供的函数吧
      

  13.   

    它好象提供了一个取两个时间日期类型数据大小差的函数叫  datediff,,请看帮助文件,取出差后,就可以和0比大小了,,,
    建议把你的sql语句写成存储过程
      

  14.   

    access数据的Sql语句对日期型进行判断要在前后加#,在sqlserver中要在前后加单引号
    如st=".......... and dKeepDate>'"+TextBoxshijian1.Text+"'";
      

  15.   

    mnbvccom(不懂) 兄
    不会这么复杂吧,我用这招比较时间类型字段在ACCESS中屡试灵验啊
      

  16.   

    colayungnew(天迅) ( ),太酷了,恩人!!此帖结了!