O problema está na consulta Estoque, onde o campo 'Qtd Disponível' foi definido duas vezes, gerando uma mensagem de erro Alias 'Qtd Disponível' de saída duplicado logo na abertura do banco. Repare na duplicidade 'Qtd Disponível' abaixo:
Qtd Disponível: [Qtd Comprada]-[Qtd Vendida]-[Qtd em Espera]
Qtd Disponível: [Qtd Comprada]-[Qtd Vendida]
No banco de dados original em inglês, este erro não ocorre porque existem os campos 'Qty Available' e 'Qty On Hand', onde o primeiro é realmente a quantidade disponível e o último é a quantidade em mão - tradução livre.
Então redefini Qtd Disponível: [Qtd Comprada]-[Qtd Vendida] como 'Qtd em Mão':- (tradução livre).
Depois disso, para corrigir outro erro, é preciso fazer a correção no Formulário Lista de Estoque, atribuindo para Estoque Total o campo 'Qtd em Mão'. Pronto, tudo resolvido.
Abaixo, segue o SQL corrigido para substituir a Consulta Estoque utilizando o campo 'Qtd em Mão' como fiz acima.
SELECT Produtos.Identificação AS [Identificação do Produto], Produtos.[Nome do Produto], Produtos.[Código do Produto], Nz([Quantidade Comprada],0) AS [Qtd Comprada], Nz([Quantidade Vendida],0) AS [Qtd Vendida], Nz([Quantidade em Espera],0) AS [Qtd em Espera], [Qtd Comprada]-[Qtd Vendida] AS [Qtd em Mão], [Qtd Comprada]-[Qtd Vendida]-[Qtd em Espera] AS [Qtd Disponível], Nz([Quantidade na Ordem],0) AS [Qtd na Ordem], Nz([Quantidade em Ordem Pendente],0) AS [Qtd em Ordem Pendente], Produtos.[Nível do Novo Pedido], Produtos.[Nível-alvo], [Nível-alvo]-[Nível Atual] AS [Qtd Abaixo do Nível-alvo], [Qtd Disponível]+[Qtd na Ordem]-[Qtd em Ordem Pendente] AS [Nível Atual], IIf([Qtd Abaixo do Nível-alvo]>0,IIf([Qtd Abaixo do Nível-alvo]<[Quantidade Mínimo do Novo Pedido],[Quantidade Mínimo do Novo Pedido],[Qtd Abaixo do Nível-alvo]),0) AS [Qtd para Novo Pedido]
FROM ((((Produtos LEFT JOIN [Estoque Vendido] ON Produtos.[Identificação] = [Estoque Vendido].[Identificação do Produto]) LEFT JOIN [Estoque Comprado] ON Produtos.[Identificação] = [Estoque Comprado].[Identificação do Produto]) LEFT JOIN [Estoque em Espera] ON Produtos.[Identificação] = [Estoque em Espera].[Identificação do Produto]) LEFT JOIN [Estoque na Ordem] ON Produtos.[Identificação] = [Estoque na Ordem].[Identificação do Produto]) LEFT JOIN [Produtos em Ordem Pendente] ON Produtos.[Identificação] = [Produtos em Ordem Pendente].[Identificação do Produto];
Pergunta
Dan.Kim1
O problema está na consulta Estoque, onde o campo 'Qtd Disponível' foi definido duas vezes, gerando uma mensagem de erro Alias 'Qtd Disponível' de saída duplicado logo na abertura do banco. Repare na duplicidade 'Qtd Disponível' abaixo:
Qtd Disponível: [Qtd Comprada]-[Qtd Vendida]-[Qtd em Espera]
Qtd Disponível: [Qtd Comprada]-[Qtd Vendida]
No banco de dados original em inglês, este erro não ocorre porque existem os campos 'Qty Available' e 'Qty On Hand', onde o primeiro é realmente a quantidade disponível e o último é a quantidade em mão - tradução livre.
Então redefini Qtd Disponível: [Qtd Comprada]-[Qtd Vendida] como 'Qtd em Mão': - (tradução livre).
Depois disso, para corrigir outro erro, é preciso fazer a correção no Formulário Lista de Estoque, atribuindo para Estoque Total o campo 'Qtd em Mão'. Pronto, tudo resolvido.
Abaixo, segue o SQL corrigido para substituir a Consulta Estoque utilizando o campo 'Qtd em Mão' como fiz acima.
SELECT Produtos.Identificação AS [Identificação do Produto], Produtos.[Nome do Produto], Produtos.[Código do Produto], Nz([Quantidade Comprada],0) AS [Qtd Comprada], Nz([Quantidade Vendida],0) AS [Qtd Vendida], Nz([Quantidade em Espera],0) AS [Qtd em Espera], [Qtd Comprada]-[Qtd Vendida] AS [Qtd em Mão], [Qtd Comprada]-[Qtd Vendida]-[Qtd em Espera] AS [Qtd Disponível], Nz([Quantidade na Ordem],0) AS [Qtd na Ordem], Nz([Quantidade em Ordem Pendente],0) AS [Qtd em Ordem Pendente], Produtos.[Nível do Novo Pedido], Produtos.[Nível-alvo], [Nível-alvo]-[Nível Atual] AS [Qtd Abaixo do Nível-alvo], [Qtd Disponível]+[Qtd na Ordem]-[Qtd em Ordem Pendente] AS [Nível Atual], IIf([Qtd Abaixo do Nível-alvo]>0,IIf([Qtd Abaixo do Nível-alvo]<[Quantidade Mínimo do Novo Pedido],[Quantidade Mínimo do Novo Pedido],[Qtd Abaixo do Nível-alvo]),0) AS [Qtd para Novo Pedido]
FROM ((((Produtos LEFT JOIN [Estoque Vendido] ON Produtos.[Identificação] = [Estoque Vendido].[Identificação do Produto]) LEFT JOIN [Estoque Comprado] ON Produtos.[Identificação] = [Estoque Comprado].[Identificação do Produto]) LEFT JOIN [Estoque em Espera] ON Produtos.[Identificação] = [Estoque em Espera].[Identificação do Produto]) LEFT JOIN [Estoque na Ordem] ON Produtos.[Identificação] = [Estoque na Ordem].[Identificação do Produto]) LEFT JOIN [Produtos em Ordem Pendente] ON Produtos.[Identificação] = [Produtos em Ordem Pendente].[Identificação do Produto];
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.