gpt4 book ai didi

database - Access VBA : enter expression in user form, 将计算结果存储在表中?

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:35 25 4
gpt4 key购买 nike

我有一个表单,我希望用户能够在其中输入简单的数学运算,并将计算值存储在表中。

例如:

  1. 用户在文本框中输入“1+5”。
  2. 答案6存储在数据库表中。

目前,在我的数字表单字段中输入“1+5”会导致错误:“将文本输入数字字段”。有什么办法吗?

最佳答案

您可以编写 VBA 脚本来解析输入并执行任何需要的计算。这可能由未绑定(bind)的表单字段的 BeforeUpdate 事件触发。

步骤:

  1. 为计算值创建一个名为 Field1 的字段(绑定(bind)到适当的数据库字段)。
  2. 向您的表单添加一个未绑定(bind) 字段并将其命名为 Input1。
  3. 在“设计” View 中,右键单击 Input1 并选择“属性”。在“事件”->“更新前”下,单击“...”按钮。
  4. 插入我编写的 VBA 代码(如下)。
  5. 保存更改并关闭 VBA 编辑器。
  6. 返回表单 View 并在您的 Input1 字段中输入一个表达式。当您跳出该字段时,将对表达式求值并将值显示在 Field1 中。

请注意,出于安全和/或数据完整性的原因,您可能需要在将用户输入作为表达式求值之前对其进行清理。 “如何”和“为什么”的细节超出了原始问题的范围。

Private Sub Input1_BeforeUpdate(Cancel As Integer)
' TO-DO: Validate/sanitize input as necessary for security & validity;
' Exit Sub prior to the Eval() if we see something we don't like
Dim result As Variant
result = Eval(Input1.Value) ' Evaluate the contents of Input1
If IsNumeric(result) Then Field1 = result ' Save any numeric result to Field1
End Sub

关于database - Access VBA : enter expression in user form, 将计算结果存储在表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7606407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com