Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 程序人生

我的变速箱作业3心得

时 间:2009-04-13 08:50:09
作 者:咖啡加冰   ID:5537  城市:长沙
摘 要:我的变速箱作业3心得
正 文:

    作业3制作的时候很不凑巧的碰到自己单位的事情很多。这个作业弄了2天,直到周末休息,拖到今天上午才静下心来完成。作业3最大的特点在于新增窗体当中引入了一个随着新增窗体联动的子窗体数据,而且这个联动的子窗体数据在确定保存之前不能将数据写入真实保存数据的tblCgmx和tblXsddsblj当中,于是教程中采用了建立临时表的办法,教材中提到临时表要建立在AccDev.mdb中,我觉得临时表如果你愿意的话放入AccDev_be.mdb中,然后用连接表的办法调用也是完全可行的。
    做这部分作业的时候我发现有这样几个地方需要注意:
    1、针对tblCgmx和tblCgmx_temp以及tblXsddsblj和tblXsddsblj_temp要分别建立子窗体,也就是说一定要建立4个分别用这4张表的窗体作为销售订单和采购订单新增和修改窗体的子窗体。
    2、教程中建立联动子窗体的方法是采用工具箱里面的子窗体空间然后通过设定子窗体数据源和连接子字段和连接主字段的方法。我个人觉得打开工具向导,然后直接把tblCgmx和tblCgmx_temp以及tblXsddsblj和tblXsddsblj_temp四张表拖入新增和修改窗体的方法更好。在向导的帮助下建立与主窗体的连接就可以了。
    3、关于自动编写销售订单号xsddid和采购订单号cgddid的时候,由于录入的过程必须延续原有的数据编号,通过窗体编号又要实现编号的延续性,同时还要设定只有系统按照代码规则编号的时候才能写入,手工输入时不能修改该编号。于是采用了如下代码:
Private Sub AutoMxID()
'功能:生成报销明细编号
    Dim YM As String
    Dim YMold As String
    '使cgddid文本框有效,写入数据
    Me.cgddid.Enabled = True
    Me.cgddid.SetFocus
    '生成编号前缀,格式为CG200901,即年四位,月两位

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

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

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

我继续学习了  上面的大家新学习同学也可以参考看看:)

 

作业二心得    作业四心得



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助