访问:设置和使用全局变量

问题描述 投票:-1回答:1

所以我有一个非常复杂的数据库,我被要求创建表单,看起来我需要使用一些全局变量,而且这只是一个很好的实践,因为我在VBA是个新手。我已阅读过声明全局变量的内容

Option Compare Database
Option Explicit

Public YourGlobalVariable As String

但我无法弄清楚如何说从表单中的文本框中获取用户输入并将其分配给YourGlobalVariable,然后以其他形式使用YourGlobalVariable并将其输入到表中。

非常感谢您的时间,正如我提到的,我是Access和VBA的新手,所以非常感谢任何和所有的帮助!

编辑:示例...

所以以一种形式说他们输入他们做的10项活动。在另一种形式中,他们必须评估他们对每10项活动的喜好程度。我需要一种方法将这10个活动记录在1)数据库中的表2)中,我可以在将来用户填写的形式中将它们吐出来。这就是为什么我认为全局变量是完美的。每个活动字符串都有自己的全局变量,我可以在需要的地方使用它。

forms ms-access datatable access-vba global-variables
1个回答
1
投票

您不需要也不想使用全局变量来传递一些值。在.net,c ++,FoxPro或用于处理数据的任何系统中,这是一个坏主意。

以及如何在vb.net中使用全局变量,而VBA是相同的。

第一个也是最重要的问题是用于进入这些活动的表格。不清楚你是否有一个规范化的数据库,他们最终输入10行数据(或5或15),这种形式允许输入这样的激活。

Access将为您完成所有脏工作,因为这些表单是数据绑定的,并且不需要读取/写入/编辑数据的代码。

此时,用户已进入10次激活(但如上所述,您的设计应允许激活3次,5次或50次)。

一旦他们输入了这些数据,就不清楚为什么他们没有输入评级。

但是,我认为他们现在推出了一些允许输入评级的表格。不清楚为什么原始形式简单没有额外的文本框绑定到列评级。

因此,用户在获得评级信息时会启动此表单,只需找到正确的记录,然后简单地输入评级,或者从您构建的一个漂亮的组合框中选择它。

到目前为止,我们不必编写任何代码,我们只是创建了一个绑定到表的表单。但是,如上所述,由于将会有3个或30个活动,因此我认为您的设计并不是硬编码为仅10个活动。

我会假设某些发票形式,您有关于“事件”的信息代替发票信息(客户等),然后是一个子表单,允许您输入一行或多行发票详细信息,或者在此case这一事件的所有可能事件和活动。

到目前为止,根据您的解释,这里需要零代码。

没有必要将10个事件传递给其他形式,只需启动用于输入事件的相同表单,以及10个活动,现在可以简单地编辑(输入)活动的结果或状态。

您的解释中没有任何内容表明需要全局变量,实际上到目前为止,您解释的内容可以使用Access表单完成,而根本不需要代码。

您首先需要做的是在构建任何表单之前构建一组正确的表来处理这些数据,或者编写一行代码。使用正确的表格设计,您的其他要求变得微不足道,如前所述,如果您使用Access的强大功能来构建此类表单,则不需要任何代码。

© www.soinside.com 2019 - 2024. All rights reserved.