Pessoal,
Como escrevo esse meu SQL gerado de uma consulta em VBA de forma que a tabela que ele cria seja variavel(ou seja ele cria uma tabela diferente de acordo com um critério).
Exemplo, se uma devida palavra for Teste ele cria a tabela TBL_teste se for Teste1 ele cria a TBL_Teste 1.
Até ai eu crio um Dlookup e resolvo a variável, porém não sei como escrever o SQL extenso no VBA.
SELECT [BI TRADE 001 (RADAR) CLIENTES].*, [CRM_GERENTES REGIONAIS].REGIONAL, [CRM_GERENTES REGIONAIS].REPRESENTANTE, CRM_PRODUTOS.NOME_PRODUTO, CRM_PRODUTOS.MACRO_FAMILIA, [BI TRADE 004 (RADAR) ESTOQUE ATUAL].ESTOQUE, [BI TRADE 003 (RADAR) PONDERADA].PONDERADA, [BI TRADE 005 (RADAR) COBERTURA].COBERTURA, CRM_PRODUTOS.PRECO_SUGERIDO AS MULTI, [BI TRADE 007 (RADAR) TABLOIDE PREÇOS].PREÇO_PRATICADO AS TABLOIDE, [BI TRADE 009 (RADAR) AGILE PREÇOS].PREÇO_PRATICADO AS AGILE, IIf(IsNull([TABLOIDE]) Or IsNull([MULTI]),"",Format(Nz([TABLOIDE])/Nz([MULTI])-1,"Percent")) AS [%TABLOIDE], IIf(IsNull([AGILE]) Or IsNull([MULTI]),"",Format(Nz([AGILE])/Nz([MULTI])-1,"Percent")) AS [%AGILE], IIf(((Nz([AGILE])/Nz([MULTI])-1)>0 Or (Nz([TABLOIDE])/Nz([MULTI])-1)>0) Or Nz([COBERTURA])>12,"VILÃO","MOCINHO") AS PERFIL INTO [TBL_RADAR FINAL]
FROM (((((([BI TRADE 001 (RADAR) CLIENTES] LEFT JOIN [BI TRADE 003 (RADAR) PONDERADA] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 003 (RADAR) PONDERADA].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 003 (RADAR) PONDERADA].CLIENTE)) LEFT JOIN [BI TRADE 005 (RADAR) COBERTURA] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 005 (RADAR) COBERTURA].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 005 (RADAR) COBERTURA].CLIENTE)) LEFT JOIN [BI TRADE 004 (RADAR) ESTOQUE ATUAL] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 004 (RADAR) ESTOQUE ATUAL].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 004 (RADAR) ESTOQUE ATUAL].CLIENTE)) LEFT JOIN [BI TRADE 007 (RADAR) TABLOIDE PREÇOS] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 007 (RADAR) TABLOIDE PREÇOS].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 007 (RADAR) TABLOIDE PREÇOS].CLIENTE)) LEFT JOIN [BI TRADE 009 (RADAR) AGILE PREÇOS] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 009 (RADAR) AGILE PREÇOS].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 009 (RADAR) AGILE PREÇOS].CLIENTE)) LEFT JOIN CRM_PRODUTOS ON [BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = CRM_PRODUTOS.SKU_MULTILASER) LEFT JOIN [CRM_GERENTES REGIONAIS] ON [BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [CRM_GERENTES REGIONAIS].CLIENTE;
Como escrevo esse meu SQL gerado de uma consulta em VBA de forma que a tabela que ele cria seja variavel(ou seja ele cria uma tabela diferente de acordo com um critério).
Exemplo, se uma devida palavra for Teste ele cria a tabela TBL_teste se for Teste1 ele cria a TBL_Teste 1.
Até ai eu crio um Dlookup e resolvo a variável, porém não sei como escrever o SQL extenso no VBA.
SELECT [BI TRADE 001 (RADAR) CLIENTES].*, [CRM_GERENTES REGIONAIS].REGIONAL, [CRM_GERENTES REGIONAIS].REPRESENTANTE, CRM_PRODUTOS.NOME_PRODUTO, CRM_PRODUTOS.MACRO_FAMILIA, [BI TRADE 004 (RADAR) ESTOQUE ATUAL].ESTOQUE, [BI TRADE 003 (RADAR) PONDERADA].PONDERADA, [BI TRADE 005 (RADAR) COBERTURA].COBERTURA, CRM_PRODUTOS.PRECO_SUGERIDO AS MULTI, [BI TRADE 007 (RADAR) TABLOIDE PREÇOS].PREÇO_PRATICADO AS TABLOIDE, [BI TRADE 009 (RADAR) AGILE PREÇOS].PREÇO_PRATICADO AS AGILE, IIf(IsNull([TABLOIDE]) Or IsNull([MULTI]),"",Format(Nz([TABLOIDE])/Nz([MULTI])-1,"Percent")) AS [%TABLOIDE], IIf(IsNull([AGILE]) Or IsNull([MULTI]),"",Format(Nz([AGILE])/Nz([MULTI])-1,"Percent")) AS [%AGILE], IIf(((Nz([AGILE])/Nz([MULTI])-1)>0 Or (Nz([TABLOIDE])/Nz([MULTI])-1)>0) Or Nz([COBERTURA])>12,"VILÃO","MOCINHO") AS PERFIL INTO [TBL_RADAR FINAL]
FROM (((((([BI TRADE 001 (RADAR) CLIENTES] LEFT JOIN [BI TRADE 003 (RADAR) PONDERADA] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 003 (RADAR) PONDERADA].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 003 (RADAR) PONDERADA].CLIENTE)) LEFT JOIN [BI TRADE 005 (RADAR) COBERTURA] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 005 (RADAR) COBERTURA].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 005 (RADAR) COBERTURA].CLIENTE)) LEFT JOIN [BI TRADE 004 (RADAR) ESTOQUE ATUAL] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 004 (RADAR) ESTOQUE ATUAL].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 004 (RADAR) ESTOQUE ATUAL].CLIENTE)) LEFT JOIN [BI TRADE 007 (RADAR) TABLOIDE PREÇOS] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 007 (RADAR) TABLOIDE PREÇOS].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 007 (RADAR) TABLOIDE PREÇOS].CLIENTE)) LEFT JOIN [BI TRADE 009 (RADAR) AGILE PREÇOS] ON ([BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = [BI TRADE 009 (RADAR) AGILE PREÇOS].SKU_MULTILASER) AND ([BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [BI TRADE 009 (RADAR) AGILE PREÇOS].CLIENTE)) LEFT JOIN CRM_PRODUTOS ON [BI TRADE 001 (RADAR) CLIENTES].SKU_MULTILASER = CRM_PRODUTOS.SKU_MULTILASER) LEFT JOIN [CRM_GERENTES REGIONAIS] ON [BI TRADE 001 (RADAR) CLIENTES].CLIENTE = [CRM_GERENTES REGIONAIS].CLIENTE;