Estou a tentar criar uma consulta atualização que está retornando o erro "A operação deve usar uma consulta atualizável".
A consulta que fornecerá os novos dados é do tipo Totais, por tanto não atualizável.
Abaixo o SQL da consulta atualização:
UPDATE qryINSSCalculo INNER JOIN tblLancamentos ON qryINSSCalculo.CodFolha1 = tblLancamentos.CodFolha1 SET tblLancamentos.RefValor = [qryINSSCalculo].[INSSAliq], tblLancamentos.Valor = [qryINSSCalculo].[VrInss]
WHERE (((tblLancamentos.CodEvento1)=112));
SQL da consulta totais:
SELECT tblLancamentos.CodFolha1, Nz(Sum(IIf([BaseINSS]=-1,[Valor])),0) AS BCINSS1, Nz(Sum(IIf([DedINSS]=-1,[Valor])),0) AS BCINSS2, IIf([BCINSS2] Is Null,[BCINSS1],([BCINSS1]-[BCINSS2])) AS BCINSS3, Format(DMax("Ate","qryINSSAliquo2"),"Currency") AS INSSTeto, Format(IIf([BCINSS3]>[INSSTeto],[INSSTeto],[BCINSS3]),"Fixed") AS BCINSS, Nz(DLookUp("[Cota]","qryINSSAliquo2","De <=" & Replace([BCINSS],",",".") & "AND Ate >=" & Replace([BCINSS],",",".")),0) AS INSSAliq, [BCINSS]*[INSSAliq]/100 AS VrInss
FROM tblEventos INNER JOIN tblLancamentos ON tblEventos.CodEvento = tblLancamentos.CodEvento1
GROUP BY tblLancamentos.CodFolha1;
A consulta que fornecerá os novos dados é do tipo Totais, por tanto não atualizável.
Abaixo o SQL da consulta atualização:
UPDATE qryINSSCalculo INNER JOIN tblLancamentos ON qryINSSCalculo.CodFolha1 = tblLancamentos.CodFolha1 SET tblLancamentos.RefValor = [qryINSSCalculo].[INSSAliq], tblLancamentos.Valor = [qryINSSCalculo].[VrInss]
WHERE (((tblLancamentos.CodEvento1)=112));
SQL da consulta totais:
SELECT tblLancamentos.CodFolha1, Nz(Sum(IIf([BaseINSS]=-1,[Valor])),0) AS BCINSS1, Nz(Sum(IIf([DedINSS]=-1,[Valor])),0) AS BCINSS2, IIf([BCINSS2] Is Null,[BCINSS1],([BCINSS1]-[BCINSS2])) AS BCINSS3, Format(DMax("Ate","qryINSSAliquo2"),"Currency") AS INSSTeto, Format(IIf([BCINSS3]>[INSSTeto],[INSSTeto],[BCINSS3]),"Fixed") AS BCINSS, Nz(DLookUp("[Cota]","qryINSSAliquo2","De <=" & Replace([BCINSS],",",".") & "AND Ate >=" & Replace([BCINSS],",",".")),0) AS INSSAliq, [BCINSS]*[INSSAliq]/100 AS VrInss
FROM tblEventos INNER JOIN tblLancamentos ON tblEventos.CodEvento = tblLancamentos.CodEvento1
GROUP BY tblLancamentos.CodFolha1;