Olá pessoal,
Sou novo por aqui, e no access. Gostaria de pedir ajuda em uma consulta :
Tenho duas tabelas: base e basemensal .
A primeira tabela contém dados de saldos de contas contábeis acumulados, ou seja, o saldo de contas de janeiro, jan até fev, jan até mar ...jan a dez.
A segunda tabela deve ser atualizada com os saldos mensais (movimentos) .
O que eu estou tentando fazer é usar uma consulta que copie os dados de janeiro da tabela base para a base mensal e depois faça basemensal fevereiro, março , ...dezembro menos a soma da tabela base dos meses anteriores , contudo no mês de março a consulta não faz a diferença, ela soma os meses anteriores.
agradeço a ajuda
- Código:
INSERT INTO basemensal( Período, Empresa, Setor, Conta, Segregação, valormes )
SELECT cnAcum.Período, cnAcum.Empresa, cnAcum.Setor, cnAcum.Conta, cnAcum.Segregação, (Sum([cnAcum]!valormes) - Sum([cnmes]!valormes)) AS valormes
FROM
(SELECT base.período, base.Empresa, base.setor, base.conta, base.Segregação, Sum(base.valor) as valormes FROM base WHERE base.período like '*/04/*' AND (base.[última versão]) = 'sim' GROUP BY base.período, base.Empresa, base.setor, base.conta, base.Segregação ) as cnAcum
LEFT JOIN
(SELECT mensal.período, mensal.Empresa, mensal.setor, mensal.conta, mensal.segregação , Sum(mensal.valormes) as valormes FROM mensal GROUP BY mensal.período, mensal.Empresa, mensal.setor, mensal.conta, mensal.segregação) as cnmes
ON (cnAcum.Segregação = cnmes.segregação) AND (cnAcum.Conta = cnmes.conta) AND (cnAcum.Setor = cnmes.setor) AND (cnAcum.Empresa = cnmes.Empresa)
GROUP BY cnAcum.Período, cnAcum.Empresa, cnAcum.Setor, cnAcum.Conta, cnAcum.Segregação, cnmes.Período, cnmes.Empresa, cnmes.Setor, cnmes.Conta, cnmes.Segregação;
O problema era o período, retirei do segundo select (left) e deu certo.