Hi, I am writing a module to send information to Excel, and the information is based on a Crosstab query. But I keep getting a "syntax error in the TRANSFORM statement". Is this a problem inherent to crosstab queries or is there a way around it?
Function Edt_Royalties() As Integer
Dim AplicExcel As Excel.Application
Dim Planilha As Excel.WorkSheet
Dim stArq As String
Dim DB As Database
strSQL = "TRANSFORM Sum(con_0_NF_Union.Quantidade) AS Qtd" & _
"SELECT tab_Edt_Royalties.Detentor, con_0_NF_Union.Produto, [SB1010 - Produtos].B1_DESC, tab_Edt_Royalties.[% Royalties], tab_Edt_Royalties.Cálculo, [SB1010 - Produtos].B1_PRV1, con_Edt_Adiantamentos.SumOfSaldo, Sum(con_0_NF_Union.Total) AS SumOfTotal" & _
"FROM (((con_0_NF_Union LEFT JOIN [SB1010 - Produtos] ON con_0_NF_Union.Produto = [SB1010 - Produtos].B1_COD) LEFT JOIN [SBM010 - Grupos] ON con_0_NF_Union.Grupo = [SBM010 - Grupos].BM_GRUPO) LEFT JOIN tab_Edt_Royalties ON con_0_NF_Union.Produto = tab_Edt_Royalties.Código) LEFT JOIN con_Edt_Adiantamentos ON con_0_NF_Union.Produto = con_Edt_Adiantamentos.PrdCod" & _
"WHERE (((con_0_NF_Union.Grupo) = '0003' Or (con_0_NF_Union.Grupo) = '0006' Or (con_0_NF_Union.Grupo) = '0007') And ((con_0_NF_Union.TES) <> '927') And (([SB1010 - Produtos].D_E_L_E_T_) <> '*') And (([SBM010 - Grupos].D_E_L_E_T_) <> '*') And ((Format([Emissão], 'yyyy')) = [Forms]![frm_Parâmetros_Trimestre]![CM_Ano]) And ((Format([Emissão], 'mmm')) = [Forms]![frm_Parâmetros_Trimestre]![Mês 1] Or (Format([Emissão], 'mmm')) = [Forms]![frm_Parâmetros_Trimestre]![Mês 2] Or (Format([Emissão], 'mmm')) = [Forms]![frm_Parâmetros_Trimestre]![Mês 3]) And ((con_0_NF_Union.Cliente) <> '004002'))" & _
"GROUP BY tab_Edt_Royalties.Detentor, con_0_NF_Union.Produto, [SB1010 - Produtos].B1_DESC, tab_Edt_Royalties.[% Royalties], tab_Edt_Royalties.Cálculo, [SB1010 - Produtos].B1_PRV1, con_Edt_Adiantamentos.SumOfSaldo" & _
"ORDER BY tab_Edt_Royalties.Detentor, con_0_NF_Union.Produto" & _
"PIVOT Format([Emissão],'mmm') In ('Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago',' Set','Out','Nov','Dez');"
Set DB = CurrentDb
Set RS = DB.OpenRecordset(strSQL)