Fórum Erro com dois nomes iguai em um DBLookupComboBox #263006

22/12/2004

0

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


Henrique Rodrigues

Henrique Rodrigues

Responder

Posts

22/12/2004

Paulo_amorim

Olá

Você não tem algum código no OnClick do seu dlc? Estranho ele dar AV só porque você selecionou..


Responder

Gostei + 0

22/12/2004

Rômulo Barros

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]

   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);



Responder

Gostei + 0

23/12/2004

Henrique Rodrigues

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar