实现子表编号规则为主表编号加后缀-易勋
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


实现子表编号规则为主表编号加后缀

发表时间:2015/6/27 12:56:49 评论(1) 浏览(6679)  评论 | 加入收藏 | 复制
   
摘 要:将子表编号规则设为主表编号加上子记录序号
正 文:
         有个学员问我,怎么让采购订单明细号规则为采购订单号-行号。

         因为平台内置的行号函数(GetLineNumber([Form]))在VBA代码中不能使用,所以只能换一种方式实现。

         正好明细记录是用ADO\DAO方式循环将TMP表中的数据保存到正式表中,我们就可以定义一个变量Counts(初始化Counts=1)来保存循环的次数,循环的次数即为行号。然后将采购订单号-Counts 即可得到想要的编号。

在frmXXX_Edit窗体中的保存按钮单击事件里面添加上相应代码:

'添加的定义变量         
    Dim Counts AS String : Counts = 1  ‘定义变量并初始化
    
         

    cnn.Execute "Delete FROM [采购订单明细表] Where [采购订单号]=" & SQLText(Me!采购订单号)

    strSQL = "Select *  FROM [采购订单明细表] Where [采购订单号]=" & SQLText(Me!采购订单号)

    Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)

    Set rstTmp = CurrentDb.OpenRecordset("TMP_采购订单明细表")

    Do Until rstTmp.EOF

        rst.AddNew
'添加的代码,开始——

        rst![采购订单明细号] = Me![采购订单号] & “-” & Counts

        Counts = Counts + 1         ‘每次循环自加一次
'添加的代码,结束——

        rst![采购订单号] = Me![采购订单号]

…

        rst.Update

        rstTmp.MoveNext

    Loop

    rst.Close

    rstTmp.Close

    cnn.CommitTrans
学员使用效果:

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
Access快速开发平台--根据两个字段自动生成编号示例\双字段编...  【风行  2015/1/17】
SQL表如何设置自动编号主键  【风行  2015/4/5】
ACCESS数据库修改自动编号的ID值为零的方法分享  【宏鹏(转载)  2015/5/1】
用bookmark获得向主表添加新纪录时的自动编号字段的编号  【yuhong  2015/5/24】
常见问答
技术分类
相关资源
文章搜索
关于作者

易勋

文章分类

文章存档

友情链接