2013-04-30 57 views
0

我正在为我的客户创建一个ms-access表单。使用多维表单在访问中插入数据

事情是这样的:每3-4年,我的客户收到政府提供的.pdf,需要将这些数据插入他们的数据库。

http://www.ntf.be/sites/default/files/media/coeffermageofficiels2011.pdf

该片材给出了,对于给定时间段,每省和每个地理类型,乘法器的值应用到外壳和农业租金。 (希望这对你有意义)

所以乘数取决于4两件事:日期,省,地缘型和出租型

我有几个表:

  • 省(PK:省ID )
  • 地理类型(PK:地理位置类型ID)
  • 出租类型(PK:出租类型ID)
  • 倍增器(PK:乘数ID,FK:省ID,FK:地理标识,FK:出租ID,乘数值,有效日期)

我的客户想要的是一种模仿此确切PDF的表单,以便他可以在获取新乘数值时轻松填写数据。

在尝试使用交叉表查询失败以及嵌套的连续表单重现此操作后,我无法想出一个更好的解决方案来制作硬编码表单,然后使用硬编码的VB查询执行所有插入操作...

虽然我知道如何硬编码所有这一切,我真的不知道是否没有另一种解决方案。

任何想法?

回答

0

我会创建一个“连续表单”表单,该表单被绑定到一个临时表格,其中的列对应于PDF文件中的列。设置代码(例如,可能在表单加载中)可能会为每个省/地区填充临时表,并且如果前一时间段的费率已经在数据库中,那么它也可以插入这些值。可以即时计算“Augm。%”字段并作为可视数据输入验证检查。

当用户“填入空格”时,表单头上的“保存”按钮可以使用两个Append查询将新数据复制到适当的表中:一个用于“Terres”,另一个用于“Batiments” 。

+0

哦,我从来没有想过使用一个虚拟表。将考虑实施它。 但是,“terres”和“batiments”不是表格,它们是一种乘数(在租赁类型表中定义)。 在PDF中,表格中的一行实际上在“乘数”表格中产生两行。 我会尝试所有这一切。 :-)并感谢您的快速回复。 – user1747281 2013-04-30 14:39:31

+0

惹恼我的一件小事是“省”的名字不断重复。 如果前一行包含该字段的相同值,是否有快速设置字段不可见的方法? – user1747281 2013-04-30 15:09:20

+0

@ user1747281对不起,没有。在报告中有一个“隐藏重复”设置文本框,但不适用于表单中的文本框。 – 2013-04-30 17:21:05

0

还有几个选项可以考虑。

选项1:
当我创建的形式,我不平时喜欢他们是直接编辑,至少在没有一些验证\用户确认。
你可以:

  • 设置相关查询到的数据进入pdf格式。
  • 根据这些查询创建表格
  • 当用户想要编辑\添加数据时,在该字段上放置一个事件(即双击事件),这可以打开一个单独的小表单或输入框。
  • 允许他们输入一个新值,当他们点击确定时,使用子程序查找并将新值写入相关表\域。
  • 然后,使用表单repaint \ requery,以便用户可以直接看到他们的更新。

选项2:
一种不同的方法,但也许更简单,更灵活。 创建一个访问报告,重新定位pdf。 这看起来和pdf完全一样。

  • 你可以有一个单一的输入表单(根据您自己的结构,而不是PDF),用户可以输入数据
  • 当他们想看到的结果,你可以给他们打开一个命令按钮那个报告。
  • 他们也可以打印出来。