首先,我对SQL和Microsoft Access很陌生。
我正在 Access 中设置数据库。我的数据库从四个不同的部门收集信息。我通过表单存储我的数据。我的主表(业务(使用组合框存储信息(部门(,保存数字而不是文本。
我想要一列(类似于上表中已有的 CODE ID(,它显示来自字段(名称部门(的首字母 + 一个数字。
即。在"业务"表中,我想显示一个代码ID,其中包含"部门"列的首字母缩写加上数字代码(部门订单号升序(。我希望每次添加信息时都拥有这个。
+=================================================================================================================================================| 部门 | 合作伙伴 |代码编号 | | +===============+=================+=========+==+ |Data_Analysis |约翰·多伊 |D001 | | +---------------+-----------------+---------+--+ |市场营销 |简·多伊 |M001 | | +---------------+-----------------+---------+--+ |金融 |亚历克斯·穆斯特曼 |F001 | | +---------------+-----------------+---------+--+ |运营 |胡安·佩雷斯 |O001 | | +---------------+-----------------+---------+--+ |金融 |巴拉克·特朗普 |F002 | | +---------------+-----------------+---------+--+ |金融 |马克·默克尔 |F003 | | +---------------+-----------------+---------+--+ |市场营销 |佩吉·希尔顿 |货号 M002 | | +---------------+-----------------+---------+--+ |运营 |马克斯·穆斯特曼 |O002 | | +---------------+-----------------+---------+--+ |运营 | |奥克斯 | | +---------------+-----------------+---------+--+
列 CODE ID 中的值是我希望每次添加新行(新部门订单(时显示的值。我需要这种类型的代码来跟踪我在每个部门的订单数量,并将其用作与合作伙伴进行任何查询的唯一代码。我不想将其作为主键 ID。
提前感谢!
如果您稍微重新考虑架构,它变得微不足道; 与其将具有 ID 和代码的列组合在一起,不如在插入时保持运行计数:
INSERT INTO business(department, name, code) SELECT Forms!Department, Forms!Name, COUNT(*)+1 FROM business WHERE name=Forms!Name
然后,当您提取信息时:
SELECT department, name, LEFT(1, department) & code