Access交流中心

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

[5分]奇怪的3163错误

咖啡加冰  发表于:2012-03-13 12:04:13  
复制

我新建了一个表,其设置如下:

我在制作ADD子窗体的时候,窗体设置如下:

ADD窗体代码为:

****************************************************

Option Compare Database
Option Explicit

Private Sub bm_AfterUpdate()
   Me.gzms.SetFocus
End Sub
Private Sub Form_Load()
    Me.sDate = Format(date - Weekday(Now, vbMonday) - 6, "yyyy-mm-dd")
    Me.eDate = Format(date - Weekday(Now, vbMonday), "yyyy-mm-dd")
    Me.zbID = "ZB" & Format(date - Weekday(Now, vbMonday) - 6, "yyyymmdd") & "-" & Format(date - Weekday(Now, vbMonday), "yyyymmdd")
    Me.ID = Forms!usysfrmLogin!txtName & "ZB" & Format(date - Weekday(Now, vbMonday) - 6, "yyyymmdd") & "-" & Format(date - Weekday(Now, vbMonday), "yyyymmdd")
    Me.bm.SetFocus
    '展开组合框
    Me.bm.Dropdown
End Sub
Private Sub saveData()
'新增报销数据子程序
    Dim rst As DAO.Recordset
    '如果保存时,别的操作员新增了此编号,则生成新的编号
    If IsNull(Me.bm) Then
        MsgBox "请选择部门!", vbCritical, "提示"
        Me.bm.SetFocus
        Exit Sub
    End If
    If IsNull(Me.gzms) Then
        MsgBox "请输入工作描述!", vbCritical, "提示"
        Me.gzms.SetFocus
        Exit Sub
    End If
    If MsgBox("您确认要保存吗?", vbOKCancel + vbInformation, "提示") = vbOK Then
        '在保存之前刷新窗体内
        Me.Refresh
        '打开tblBxmx表
        Set rst = CurrentDb.OpenRecordset("tblgrkh", dbOpenDynaset)
        '新增一行数据
        rst.AddNew
        rst("id") = Me.ID
        rst("zbid") = "ZB" & Format(date - Weekday(Now, vbMonday) - 6, "yyyymmdd") & "-" & Format(date - Weekday(Now, vbMonday), "yyyymmdd")
        rst("bm") = Me.bm
        rst("xm") = Forms!usysfrmLogin!txtName
        rst("tbrq") = Now()
        rst("gzms") = Me.gzms
        rst.update
        rst.Close
        Set rst = Nothing
        '刷新数据,通过重新加载子窗体实现
        If IsLoaded("usysfrmMain") Then
            DoCmd.Echo False
            Forms!usysfrMmain!frmChild.SourceObject = "frmgrkh_child"
            DoCmd.Echo True
        End If
        MsgBox "保存成功!", vbInformation, "提示"
        '清空,以便录入新记录
        Me.bm = Null
        Me.gzms = Null
    End If
End Sub
Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
    Select Case Button
    Case "保存"
        '执行saveData子程序
        saveData
    Case "关闭"
        DoCmd.Close acForm, "frmzbgl_child_Add"
    End Select
End Sub

****************************************************

按保存按钮以后出现如下错误:

 

调试结果为:

 

这是怎么回事?要如何处理??我已经尝试把ID字段改成narchar类型,或者增大字段容量,但都不能解决这个问题。请老师指点。谢谢。

 

 

Top
杜超 发表于:2012-03-13 12:14:58
把ID字段大小30改成100,试试

咖啡加冰 发表于:2012-03-13 12:36:00

没用。该255都不行。改成备注也不行。



杜超 发表于:2012-03-13 13:22:11
要么我加你QQ看看

咖啡加冰 发表于:2012-03-13 13:34:18
风行老师,我加你QQ了。请您单独指点下吧。我刚刚重新做了一边ADD窗体,也没有解决问题。不知道是什么原因。

咖啡加冰 发表于:2012-03-14 09:20:25

原来还是粗心的引起的问题。唉。如此低级错误。



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