【发布时间】:2019-04-26 17:23:40
【问题描述】:
我正在创建客户记录并希望使用基于年份和我的 Access DB 表中最后一个数据行的编号 +1 的自定义 ID。
示例 ID 是年份和下一个将写入新数据的空行行号。(如果是新数据库表,则为 2019-0001)
我已经研究出如何从日期中提取年份,但我找不到任何信息来获取 Access DB 表中的记录数,任何查找信息/代码的指针都会有所帮助。
我已使用常规 CRUD 方法输入数据,但我希望客户 ID 可以按年份(前 4 位)过滤,以便用于创建忠诚度奖励类型的奖励系统。
【问题讨论】:
-
您真的需要像那样存储 ID,还是像那样显示 ID?我怀疑一年的
INTEGER列和数字的AUTOINCREMENT列会更简单。然后在显示它们时根据需要简单地格式化它们。 -
自动编号字段会自行递增,这是最好的使用方法,您是否有不想使用的原因?除其他外,它将防止 2 个查询同时收集和使用相同的行数的问题。您可以使用计算字段来格式化带有日期的自动编号。
-
感谢您的快速响应,但我试图避免自动递增,因为我必须进行连接等才能显示。如果我从头开始创建索引,它会使搜索/显示更容易。只有 1 个用户允许访问数据库创建 custID,所以我没有看到重复问题发生。
-
由于该表将用于多年记录,因此自动增量可以从 2020 年的第一个成员开始,作为一个高数字,这没有意义,我希望它从 1 开始.
-
@MintedDave:在这种情况下,我猜你会通过从表中选择、添加一个并插入到表中来创建一个 ID。只要您可以保证这将永远是一个单用户系统以避免竞争条件,那应该可以工作。您尝试了哪些方法,哪些方法无效?