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中获得相同的结果?我必须创建一个记录集吗?那么如何将数据放入数据表中。将其用作数据表/表单的记录源。