【发布时间】: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。上面添加了更多内容。