Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

多步OLE DB操作产生错误

jingguangyuang  发表于:2016-11-11 16:28:03  
复制

刚用导响生成新建的窗体,点新增,填写内容后点保存,系统提示“多步OLE DB操作产生错误。如果可能,请检查每个OLE DB状态值,没有工作被完成。”,网上有相应的贴,但需要上传文档,而文件怎么压缩也大于2MB,所以想上传也难,因为本来文件没有开发时已经很大了,所以希望能得到各位帮忙,在此请教各位!

 

Top
杨雪 发表于:2016-11-11 16:34:54

快速开发平台--多步操作产生错误。请检查每一步的状态值。的解决方法[Access软件网]
http://www.accessoft.com/article-show.asp?id=9435

 

运行时错误-2147217887(80040e21)多步操作产生错误。请检查每一步的状态值[Access软件网]
http://www.accessoft.com/article-show.asp?id=9117

 

 

 

 



jingguangyuang 发表于:2016-11-11 17:19:51

杨雪你好!

      代码是平台生成的,估计不会有错,另外试每个栏位只填写一个数字1,点保存,这样可以确保内容不会大于代码Me回表的值,必填的字段都填写了,其它有的是没有填写内容,致于日期,因为不是必填,所以没有填写,还是同样的错误,还会是哪里的问题呢?还中我这样做法还不够完全检查出来呢?

      有电邮可以提供吗?我把文档发给你可以吗?下星期一上班可以发上发出电邮!



jingguangyuang 发表于:2016-11-11 17:32:26


jingguangyuang 发表于:2016-11-14 13:20:43

请问下面代码吗里有错呢?



Private Sub btnSave_Click()

    On Error GoTo ErrorHandler
    Dim strWhere      As String
    Dim strSQL        As String
    Dim cnn           As Object 'ADODB.Connection
    Dim rst           As Object 'ADODB.Recordset


    If Not CheckRequired(Me) Then Exit Sub
    If Not CheckTextLength(Me) Then Exit Sub


    Set cnn = CurrentProject.Connection


    strSQL = "SELECT * FROM [tblgsbz] WHERE [GSBZNO]=" & SQLText(Me![GSBZNO])
    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
    If rst.EOF Then
        rst.AddNew
        rst![GSBZNO] = GetAutoNumber("报价单编码")
    End If
    rst![ZT] = Me![ZT]
    rst![GYSZC] = Me![GYSZC]
    rst![CPBM] = Me![CPBM]
    rst![CPMC] = Me![CPMC]
    rst![GS] = Me![GS]
    rst![GSDZ] = Me![GSDZ]
    rst![GSBZDW] = Me![GSBZDW]
    rst![GSBZTJ] = Me![GSBZTJ]
    rst![GSBZPCSZ] = Me![GSBZPCSZ]
    rst![GSBZBF] = Me![GSBZBF]
    rst![YSZD] = Me![YSZD]
    rst![YSYS] = Me![YSYS]
    rst![YSFW] = Me![YSFW]
    rst![YSFY] = Me![YSFY]
    rst![BZBZ] = Me![BZBZ]
    rst![BZDATE] = Date   '= Me![BZDATE]
    rst![BZPZ] = Me![BZPZ]
    rst![BZPZSJ] = Me![BZPZSJ]
    rst![BZBH] = Me![BZBH]
    rst![BZBHYY] = Me![BZBHYY]
    rst![GSSF1] = Me![GSSF1]
    rst![GSSF2] = Me![GSSF2]
    rst![GSSF3] = Me![GSSF3]
    rst![GSSF4] = Me![GSSF4]
    rst![GSSF5] = Me![GSSF5]
    rst![GSBY1] = Me![GSBY1]
    rst![GSBY2] = Me![GSBY2]
    rst![GSBY3] = Me![GSBY3]
    rst![GSBY4] = Me![GSBY4]
    rst![GSBY5] = Me![GSBY5]
    rst![GSBZZLSJ] = Now()   '= Me![GSBZZLSJ]
    rst.Update
    Me![GSBZNO] = rst![GSBZNO]
    rst.Close


    Form_frmgsbz.RefreshDataList
    MsgBoxEx LoadString("Saved Successfully."), vbInformation


    If Me.DataEntry Then
        ClearControlValues Me
    Else
        DoCmd.Close acForm, Me.Name, acSaveNo
    End If


ExitHere:
    Set rst = Nothing
    Set cnn = Nothing
    Exit Sub


ErrorHandler:
    RDPErrorHandler Me.Name & ": Sub btnSave_Click()"
    Resume ExitHere
End Sub


MDZZ 发表于:2016-11-14 13:45:25
检查字段大小把

jingguangyuang 发表于:2016-11-14 14:18:21
确实检查出了一个栏位,是引用其它表的栏位,改好后,其它的都看过了,每一个都核对过,日期格式没选,重新生成窗体,结果还是一样。

MDZZ 发表于:2016-11-14 14:19:20
能上附件吗 

jingguangyuang 发表于:2016-11-14 14:23:50

大于2M,我也想上传,这就省事了,大家也可以看看,这样行不行,我提供我电邮给你,你发一个空白电邮给我,我再把文件发过去,可以吗?

jingguangyuang@163.com



MDZZ 发表于:2016-11-14 15:26:34
5个是否字段的 问题 给他弄个默认值就可以了

jingguangyuang 发表于:2016-11-14 15:34:53

就这样?

好马上试试!



jingguangyuang 发表于:2016-11-14 16:28:24

真的可以!

问题是跟是否字段有关吗?

问题解决了,确是是字段大小造成,因为在检查过程中,确实检查出一个字段引用其它表数据时,超出来原来引用的值。

为了以后表需要做其它的判断,所以才增加了几个“是/否”的字段,但没有想过,这个跟点保存时会有关系。

总结说,除了要看字段大小,还需要看是否。

只怪自己没有做好字段表的创建工作。



总记录:11篇  页次:1/1 9 1 :