如何在SQL语句中引用组合框并在VBA中运行该语句



我试图让用户使用表单将数据插入表Inventory2locaton中的Microsoft Access中。他们将从两个组合框中选择数据,然后按添加按钮将数据添加到表中。

我使用的查询是

INSERT INTO Inventory2Location
VALUES (ComboPart.value, ComboOver.value);

,但实际上不会从组合框中拉出ComboPart.valueComboOver.value

我也无法通过单击按钮来弄清楚如何运行此查询。我有

的模块
Private Sub CommandAdd_Click()

,但不知道什么VBA代码会运行查询。

我对Excel经验的VBA非常熟悉,并且在SQL上上课,但我非常熟悉访问,并且不了解如何将两者放在一起。

我会提出一个更好的解决方案是将表格的"记录源"属性设置为intickory2location。然后,在表单属性的"数据"选项卡上,将"数据输入"设置为"是"。这将使之成为现实,因此表单只能在表中添加记录。

接下来,对于表示您要添加的表中值的每个控件,请进入该控件的属性,然后将Control Source设置为您想要更新的字段。

然后,在"保存"按钮的事件选项卡上,删除[Event Procedure],然后单击...按钮。选择Macro Builder。这将在形式中创建一个嵌入式宏。宏只是两个命令。一个用于保存当前记录,另一个要关闭表格。

RunMenuCommand
       Command  SaveRecord
CloseWindow
   Object Type  Form
   Object Name  =[Screen].[ActiveForm].Name
          Save  Prompt

一定要将等价符号放在[Screen]的前面。

这种方法的好处是:

  • 如果由于重复的键或不良输入而出现错误,则访问将照顾通知用户问题。使用VBA,您需要捕获这些类型的错误。
  • 通过使用嵌入式宏,您应该能够直接消除附加到表单的代码模块(将Has Module转换为其他 tab中的 No to for Form的属性)。这将其变成了A 轻量级表格,这意味着它运行更快,并且不会遭受通常的代码损坏,而渗透到访问中。
  • 最后,您应该能够在不授予数据库的信任设置的情况下运行表单。因此,您不必担心人们单击"启用"按钮以使表格正常工作。

尝试这个,

sqlStr = "INSERT INTO Inventory2Location VALUES (" & ComboPart.Value & " ," & ComboOver.value & ");"

您需要获取组合框的值,您正在做的只是使ComboPart.Value成为字面的字符串值。

至于此代码,

Private Sub CommandAdd_Click()

它是自动生成的代码,因此在单击它时应将其附加到某物上以发射。

最新更新