Tenho uma conexão com o banco de dados da totvs, onde o mesmo faz a busca de vários campos para serem tratados depois com formulas, gostaria de saber como faço buscar o dados do banco somente digitando a data do periodo em uma celula na planilha sem que eu tenha que ficar editando manual o codigo.
Segue o codigo abaixo:
SELECT
RTRIM(A1_MUN) as 'Cidade',
F2_DOC as 'Nota Fiscal',
D2_PEDIDO AS 'Pedido',
CONVERT(VARCHAR,CONVERT(DATETIME,F2_EMISSAO),103) as 'Data Emissão',
--F2_EMISSAO as 'Data Emissão',
RTRIM(A1_NOME) as 'Nome Cliente',
RTRIM(A1_EST) as 'UF',
RTRIM(A1_CGC) as 'CNPJ',
RTRIM(F2_VEND1) as 'Cod_Repr',
RTRIM(A3_NOME) as 'Representante',
A3_COMIS * D2_TOTAL as 'Valor Comissão',
RTRIM(D2_CF) as 'CFOP',
RTRIM(D2_COD) as 'Código Produto',
RTRIM( B1_DESC) as 'Nome Produto',
RTRIM( B1_SEGUM) as 'Unidade Medida',
RTRIM(B1_GRUPO) AS 'Grupo',
RTRIM(BM_DESC) AS ' Descricão Grupo',
--D2_TP as 'Tipo do Produto',
F4_DUPLIC as 'Gera Financeiro',
CASE B1_TIPCONV
WHEN 'D' THEN D2_QUANT / B1_CONV
WHEN 'M' THEN D2_QUANT * B1_CONV
END as 'Quantidade',
CASE B1_TIPCONV
WHEN 'D' THEN B1_CONV * D2_PRCVEN
WHEN 'M' THEN B1_CONV / D2_PRCVEN
END as 'Valor Unitário',
0.00 as '% Desconto',
D2_DESC as 'Valor Desconto',
D2_TOTAL as 'Total dos Produtos',
D2_PICM as 'Aliq. ICMS',
D2_BASEICM as 'Base ICMS',
D2_VALICM as 'Valor ICMS',
D2_IPI as 'Aliq. IPI',
D2_BASEIPI as 'Base IPI',
D2_VALIPI as 'Valor IPI',
D2_ICMSRET as 'Valor ST',
D2_TOTAL + D2_VALIPI + D2_ICMSRET as 'Total da Nota',
DA3_PLACA as 'Placa Veículo',
F2_COND as 'Código Condição',
--E4_COND,
RTRIM (E4_DESCRI) as 'Condição de pagamento',
CASE F2_ZZFORMA
WHEN 'R$' THEN 'DINHEIRO'
WHEN 'BOL' THEN 'BOLETO'
WHEN 'CH' THEN 'CHEQUE'
WHEN 'CA' THEN 'CARTEIRA'
END
AS 'FORMA DE PAGAMENTO'
--F2_ZZFORMA as 'Forma de Pagamento'
FROM
PRODUCAO..SA1010
RIGHT JOIN
PRODUCAO..SF2010
ON
A1_COD = F2_CLIENTE
AND
A1_LOJA = F2_LOJA
LEFT JOIN
PRODUCAO..SA3010
ON
A3_COD = F2_VEND1
LEFT JOIN
PRODUCAO..SD2010
ON
D2_DOC = F2_DOC
AND
D2_SERIE = F2_SERIE
AND
D2_FILIAL = F2_FILIAL
AND
D2_CLIENTE = F2_CLIENTE
AND
D2_LOJA = F2_LOJA
LEFT JOIN
PRODUCAO..SB1010
ON
B1_COD = D2_COD
LEFT JOIN
PRODUCAO..SF4010
ON
F4_CODIGO = D2_TES
--faltava relacionar filial da SF4 com a filial da SD2
AND
F4_FILIAL = D2_FILIAL
LEFT JOIN
PRODUCAO..DA3010
ON
DA3_COD = F2_VEICUL1
--faltava relacionar filial da DA3 com a filial da SF2
AND
DA3_FILIAL = F2_FILIAL
LEFT JOIN
PRODUCAO..SBM010
ON
BM_GRUPO = B1_GRUPO
LEFT JOIN
PRODUCAO..SE4010
ON
E4_CODIGO = F2_COND
WHERE
ISNULL(PRODUCAO..SA1010.D_E_L_E_T_, '') != '*'
AND
ISNULL(PRODUCAO..SF2010.D_E_L_E_T_, '') != '*'
AND
ISNULL(PRODUCAO..SA3010.D_E_L_E_T_, '') != '*'
AND
ISNULL(PRODUCAO..SD2010.D_E_L_E_T_, '') != '*'
AND
ISNULL(PRODUCAO..SB1010.D_E_L_E_T_, '') != '*'
AND
ISNULL(PRODUCAO..SF4010.D_E_L_E_T_, '') != '*'
AND
ISNULL(PRODUCAO..DA3010.D_E_L_E_T_, '') != '*'
AND
(D2_TP = 'PA' OR D2_TP = 'PR')
AND
F2_EMISSAO BETWEEN '20150101' AND '20150122'
order by 1,2
Obrigado pela atenção de todos.
Postado : 23/01/2015 12:45 pm