在修改一个记录集货币型字段的值时出错,系统提示:多步操作出现错误,请检查每一步的状态值。
但是我可以正常修改字符型字段的值。也不存在数据类型出错的问题。
实在是搞不懂怎么回事啊。请各位帮帮忙~

解决方案 »

  1.   

    给出你的赋值语句!!
    传值的时候就转化成数值类型,是不是用成字符串了??.Value = Val(TextBox1.Text)这样
      

  2.   

    a字符型  要加'', upadate tb set a='123' where .... a整型,单精度,货币  不用'' , update tb set a=123 where ...
      

  3.   

    正确:rs.fields(2).value="a"
    错误:rs.fields(3).value=3.50
    错误:rs.fields(3).value=ccur(3.50)
    rs.fields(2)是字符型字段
    rs.fields(3)是货币型字段
      

  4.   

    用Update语句更新可以吗?
      

  5.   

    一个记录集已经绑定在DataGrid上,我现在想要改变这个记录集的值来达到改变DataGrid所显示的值。
    该记录集是个分类汇总数据:
        统计所有类型材料的进出库情况。
        表格包括:类型编号、材料类型、上期余额、本期入库、本期出库、本期余额
    我先生成这样的记录集RS:Select 类型编号,材料类型,NULL,Sum(入库金额),Sum(出库金额),NULL From 表A再用另外生成的值写入两个空值的列。
    正常:rs.fields(1).value="fds"
    错误:rs.fields(2).value=23.50
      

  6.   

    因为我没法子用一条SQL语句生成那个表格的数据,所以用了这种方法。
    运行第二条语句的时候错误,测试时用第一条语句却是正常的。
      

  7.   

    Select 类型编号,材料类型,NULL,Sum(入库金额),Sum(出库金额),NULL From 表A我认为问题出在SQL语句的null上。是表中字段名称,还是别名?是字段名称加上[],是别名,就改了
      

  8.   

    原句是这样的:
    Select KindNum as 类型编号,KindName as 材料类型 ,NULL as 上期余额,Sum(入库金额) as 本期入库,Sum(出库金额) as 本期出库,NULL as 本期余额 From 表A
      

  9.   

    Select KindNum as 类型编号,KindName as 材料类型 ,NULL as 上期余额,Sum(入库金额) as 本期入库,Sum(出库金额) as 本期出库,NULL as 本期余额 From 表A用了二个NULL,应该不是表中的字段。那么rs.fields(2).value=23.50 当然不能更新这样试试:
    rs.fields('字段名称').value=23.50
      

  10.   

    不对不对,你这个语句打开的是一个汇总记录集,没用group by ? 没报错?
    汇总记录集不能更新表中数据
      

  11.   

    有用Group by。这种类型的记录集不能更新除Group by字段以外的数据吗?如果不能我这个问题该用什么方法解决哦?
      

  12.   

    我不是想更新表中的数据,只是想改变记录集的数据,使显示在DataGrid表格的数据也改变
      

  13.   

    我有用0.00替换过NULL,还是错地。
      

  14.   

    我不是想更新表中的数据,只是想改变记录集的数据,使显示在DataGrid表格的数据也改变
    =====================
    那么这样试试:
    rs.open ......
    rs.fields(2).value=23.50
    set dg.datasource = rs   'dg是表格控件名称
    不要rs.update
      

  15.   

    试了一下的确不可以,呵呵,没遇到过
    这样:rs.open "select ......."Dim rst As New Recordset
    With rst
        .Fields.Append "类型编号", adBSTR, 10
        .Fields.Append "材料类型", adBSTR, 10
        .Fields.Append "上期余额", adCurrency, 8
    ......
        .Open
        .AddNew
        !类型编号=rs!类型编号
        !材料类型=rs!材料类型
        !上期余额=23.50
    ......
        .Update
    End With
    set rs=nothing
    set dg.DataSource = rst   
      

  16.   

    你在更新数据或插入数据之前把连接的 CursorLocation 属性改为服务类型的,假设连接变量为
    adocon ,那么语句就应该是 adocon.CursorLocation = adUseServer 。更新
      

  17.   

    更新完之后就记得把类型改回客户端型 adocon.CursorLocation = adUseClient