Ver Mensaje Individual
  #13  
Antiguo 16-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Tál como te comenta olbeup, no encontrará el código de esa manera. Para lograr lo que buscas tendrías que crearte una variable de tipo TStrings que almacene paralelamente los códigos propiamente dichos y realizar las búsquedas sobre ella. Es decir que cuando realizas la carga del ComboBox tendrías que hacer:
Código Delphi [-]
  tsCódigo:= TStringList.Create;
  while not DataSet.Eof do
  begin
    tsCódigo.Add(DataSet.FieldByName('CODIGO').AsString);
    ComboBox1.Items.Add(DataSet.FieldByName('CODIGO').AsString + DataSet.FieldByName('DETALLE').AsString);
    DataSet.Next;
  end;

Luego, para buscar el código, algo como:
Código Delphi [-]
  ...
  ix := tsCódigo.IndexOf(Edit1.Text); // Edit que recibe el código
  if ix <> -1 then 
  begin
    ComboBox1.ItemIndex:= ix;  // mostrar item
    Edit2.SetFocus;  // ir a otro Edit
  end
  ...
En algún punto deberás hacer tsCodigo.Free para liberar memoria. (Estoy escribiendo el código en el aire, así que seguramente obtengas algún error si lo probas)

Pero es muchísimo más sencillo y eficiente comprobar la existencia del código ejecutando una consulta sobre el DataSet.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita