Microsoft Access,计算 - 文本框控件源与 VBA 函数

Posted

技术标签:

【中文标题】Microsoft Access,计算 - 文本框控件源与 VBA 函数【英文标题】:Microsoft Access, Calculations - Text Box Control Source vs VBA Functions 【发布时间】:2011-07-17 13:57:02 【问题描述】:

我需要其他人关于最佳方法的意见。

我有一个基于已创建和打印的表单(不是访问表单)的表单和报告。此访问表单和报告有近 100 个框,这些框根据表格中的少数数值分配了数值。其余的文本框是基于这些少数数值的计算。我最初的计划是将计算输入到文本框的所有控制源中。所以 Box13 的控制源将是 Box2 + Box5 的值。尽管这在表单上运行良好,但我现在也有一个报告,其中包含七个不同的子报告(允许七个单独的明显不同的页面),它们具有这些相同的框。现在我需要检查并设置每个框以不仅引用该框,还引用该框所在的子报表。

我正在考虑的解决方案是将所有这些计算放入 vba 函数中。然后窗体和报表上的文本框的控制源将只引用这些 VBA 函数。因此,box13 的控制源不是 Box2+Box5,而是 Function Box13。以此类推。

如果计算将来需要更改的地方,这将有助于轻松维护,并可能使一切更容易理解。

您对我的两个选项有什么想法和想法。听到别人的意见总是很棒,所以我很感激任何和所有的反馈。

谢谢,

【问题讨论】:

我不认为我理解这个问题。您有一个纸质表格,人们在其中写入计算结果,并且您正在存储人们输入的数据,但您实际上并不需要存储计算结果。过去,当我这样做时,我已经包含了数据输入并根据计算检查了它,以确保它被正确计算。但我不会存储表单中的值。请记住,如果计算值为 13,而表单上的计算值为 14,则可能意味着计算错误或用于计算的数字错误。 【参考方案1】:

改进的“选项 1”:

设计一张表来存放用户直接输入的数据 设计一个查询以包含表单中的所有数据和计算出的 字段 将此查询用作报表的数据源

VBA 方法也应该可以正常工作,但我不会在这种情况下使用它。 我的 .02$ :-)

【讨论】:

这是一个前端和后端的微软访问数据库。不是 SQL 服务器,因此不能选择视图。 是的,好点。我发帖后意识到,你可以用查询做同样的事情。我猜今天的想法不对。不过,我可能会走 vba 路线,因为它允许我有更多的选择,而且我相信更容易维护……目前还不能完全确定,但这就是我目前的想法。我已经在这个查询中有很多很多字段。我可能需要添加另外 40 或 50 个计算字段,这可能会变得混乱且难以维护。并不是说这么多 vba 函数会很容易,但我确实认为它会更容易。但是查询是一个非常可行的选择。谢谢大家

以上是关于Microsoft Access,计算 - 文本框控件源与 VBA 函数的主要内容,如果未能解决你的问题,请参考以下文章

在 Microsoft Access 文本框中开始新行

从文本框值查看组合框值 Microsoft Access 2007

Microsoft Access 表单保存记录

将 Microsoft Access 中的数据绑定到文本框

使用主窗体中的未绑定文本框过滤 Microsoft Access 中的子窗体

Microsoft Access 2010 中的多个文本过滤器