Access交流中心

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

新增"整机进仓新增"无法获得进仓号??

侗酸鱼  发表于:2008-01-05 22:33:49  
复制

Private Sub saveData()
'新增报销数据子程序
    Dim rst As DAO.Recordset
    '如果保存时,别的操作员新增了此编号,则生成新的编号
    If Acchelp_StrDataIsExist("tblZjjcmx", "jcid", Me.jcid) = True Then
        '生成新的编号
        AutoMxID
    End If
    If IsNull(Me.xsddid) Then
        MsgBox "请输入销售订单号!", vbCritical, "提示:"
        Me.xsddid.SetFocus
        Exit Sub
    End If

    If IsNull(Me.jxid) Then
        MsgBox "请输入机型名称!", vbCritical, "提示:"
        Me.jxid.SetFocus
        Exit Sub
    End If

    If IsNull(Me.jcrq) Then
        MsgBox "请输入进仓日期!", vbCritical, "提示:"
        Me.jcrq.SetFocus
        Exit Sub
    End If

    If IsNull(Me.jcsl) Then
        MsgBox "请输入进仓数量!", vbCritical, "提示:"
        Me.jcsl.SetFocus
        Exit Sub
    End If

    If IsNull(Me.cw) Then
        MsgBox "请输入仓位!", vbCritical, "提示:"
        Me.cw.SetFocus
        Exit Sub
    End If

    If MsgBox("您确认要保存吗?", vbOKCancel + vbInformation, "提示") = vbOK Then
        Me.Refresh
        Set rst = CurrentDb.OpenRecordset("tblzjjcmx", dbOpenDynaset)
        rst.AddNew
        rst("jcid") = Me.jcid
        rst("xsddid") = Me.xsddid
        rst("jxid") = Me.jxid
        rst("jcrq") = Me.jcrq
        rst("jcsl") = Me.jcsl
        rst("cw") = Me.cw
        rst("czyid") = Forms!usysfrmLogin!txtUserName
        rst.Update
        rst.Close
        Set rst = Nothing
        '刷新数据
        If IsLoaded("usysfrmMain") Then
            DoCmd.Echo False
            Forms!usysfrmMain!frmChild.SourceObject = "frm_Zjjcmx_child"
            DoCmd.Echo True
        End If

        MsgBox "保存成功!", vbInformation, "提示"
        Me.jcid = Null
        Me.xsddid = Null
        Me.jxid = Null
        Me.jcrq = Null
        Me.jcsl = Null
        Me.cw = Null
    End If
End Sub

Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)

    Select Case Button
    Case "保存"
        saveData
    Case "关闭"
        DoCmd.Close
    End Select
End Sub
Private Sub AutoMxID()
'功能:生成报销明细编号
    Dim YM As String
    Dim YMold As String
    '使mxID文本框有效,写入数据
    Me.jcid.Enabled = True
    Me.jcid.SetFocus
    '生成编号前缀,格式为XS200701,即年四位,月两位

    YM = "JC" & Year(Date) & Format(Month(Date), "00")

    If CheckRecords("tblZjjcmx") = True Then    'checkRecords函数说明见平台帮助第十二章
        '如果表中存在记录,则去取得表最后一条记录的年月
        YMold = Left(DLast("[jcid]", "tblZjjcmx"), 8)    '取tblXsddzj表中最后一条记录的xsddid字段的值的前8位
        If YM = YMold Then    '如果系统月份与最后一条记录月份相同,则增加1
            Me.jcid = acchelp_autoid(YM, 4, "tblZjjcmx", "jcid")    'acchelp_autoid函数说明见平台帮助第十二章
        Else    '如果不相同,则按新月份从1开始编号
            Me.jcid = YM & "0001"
        End If
    Else
        '如果表中不存在记录,则生成第一条编号
        Me.jcid = acchelp_autoid(YM, 4, "tblZjjcmx", "jcid")
    End If

    '让khid文本框获得焦点
    Me.xsddid.SetFocus
    '使用xsddid文本框无效,以防止操作员误修改数据
    Me.jcid.Enabled = False
End Sub


 

 

Top
侗酸鱼 发表于:2008-01-05 22:36:24

代码哪里出问题了,还是窗体里没设置?



竹笛 发表于:2008-01-06 09:37:28

代码中,你在运行时会有提示,具体是哪一行代码出错呢?



侗酸鱼 发表于:2008-01-06 11:06:04

我在运行时,出现出错"94" ---NULL,然后调设光标指在:If Acchelp_StrDataIsExist("tblZjjcmx", "jcid", Me.jcid) = True Then,

另外,如果我在"进仓号"随意输入一个字,它又没有出错,只是那一个随意输入的字就成为我的"进仓号"了,没有如这样的自动号:JC2008010001,



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