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 用于 INSERT 和 DELETE 时删除确认
MS Access currentdb.excute 的结果与 Docmd.RunSQL 不同