access添加排序列_access怎么把相同的字段值进行生成序号并排序

本文介绍了如何在Access中为窗体的记录生成基于日期和类型的排序编号。通过编写窗体的AfterInsert事件过程,结合DLookup和DMax函数,实现了根据日期、类型自动填充合同编号,确保每个订单的独特性和有序性。
摘要由CSDN通过智能技术生成

展开全部

1)先解答第二问——“解决窗体通过表达式计算的值无法32313133353236313431303231363533e4b893e5b19e31333361306434更新到表中”

窗体的里计算控件是无法绑定的到数据表字段的,其表达式计算值自然也就无法直接更新数据表。

其实“库存”字段根本就没有真实存在的必要,维护它是脱裤子放屁多此一举。如果确实需要可以添加一个虚拟的计算字段来显示“库存”(2007及以后版本支持计算字段)

2)定向提问中的编码规则不太明确,暂时按如下理解提供解决方案

例如订单编码:LAJ6070204

表示该订单是2016年7月份下的单,这是全部“家装”类型的第2笔订单并且是2016年7月份不分类型情况下的第4笔订单。

提示:此编码规则可容纳的合同数目非常有限,可根据实际需求调整,下面的代码还是按这个编码规则设计的

先创建一张类型表并录入数据

a906224b26fc1021c460ec25bc9d740a.png

在创建一张订单表,表结构如下:

cb72b888130cd0973f94831fde845c15.png

跟着用窗体向导创建一个自动创建窗体(表格式)

a46bc0b7e550fcd667dc29fa97979068.png

为窗体编写下列插入后时间过程Private Sub Form_AfterInsert()

[合同编号] = "LA" & DLookup("首字母", "类型表", "类型='" & [类型] & "'") _

& Right(Year([日期]), 1) & Format([日期], "mm") _

& Right(DMax("Val(mid(Nz(合同编号,0),7,2))", "订单表", "类型='" & [类型] & "'") + 101, 2) _

& Right(DMax("Val(right(Nz(合同编号,0),2))", "订单表", "Format(日期,'yyyy-mm')='" _

& Format([日期], "yyyy-mm") & "'") + 101, 2)

End Sub

保存窗体设计后,在窗体上的[日期]和[类型]组合框输入日期和选择类型后,跳到其他记录,合同编号就会按规则自动填好。运行效果如图,图中合同号均为自动产生

0871488fe3c9938aa96463ca066ba62b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值