窗体界面上有一textbox,设置其dataformat为“百分数,2位小数”对应数据库字段里的相关设置为:
字段大小:小数
格式:百分比
精度:18
小数位数:2
索引:有(有重复)
其他为默认值。在代码里用:
Private Sub SaveCmd_Click()
        openrs---打开RS的函数
        rs.AddNew
        ........
        rs.Fields!ChgRate = Trim(TxtChgRate.Text)----Textbox和对应的字段
        rs.Update
        MsgBox "本次試驗信息添加成功!", vbOKOnly
        rs.Close
End Sub
但update时在rs.Fields!ChgRate = Trim(TxtChgRate.Text)报错:“多步操作产生错误,请检查每一步的状态值”
各位知道问题出在哪里吗?请告知!

解决方案 »

  1.   

    //rs.Fields!ChgRate = Trim(TxtChgRate.Text)
    转换成数值型 比如cdbl(Trim(TxtChgRate.Text))
      

  2.   

    主键中插入了重复值?有字段插入了空(null)值?
      

  3.   

    还有rs.Fields!ChgRate 这样的写法对吗?我一般都是rs!ChgRate
      

  4.   

    用过 itcoco(无忧草)的方法不行,而且用csng()也不行。
    记录中只有一条空的记录,不存在主键中插入了重复值的问题,
    Private Sub SaveCmd_Click()
            openrs
            rs.AddNew
            rs!LOTNO = Trim(TxtLOTNO.Text)
            rs!NO = Trim(TxtNO.Text)
            rs!Item = Trim(ComboItem.Text)
            rs!TestBF = Trim(TxtBF.Text)
            rs!TestAF = Trim(TxtAF.Text)
            rs!ChgRate = Trim(TxtChgRate.Text)
            rs.Update
            MsgBox "本次試驗信息添加成功!", vbOKOnly
            rs.Close
    End Sub
    我的表只有以上六个字段,在程序界面上都输入了信息啊!所以也不存在插入空值的问题!
    那位大哥能告知问题解决的方法???急!!!
      

  5.   

    什么数据库啊大婶
    access吧??
      

  6.   

    会不会是rs!NO的问题(数据库保留字)?改为rs![NO]试试
      

  7.   

    哦,没看清题意.
    是rs!ChgRate = Trim(TxtChgRate.Text)出错
    试试不要设置textbox的属性,用format:
    rs!ChgRate = format(TxtChgRate.Text,"0.00")