0

我有一个使用 MS Access 作为前端并用 VB 编码的 SQL 数据库。每天从 Excel 电子表格中导入数据,格式如下:

日记帐日期、IO 帐户、金额、过帐日期、行说明、用户 ID、检查日期、凭证

凭证数据在 Excel 电子表格中格式化,如:1111111;2222222;3333333

凭证可以有任意数量的凭证编号(通常为 1 到 13 个不同的编号),每个编号用分号分隔。此外,每个数字的物理长度可能不同。然后我需要将这些凭证号链接到多个不同的表。我接手这个项目时使用的数据结构以分号分隔的形式存储凭证,并解析字符串以链接到其他表。我正准备修改这个数据库,我不想像这种格式存储数据,因为我知道它违反了 1NF。

我知道我可能应该使用外键,但我不确定如何使用不同的 Voucher 数据。当数据来自 Excel 时,我有能力在 Access 中使用 VB 以任何可能的方式解析数据,我只是不知道如何存储它以关联我的表。

该项目的目标是匹配与每个不同凭证相关的所有内容,并查看金额是否匹配。现在,该过程需要 5 到 10 分钟来拆分凭证并跨表比较数据。

如果您需要更多信息,请与我们联系。任何意见,将不胜感激。谢谢!


编辑-让我更清楚:

这是一个示例凭证:2988670;2990020;2989130;2991597;ONL112382

表中有多个条目(称为 T1),此凭证具有不同的金额。每个数值(不包括 ONL 编号)对应于另一个表(称为 T2)。如果这 4 个数字中的每一个都在 T2 中,则称它们为“匹配”。如果它们匹配并且 T2 中的金额之和等于 T1 中的金额之和,则它们是“匹配没有差异”。

有时凭证如下所示:ED414596

在这种情况下,我必须将此值与一个完全不同的表(称为 T3)进行比较。它包括与上述相同的匹配过程。

*假设凭证以多种方式出现,需要与多个表进行比较。

4

1 回答 1

2

您的凭证表将有 avoucherID和 a voucherNumber,这将允许voucherID根据需要重复多次。 voucherID将是您的第一个表中的外键,两列一起将是该表的 PK。

于 2013-09-17T16:18:59.307 回答