Ver Mensaje Individual
  #5  
Antiguo 29-06-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 Ignacio.

Podrías cargar el ComboBox desde el procedimiento directamente con el query:
Código Delphi [-]
procedure TfrmElegirEmpresa.CargarEmpresas(AQuery: TZQuery; AComboBox:TComboBox);
begin
  AQuery1.Connection := frmTablas.ConnectionJHL;
  AQuery.SQL.Text:='SELECT * FROM TABLA_EMPRESAS';
  AQuery.Open;
  while not AQuery.Eof do
  begin
    AComboBox.Items.AddObject(AQuery.FieldByName('razon_social').AsString,
       TObject(AQuery.FieldByName('cod_empresa').AsInteger));
   AQuery.Next;
  end;
  AQuery.Close;
  AComboBox.Sorted:= True;
end;
Aquí ya tendrías cargado en el ComboBox la razón social y el código. (ordenado por razón social)



Luego para obtener el código de empresa sólo basta con hacer:
Código Delphi [-]
procedure TForm1.cmbEmpresaChange(Sender: TObject);
var
  cod: Integer;
begin
  cod:= Integer(cmbEmpresa.Items.Objects[cmbEmpresa.ItemIndex]);
  ShowMessage(IntToStr(cod));
  ...
end;
Si cod_empresa es de tipo string, tendrías que cambiar:
Código Delphi [-]
  TObject(AQuery.FieldByName('cod_empresa').AsInteger)
  // Por
  TObject(AQuery.FieldByName('cod_empresa').AsString)
Y en el evento cmbEmpresaChange, cambiar el tipo de la variable cod y quitar la conversion.


Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 29-06-2011 a las 17:47:52.
Responder Con Cita