Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docmd.runsql(“从标准值中删除”)_Sql_Ms Access_Vba - Fatal编程技术网

docmd.runsql(“从标准值中删除”)

docmd.runsql(“从标准值中删除”),sql,ms-access,vba,Sql,Ms Access,Vba,下面的代码读取组合框中选定查询的名称。然后,它会找到与该查询对应的表,并且必须从中删除数据,以便在select查询中运行Insert。我在查询中选择了Select,但每次都会删除表。您能帮助我理解docmd.Runsql(“delete*from…”)行中的语法吗?我需要在用数据重新填充表之前清空该表,因此正在考虑在sql命令中传递一个带有表名的字符串值。谢谢您的帮助 For Each valSelect In Me.Combo29.ItemsSelected DoCmd.SetWarnin

下面的代码读取组合框中选定查询的名称。然后,它会找到与该查询对应的表,并且必须从中删除数据,以便在select查询中运行Insert。我在查询中选择了Select,但每次都会删除表。您能帮助我理解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

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

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

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