docmd.runsql ("从 &strValue& 中删除 *")

Posted

技术标签:

【中文标题】docmd.runsql ("从 &strValue& 中删除 *")【英文标题】:docmd.runsql ("delete * from &strValue&") 【发布时间】:2015-12-10 00:54:53 【问题描述】:

以下代码读取组合框中选定查询的名称。然后它找到与该查询对应的表,并且必须从中删除数据,以便将插入运行到选择查询中。我有选择进入查询,但这每次都会删除表。你能帮忙看看 docmd.Runsql ("delete * from .....) 行中的语法吗?我需要先清空表,然后再用数据重新填充它,因此正在考虑在sql命令。谢谢你的帮助!

For Each valSelect In Me.Combo29.ItemsSelected
  DoCmd.SetWarnings (WarningsOff)
  strValue = Me.Combo29.ItemData(valSelect)
    strValue3 = DLookup("TableName", "[List of Queries]", "QueryName = '" & strValue & "'")
    DoCmd.RunSQL ("delete * from '& strValue3 &'")
    DoCmd.OpenQuery (strValue)
    Me.Combo29.Selected(valSelect) = False

【问题讨论】:

【参考方案1】:

只需从DELETE 语句中删除星号即可。此外,您的双引号看起来不正确。可能还需要添加一些方括号,以防您的表名中有空格:

DoCmd.RunSQL "delete from [" & strValue3 & "]"

【讨论】:

@sstan,我在哪里可以阅读有关 vba 中变量语法使用引号和 && 的信息? 任何基本的 VBA 教程都将包含该信息。您可能需要特别关注有关如何在 VBA 中进行字符串连接的任何信息。 非常感谢。将寻找字符串连接。

以上是关于docmd.runsql ("从 &strValue& 中删除 *")的主要内容,如果未能解决你的问题,请参考以下文章

DoCmd.RunSQL 中的 VBA 变量

将 DoCmd.RunSQL 用于 INSERT 和 DELETE 时删除确认

MS Access currentdb.excute 的结果与 Docmd.RunSQL 不同

如何使用 DoCmd.RunSQL

如何在 Ms Access 2007 中执行 Mysql 查询

从多个表中删除数据