Results 1 to 2 of 2
  1. #1
    OTSeraph is offline Novice
    Windows 7 64bit Access 2007
    Join Date
    Feb 2012
    Posts
    1

    Modules using Crosstabs

    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)

  2. #2
    pbaldy's Avatar
    pbaldy is offline Who is John Galt?
    Windows XP Access 2007
    Join Date
    Feb 2010
    Location
    Nevada, USA
    Posts
    22,521
    This should help you debug the SQL:

    http://www.baldyweb.com/ImmediateWindow.htm

    Offhand, you have a problem with not including spaces between lines.
    Paul (wino moderator)
    MS Access MVP 2007-2019
    www.BaldyWeb.com

Please reply to this thread with any new information or opinions.

Similar Threads

  1. What is the point of different modules?
    By cowboy in forum Programming
    Replies: 3
    Last Post: 03-29-2010, 10:43 PM
  2. Update Access Modules
    By Othello911 in forum Access
    Replies: 0
    Last Post: 01-06-2009, 08:39 AM
  3. update access modules
    By wallen in forum Programming
    Replies: 0
    Last Post: 01-06-2009, 08:22 AM
  4. How to use Modules
    By wasim_sono in forum Access
    Replies: 0
    Last Post: 01-16-2007, 06:29 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums