| ♥ 0 | Boa tarde, Temos um cliente que tem uma lista Primavera de armazéns, onde tem a condição de Armazens.Armazem = A1 e ArmazemLocalizacoes.Localizacao = A1. A lista funciona sem problemas quando executada. No entanto, quando o cliente tenta alterar o armazém num editor de vendas p.ex., e tendo em conta que é esta a lista predefinida, dá o erro de ambiguous column name. Já corri o profiler e percebi que o problema está na coluna Armazem: SELECT [Armazens].[Armazem] AS [Armazens$Armazem], [Armazens].[Descricao] AS [Armazens$Descricao], [ArmazemLocalizacoes].[Localizacao] AS [ArmazemLocalizacoes$Localizacao] Alguém tem alguma ideia para ultrapassar este erro? Obrigada. Marked as spam |
| Private answer O erro “ambiguous column name” está a ser provocado pela condição final do WHERE: AND (Armazem IN ('A1','ATIVO','DF','EX','EXT','EXTER')) Neste contexto, o editor de Cegid Primavera está a montar um SQL onde a coluna Armazem existe em mais do que uma tabela (por exemplo, na tabela principal do editor e na tabela Armazens), e como aqui não está qualificada com o nome da tabela, o SQL Server não sabe a qual coluna se refere. Para ultrapassar o problema:
Em resumo, o ponto crítico é garantir que, na lista personalizada, todas as referências à coluna Armazem estão sempre precedidas pelo nome da tabela (Armazens.Armazem ou ArmazemLocalizacoes.Armazem), evitando colunas “soltas” que entram em conflito com o SQL gerado pelo editor. Esta resposta foi gerada pelo Cegid Pulse, com base na base na informação disponível em histórico. Marked as spam |