Erro com dois nomes iguai em um DBLookupComboBox
estou usando um DBLookupComboBox1 para escolher uam linha em uma table.
o problema é que tenho as vezes dois nomes iguais, mas com códigos diferentes
quando acesso um dos nomes, aparece o seguinte erro:
´Access violation at address 004cbc07 in module ´project.exe´. read os address 000000´
clico em ok nesse erro e tudo funciona normalmente
escolho um dos nomes e ele me lista o que preciso, escolho o outro e ele lista tb corretamente.
alguém sabe o que está ocorrendo?
tks
o problema é que tenho as vezes dois nomes iguais, mas com códigos diferentes
quando acesso um dos nomes, aparece o seguinte erro:
´Access violation at address 004cbc07 in module ´project.exe´. read os address 000000´
clico em ok nesse erro e tudo funciona normalmente
escolho um dos nomes e ele me lista o que preciso, escolho o outro e ele lista tb corretamente.
alguém sabe o que está ocorrendo?
tks
Henrique Rodrigues
Curtidas 0
Respostas
Paulo_amorim
22/12/2004
Olá
Você não tem algum código no OnClick do seu dlc? Estranho ele dar AV só porque você selecionou..
Você não tem algum código no OnClick do seu dlc? Estranho ele dar AV só porque você selecionou..
GOSTEI 0
Rômulo Barros
22/12/2004
Amigo, isto também já aconteceu comigo e deu uma maior trabalho para descobrir que existiam dois registros com o mesmo valor no campo que deveria ser listado. Então, para resolver o problema, retirei o componente DBLooKupComboBox e adicionei dois Combobox(Uma eu armazenava a descrição a ser listada, e no outro eu armazenava o código do registro). Então, de acordo com a opção de escolha do usuário, eu passava o valor através do combobox que possui o ´codigo.
[color=blue:96257f7f92][b:96257f7f92]Veja os passos:[/b:96257f7f92][/color:96257f7f92]
[b:96257f7f92][color=blue:96257f7f92]1 - Alimentando os ComBobox:[/color:96257f7f92][/b:96257f7f92]
[b:96257f7f92][color=blue:96257f7f92]2 - Setando o Item selecionado do ComboBoxCodigo de acordo com a escolha do usuário no ComboBoxDescricao(Sempre que o usuário selecionar uma descrição, deveremos acompanhar o ItemIndex do ComboBoxCodigo com o mesmo ItemIndex do ComboBoxDescricao:[/color:96257f7f92][/b:96257f7f92])
[b:96257f7f92][u:96257f7f92] Evento OnExit do ComboBoxDescricao:[/u:96257f7f92][/b:96257f7f92]
Pronto. Agora basta vc capturar o valor do ComboBoxCodigo para utilizar o CÓDIGO do registro selecionado.
Ex:
[color=blue:96257f7f92][b:96257f7f92]Veja os passos:[/b:96257f7f92][/color:96257f7f92]
[b:96257f7f92][color=blue:96257f7f92]1 - Alimentando os ComBobox:[/color:96257f7f92][/b:96257f7f92]
With(Query)Do Begin Close(); SQL.Text := ´ SELECT CODIGO, DESCRICAO ´ + ´ FROM TABELA ´; Open(); ComboBoxCodigo.Clear; ComboBoxDescricao.Clear; While(Not(Eof))Do Begin ComboBoxCodigo.Items.Add(FieldByName(´Codigo´).AsString); ComboBoxDescricao.Items.Add(FieldByName(´Descricao´).AsString); Next(); End; ComboBoxCodigo.ItemIndex := 0; ComboBoxDescricao.ItemIndex := 0; End;
[b:96257f7f92][color=blue:96257f7f92]2 - Setando o Item selecionado do ComboBoxCodigo de acordo com a escolha do usuário no ComboBoxDescricao(Sempre que o usuário selecionar uma descrição, deveremos acompanhar o ItemIndex do ComboBoxCodigo com o mesmo ItemIndex do ComboBoxDescricao:[/color:96257f7f92][/b:96257f7f92])
[b:96257f7f92][u:96257f7f92] Evento OnExit do ComboBoxDescricao:[/u:96257f7f92][/b:96257f7f92]
procedure TForm1.ComboBoxDescricaoExit(Sender: TObject); begin ComboBoxCodigo.ItemIndex := ComboBoxDescricao.ItemIndex; end;
Pronto. Agora basta vc capturar o valor do ComboBoxCodigo para utilizar o CÓDIGO do registro selecionado.
Ex:
Showmessage(´O Usuário selecionou o Registro ´ + ComboBoxCodigo.Text + ´. O valor do código deste registro é ´ +ComboBoxDescricao.Text);
GOSTEI 0
Henrique Rodrigues
22/12/2004
achei o problema.
era no evento onclick, estava buscando informação de uma query em modo close.
aí não dá
mas valeu as informações
era no evento onclick, estava buscando informação de uma query em modo close.
aí não dá
mas valeu as informações
GOSTEI 0