MS access 2013如何在将记录插入表格之前以编程方式处理表单中的数据

时间:2016-08-31 14:51:02

标签: access-vba ms-access-2013

好的,这是我第一次提出问题,所以忍受我 - 很难解释。

我正在开发一个Access数据库应用程序来替换用户使用excel电子表格执行的功能和功能。由于各种用户错误地添加和/或修改数据,电子表格上的数据经常被破坏。电子表格基本上是2个数据表和许多报告,每个报告都是一个单独的表格。

该应用背后的想法是客户维护汽车车轮(轮辋)的库存。这些车轮定期放置在自动测试机上,并通过测试生成CSV格式的测试数据。测试数据在另一个应用程序中进行操作,以生成包含“RunOut”数据行的电子表格。

My Access应用程序有2个表 - 一个“WHEEL SPEC”表,其中包含有关每个轮子的基本数据,如名称,大小,存储位置等,以及“RUNOUT HISTORY”表,其中每个记录是一行RunOut数据来自处理电子表格。

客户希望能够通过从处理电子表格中复制数据行(通常为3到5行)将RunOut数据添加到RUNOUT HISTORY表中并将它们粘贴到访问表中。我想在每一行中设置一个外键字段,以将数据与WHEEL SPEC表中的现有Wheel相关联,并在插入之前运行一些数据验证,以防止数据因复制/粘贴操作而损坏。我创建了一个带有组合框的表单,用户可以在其中选择要与新RunOut数据关联的Wheel,一个允许他们将复制的行粘贴到表中的子表单,以及两个按钮“Commit”和“Cancel”

当用户选择“提交”时,我想对复制的数据运行验证,然后将组合框中选定的Wheel中的Wheel ID添加到每个记录中。我希望验证错误能够在不保存数据的情况下向用户报告,以便他们决定是修复数据还是取消,稍后再试。

对此有任何帮助将不胜感激。我已经在线寻找解决方案,但大多数答案只是提到导入excel数据,这不是我想要在这里完成的。

1 个答案:

答案 0 :(得分:0)

我建议创建临时表以存储传入数据,然后再将其移动到RunOut History表。不要忘记包含WheelSpecID字段。这是一种方法......

根据临时表创建子表单。将其设为数据表表单,以便用户可以将Excel复制并粘贴到数据表中。

创建一个基于WheelSpec表的主窗体。将子表单插入此表单,并链接主表和子字段(WheelSpecID)。

在这里,您需要使用WheelSpecID加载主窗体,或者根据您的Combobox进行更改。它的工作方式是,放入子表单的任何内容都采用主窗体的ID#。单击提交按钮时,可以对临时表中的每条记录运行检查,然后将项目移动到RunOut History表。