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
Vba 参数太少:应为1个执行“选择到”_Vba_Ms Access - Fatal编程技术网

Vba 参数太少:应为1个执行“选择到”

Vba 参数太少:应为1个执行“选择到”,vba,ms-access,Vba,Ms Access,我试图使用VBA对以下文档执行选择: 我正在尝试从查询中选择并插入到新表中: strSQL = "SELECT [BookingDate], [StartTime], [first_name], [last_name] INTO [NewTable] FROM myQuery" CurrentDb.Execute strSQL, dbFailOnError 然而,它抛出了一个错误 参数太少:应为1 我做错了什么?来自 小心 TempVar范围由应用程序对象定义,该对象包括其任何子对

我试图使用VBA对以下文档执行选择:

我正在尝试从查询中选择并插入到新表中:

strSQL = "SELECT [BookingDate], [StartTime], [first_name], [last_name] INTO [NewTable] FROM myQuery"
    CurrentDb.Execute strSQL, dbFailOnError
然而,它抛出了一个错误

参数太少:应为1

我做错了什么?

来自

小心

TempVar范围由应用程序对象定义,该对象包括其任何子对象,如窗体、报表和查询

但是,数据库引擎不在应用程序范围内。[……]

另外,如果使用
CurrentDb
对象执行查询,该查询将在应用程序范围之外运行。相反,使用
DoCmd.OpenQuery
执行查询,它将可以访问您的临时变量


或者,
DoCmd.RunSQL
see

这通常表示字段名拼写错误或缺失。我尝试从strSQL=“SELECT*INTO[NewTable]FROM myQuery”开始,但得到了完全相同的错误。然后,您的查询需要一个参数。如果对表单字段进行筛选,则会出现这种情况。请尝试将其删除以进行测试。如果这样运行,您必须找到其他方法来应用来自临时变量的值。Andre使用DoCmd的解决方案提供了允许使用临时变量的答案。感谢Andre,我将给出一个GO来确认答案-DoCmd.RunSQL(strSQL)似乎与临时变量一起工作。我认为书中建议的OpenQuery更适合从查询中进行选择。谢谢
CurrentDb.Execute(“selecttable.*into table from table.”
在一个数据库中对我有效,但在另一个数据库中不起作用。尽管它说的参数太少:应该是2而不是1。请提出一个新问题,并说明所有细节@维南德