我有一个使用 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)进行比较。它包括与上述相同的匹配过程。
*假设凭证以多种方式出现,需要与多个表进行比较。