一个(可能是未绑定的)Access 2003表单,用于创建多个记录

时间:2010-09-13 17:29:25

标签: forms ms-access ms-access-2003 data-entry

我被招募来处理跟踪标本的表格。每个标本与一个主题相关联;每个样本在9 x 9存储盒中也有一个特定的插槽。为了便于数据输入,我认为最好是Access表单镜像框本身(以及用于将数据输入Access的纸质表单):九列九行,每个元素基本上由文本组成标本ID框。这基本上就是我喜欢它的样子:

alt text

因此,数据输入人员基本上会输入框号和样本ID,然后点击“创建记录”以弹出所有这些记录(你可以看到其他一些东西在这里发生,但这不是很重要)现在)。但是,我并不确定最好的编码方式。现在,我能想到的最好的过程是:1)运行插入查询以创建不存在的框,2)运行插入查询以创建主题(人),如果它不存在,3)对每个样本运行插入查询,在其行和列中进行硬编码(例如box_col ='A',box_row ='1')。

注意:主题ID和标本ID都将从ID字段中解析出来 - 这很愚蠢,不是我的想法,但这就是它的设置方式。不过,我可以解决这个问题。

这肯定是一个蠢货,但我不知道还有什么可做的,而且我用Google搜索的大部分内容与从单一表格创建的多记录创作无关。有一个更好的方法吗?我应该放弃这个想法,采用更传统的约束子形式方法吗?我非常感谢您的见解和建议。非常感谢。

3 个答案:

答案 0 :(得分:2)

这可以全部以子形式完成 - 但是,我假设为了简单(更少的点击次数,更轻松的用户体验和直觉),你设计了它,以便最终用户看到他/她需要输入的所有内容。这样做是没有错的。一旦数据全部输入,只需在表单上有一个按钮,一次执行多个插入。 从1开始,每次发出一个新的INSERT语句时包含9次迭代。

一旦声明完成,我个人会在每行旁边放一个小复选标记,这样如果插入成功,它会检查为true,否则为false。你可以很漂亮并使用绿色图像/红色图像。完成该过程后,应清除所有字段,以便进一步输入。

我没有看到你的问题。

答案 1 :(得分:2)

FRIG。我只输了十分钟的打字。这就是为什么我不关心基于网络的表格。虽然公平地说这是第一次在StackOverflow上发生这种情况。

您是否真的需要稍后以与输入格式相同的格式查看数据。如果他们只能查看至少一半工作的常规子表单,因为您不再需要对此表单进行更新。

另请注意,如果我没记错的话,有一个生命值最大值为768,每个窗体都有一个控件。 9 x 9 x 2是162,所以你会在那里。但是,如果你决定删除并重新创建许多cotrols,你可能会遇到麻烦。如果你确实达到了这个限制,我认为以单独的名称保存表格应该重置计数器。

请注意,您可以使用以下构造来引用控件并使生活更轻松。

Me.Controls("abc" & Row & column) 

例如,在类型控件的After Update中,您可以使用

call InsertRecords(3, "B")

sub InsertRecords(row as integer, Column as string)
....
cboTypeValue = Me.Controls("cboTypeID" & Row & Column) 
....

答案 2 :(得分:0)

这可以用作某种原生访问控制仅网格。

如果有人发布了一个示例,说明如何为每个未绑定的记录创建带有行的自定义未绑定子表单,并且要循环并将其保存到表中的代码就会很棒。

没有那么多的控件,它不会受到表单上字段数量的任何限制。