【问题标题】:Why does this SQL statement ask for a value?为什么这条 SQL 语句要求一个值?
【发布时间】:2012-06-27 02:28:50
【问题描述】:

我有一个表单,可让您将名称添加到表中并在下拉菜单中显示。 当我单击表单时,它应该要求用户输入他们想要添加的名称,然后单击“确定”。用户单击确定后,名称应存储在表格中并添加到下拉菜单中。

一切正常,但是当用户在文本框中键入值并单击“确定”时,会弹出一个窗口,询问参数值。无论用户在此参数值中键入什么,都会将其保存在表中,而不是从文本框中获取值。我不确定为什么会这样。

名字是字符串,是不是引号?

代码如下:

Dim test As String
test = Text1.Value
DoCmd.RunSQL "INSERT INTO List_Of_Agencies(T_PI_GroupName)VALUES (" & test & ");"
Form_0_Cover.Combo2.Requery

【问题讨论】:

  • 欢迎来到 Stack Overflow。请阅读FAQ——你不会走到某人面前问“追加查询访问?”所以请不要在这里这样做。问题标题应该是一个实际问题。另外,还请利用精彩的标签系统,适当地标记您的问题,以便其他人知道您的问题是什么。
  • 我确实使用了“标记系统”
  • ms-access 标签是监控最广泛的标签,所有关于 MS Access 的问题最好都包含此标签。这使得 SO 用户可以更轻松地搜索 Access 相关主题,而不必搜索每个子标签。

标签: ms-access append vba ms-access-2003


【解决方案1】:
DoCmd.RunSQL "INSERT INTO List_Of_Agencies(T_PI_GroupName) VALUES ('" & test & "')"

【讨论】:

  • RunSQL 运行时出现 MS Access 警告。要在没有内置警告的情况下运行,请使用 CurrentDB 实例并执行 SQL 字符串。
  • @Remou 你不能事先使用DoCmd.SetWarnings = 0 之类的东西吗?
  • @JP 不,这是个坏主意。它掩盖了您需要了解的错误并且是系统范围的,不仅限于您正在使用的 Access 应用程序,这意味着如果您忘记关闭设置警告,或者即使有人在命令之间从一个应用程序切换到另一个应用程序,您也可能会造成严重破坏.你会发现在 SO 中大多数地方都提到了设置警告,有一条评论建议你不要使用它。在 Tek-Tips 上也是如此,而且我怀疑大多数 Access 论坛。
  • @Remou 谢谢,但我还是很困惑。我会发布一个问题。
  • @JP 这里是一个例子,很快就找到了stackoverflow.com/questions/9141130/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多