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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
Ms access 交叉表查询生成运行时错误';13';类型不匹配_Ms Access_Vba - Fatal编程技术网

Ms access 交叉表查询生成运行时错误';13';类型不匹配

Ms access 交叉表查询生成运行时错误';13';类型不匹配,ms-access,vba,Ms Access,Vba,正在尝试在数据表中创建交叉表报表。我有一个很长的设置查询,用于过滤报告所需的内容。我在每个报告的表单上都有一个按钮。以下是按钮点击事件中类型不匹配的代码: Dim SKbyYrByMo As String SKbyYrByMo = "TRANSFORM Sum([1ACTMasterQuery].Extension) AS SumOfExtension" & _ SKbyYrByMo = SKbyYrByMo + " SELECT [1ACTMasterQuery].Year, [1

正在尝试在数据表中创建交叉表报表。我有一个很长的设置查询,用于过滤报告所需的内容。我在每个报告的表单上都有一个按钮。以下是按钮点击事件中类型不匹配的代码:

Dim SKbyYrByMo As String
SKbyYrByMo = "TRANSFORM Sum([1ACTMasterQuery].Extension) AS SumOfExtension" 
& _
SKbyYrByMo = SKbyYrByMo + " SELECT [1ACTMasterQuery].Year, 
[1ACTMasterQuery].Sku, Sum([1ACTMasterQuery].Extension) AS [Total Of 
Extension]" & _
SKbyYrByMo = SKbyYrByMo + " FROM 1ACTMasterQuery" & _
SKbyYrByMo = SKbyYrByMo + " GROUP BY [1ACTMasterQuery].Year, 
[1ACTMasterQuery].Sku" & _
SKbyYrByMo = SKbyYrByMo + " PIVOT [1ACTMasterQuery].MonthNo"

DoCmd.RunSQL SKbyYrByMo
设置查询有日期,我想知道在字符串中设置SQL时这是否是一个问题。如果通过DoCmd.OpenQuery“1ACTMasterQuery”运行查询,其中1ACTMasterQuery位于访问查询列表中,则查询运行正常。但我需要在vba中运行它。如果需要更多信息,请告诉我

谢谢


jpl458

您的字符串语法有缺陷。尝试:

SKbyYrByMo = "TRANSFORM Sum([1ACTMasterQuery].Extension) AS SumOfExtension" & _
" SELECT [1ACTMasterQuery].Year, [1ACTMasterQuery].Sku, Sum([1ACTMasterQuery].Extension) AS [Total Of Extension]" & _
" FROM 1ACTMasterQuery" & _
" GROUP BY [1ACTMasterQuery].Year, [1ACTMasterQuery].Sku" & _
" PIVOT [1ACTMasterQuery].MonthNo"

您可能还注意到,您不能
DoCmd.RunSQL
非操作查询。谢谢@ErikvonAsmuth。。。没有那么远。我复制了你的代码,它在这个命令中给了我以下错误。DoCmd.RunSQL SKbyTrByMo。运行时错误2342 ARunSQL操作需要一个由SQL语句组成的参数RunSQL仅适用于操作查询,我刚刚读到。在ACCESS中运行时,上面的查询将返回数据并显示在数据表中。如何在VBA中获得相同的结果?我必须创建一个记录集吗?那么如何将数据放入数据表中。将其用作数据表/表单的记录源。