【问题标题】:Creating a unique ID for an individual that incorporates data for the individual为个人创建包含个人数据的唯一 ID
【发布时间】:2014-08-29 05:55:55
【问题描述】:

您好,提前致谢。

我正在创建一个包含许多个体动物的数据库,并希望每行(每个个体)都有一个唯一 ID,以遵循特定格式。它应该以物种的两个字母缩写开头(MT 或 BH)、每个物种的不同序列号(即每个物种从 001 开始并按 1 顺序计数)和动物的性别(即 M或 F)。

例如,第一个 BH 将读取 BH001M。第二个女性会读 BH002F。

当输入一条新记录时,我设想了一个弹出窗口,请求物种,然后是新个体的性别,然后 Access 将生成序列号。

我意识到这是一个没有附加任何数据的具体问题,但如果您有任何关于第一步的建议,我将不胜感激......即这可以通过宏实现吗,还是我需要在 VB 中工作?

编辑:除了唯一 ID,我还将为 Species 和 Sex 设置单独的字段,但也希望唯一 ID 也包含信息。将物种和性别纳入 ID 将有助于快速识别重要信息。

根据@OverMind 下面的评论,包括一个数字是个好主意。

我的 Access 表的标题如下:

从表格中,我创建了一个表单(如下)

我想点击“添加新动物”按钮,然后弹出上面提到的窗口。要输入的数据(目前只有几条记录)在 Excel 电子表格中,但将来需要输入的人会更多(几百人)。

我正在使用 Access 2013

谢谢。

【问题讨论】:

  • 创建“智能”数字绝不是一个好主意,尤其是形成主键。您应该为物种和性别使用两个单独的字段,如果您必须保存序号,请在添加记录时计算它。使用自动编号字段作为唯一标识符/主键。请记住,如果您保存序号然后删除记录,则表中会出现空白,并且 MAX(species) 不会反映正确的数字。
  • 您从哪里获得 MT 或 BH?这是可能的,但这完全取决于您希望它如何工作。这也可能取决于您对 VBA 的了解。旁注:我将有 1 个自动编号字段以及您的 BH###MF 唯一 ID。
  • @OverMind。查看包含您的有用信息和更多信息的编辑。
  • @B.Davis 谢谢。是否已经有Animal 表?或者用户从哪里得到这个动物列表?也许您可以展示一些示例表/示例模式?
  • @OverMind。上面添加了更多内容。

标签: ms-access ms-access-2013


【解决方案1】:

如果您想将唯一 ID 保存在名为 [UniqueID] 的短文本字段中,则可以在表格上使用更改前数据宏,如下所示:

有关数据宏的更多信息,请参阅

Create a data macro

【讨论】:

  • 我远离宏,但我认为这是我将在 VBA 中建议的确切路线,除了根据物种缩写是否已经存在进行检查,如果存在,创建一个查询使用该物种缩写进行过滤并获得中间值(#'s)的最大值并增加 1。
  • @Gord Thompson 谢谢或有用的宏。但是,当我开始键入 SELECT 时,我在 Look Up A Rec... 行中不断收到错误消息。任何想法...
  • @B.Davis 如果您在输入或编辑宏时遇到困难,那么this question 可能会有所帮助。 (TL-DR:您需要在 Datasheet 视图中打开表格,然后单击功能区栏上的“更改前”按钮。如果您在 Design 视图中打开表格那么 Access 可能会在 SELECT 语句中阻塞。)
猜你喜欢
  • 2019-04-18
  • 1970-01-01
  • 2012-06-30
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
  • 2018-12-09
相关资源
最近更新 更多