【问题标题】:Ms Access relationship between two different type of fieldMs 两种不同类型字段之间的访问关系
【发布时间】:2021-04-22 08:34:23
【问题描述】:

我有一个关于发票、采购的可信 MS Access 数据库。我在 4 年前使用它,但需要重新做,以解决问题,在其中构建新内容,使其更易于使用。我在十多年前就开始使用 MS Access,但这是我第一次问。

我这样做只有一个问题。 我有两个有关系的表,一对多。一个是关于发票数据的,另一个是关于发票项目的。在发票表中,发票编号是具有指定格式的自动编号。有一个拆分表格,其中应该是一个过滤的数据表,过滤到实际的发票号码。现在它不起作用,因为两个连接的字段参数不匹配。 是的,一个是自动编号,另一个存储为短文本。

在旧数据库中,我将发票编号存储为短文本,但我讨厌在创建新发票编号时一直填写新发票编号。这必须是数据库的新功能,才能自动填充。

如需更准确的信息:
发票号码:
数据类型:自动编号
字段大小:长整数
新值:增量
格式:“SZ”00000

如果您认为我的方法不理想,欢迎提出您的想法。

【问题讨论】:

    标签: ms-access relationship


    【解决方案1】:

    良好的数据库设计原则建议您应该将发票编号作为数字添加到 Invoice Items 表中。然后您还可以将发票编号设置为外键,这将帮助您在两个表之间强制执行referential integrity。您可以在阅读表格时根据需要格式化数字。

    【讨论】:

      【解决方案2】:

      转换任一数字,然后根据需要进行过滤/比较/匹配:

      NumericNumber = Val([TextNumber])
      

      或:

      TextNumber = CStr([NumericNumber])
      

      如果“SZ”是文本编号的前缀,请尝试:

      TextNumber = "SZ" & CStr([NumericNumber])
      

      【讨论】:

      • 谢谢古斯塔夫!我用更多信息修改了原始帖子。
      • 好的。请查看扩展答案。
      猜你喜欢
      • 2018-07-11
      • 1970-01-01
      • 2013-12-24
      • 2020-04-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多