我在 Microsoft Access 中编写 VBA 宏时遇到问题。我想做的是使用 SQL 创建一个输出表,但我想同时写入多个列。
这为我提供了一列所需的所有值:
Docmd.RunSQL “INSERT INTO Output (TargetCol1) SELECT [Field1] FROM [Table1] WHERE [Criteria1] = ‘Value’ GROUP BY Field1”
当我尝试多次运行以获取其他列所需的值时。INSERT INTO 将数据写入新记录,所以我最终会出现空格,如下所示:
Field1----Field2
Value----<Null>
Value----<Null>
Value----<Null>
<Null>----Value
<Null>----Value
我想要的是:
Field1----Field2
Value---- Value
Value---- Value
Value----<Null>
我尝试创建变量并创建一种嵌套语句,但是当我尝试运行我编写的内容时,我在第一行收到“编译错误,需要对象”:
Set x = Docmd.RunSQL “INSERT INTO Output (TargetCol1) SELECT [Field1] FROM [Table1] WHERE [Criteria1] = ‘Value’ GROUP BY Field1”
Set y = Docmd.RunSQL “INSERT INTO Output (TargetCol2) SELECT [Field2] FROM [Table1] WHERE [Criteria2] = ‘Value’ GROUP BY Field2”
Docmd.runsql “INSERT INTO Output (TargetCol1, TargetCol2) Values (x,y)”