Como fazer DBLookupListBox selecionar somente 1 registro?
Estou testando o uso do componente DBLookListBox para selecionar uma tarifa e incluí-la numa venda.
Este componente fica na tela da venda e ao selecionar a tarifa ele a inclui na venda.
O problema é que quando se visualiza os valores na tela o DBLookupListBox seleciona todas as tarifas que possuem o mesmo valor (mesmo sendo de regiões diferentes).
Como fazer para que o DBLookupListBox selecione somente a tarifa de uma determinada região, mesmo que esta tarifa possua valores idênticos as demais?
Tabelas:
Venda
- Tarifa
Tarifa
- Regiao
- Valor
DBLookupListBox:
DataField: Tarifa
DataSource: dsVenda
KeyField: Valor
ListField: Regiao
ListFieldIndex: 0
ListSource: dsTarifa
Agradeço a quem puder me auxiliar.
Este componente fica na tela da venda e ao selecionar a tarifa ele a inclui na venda.
O problema é que quando se visualiza os valores na tela o DBLookupListBox seleciona todas as tarifas que possuem o mesmo valor (mesmo sendo de regiões diferentes).
Como fazer para que o DBLookupListBox selecione somente a tarifa de uma determinada região, mesmo que esta tarifa possua valores idênticos as demais?
Tabelas:
Venda
- Tarifa
Tarifa
- Regiao
- Valor
DBLookupListBox:
DataField: Tarifa
DataSource: dsVenda
KeyField: Valor
ListField: Regiao
ListFieldIndex: 0
ListSource: dsTarifa
Agradeço a quem puder me auxiliar.
Aristeu Sales
Curtidas 0
Respostas
Wilson Junior
08/06/2010
O conteúdo do campo que está como KeyField é que será gravado no campo DataField. No seu caso ao invés de colocar o KeyField como Valor, deveria ser o índice da tabela Tarifa (ID), pois syuponho que o mesmo deve ter até uma FK na tabela Venda.
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Aristeu Sales
08/06/2010
Boa tarde Wilson.
Agradeço pela resposta, mas ainda não é o que procuro.
A tabela de tarifas não está ligada diretamente a tabela de vendas.
Estou mantendo-a separada para o caso de, se haver alguma alteração na tarifa, não interferir no valor das já cadastradas para a venda.
Se fosse pelo ID da tabela ele seria único e não haveria problemas, mas o que ocorre é que existem valores iguais e o DBLookupListBox não os diferencia, selecionando todas as ocorrências destes valores iguais.
Da forma que coloquei, ao clicar no tabela de Taxas ele insere a taxa selecionada na venda e já calcula o valor final. O problema é mais estético, pois se existem tarifas iguais o DBLookupList seleciona todos estes valores.
GOSTEI 0