novato_erick
07-09-2012, 23:54:34
Hola a todos nuevamente:
mi intensión es lograr obtener el ID de mi tabla ECIVIL para poderlo guardar en mi tabla principal Empleado esto lo quiero lograr un un ComboBox
aquí esta mi el código:
Type
TMiObjeto = class(TObject) //Creación de un objeto
ID : Integer;
procedure TfrmEmpleados.agregaalcbx;
var
obj: TMiObjeto;
begin
with dmConecta.qECivil do begin //Donde dataset es TSQLQuery que utilece
begin
Open;
First;
end;
while not eof do
begin
obj := TMiObjeto.Create;
obj.ID := dmConecta.qECivil.FieldByName('ID_ECIVIL').AsInteger; //Campo Id de la tabla
ComboBox1.Items.AddObject(FieldByName('DESCRIPCION').AsString, TMiObjeto(obj));
obj.Free;
Next;
end; //While...Not
end;// with...Do
end;
y para tener el id del mi tabla ECIVIL
procedure TfrmEmpleados.GetIDFromCB(cID: Integer);
var
obj: TMiObjeto;
begin
Obj := ComboBox1.Items.Objects[cID] as TMiObjeto;
CityID := obj.ID; //CityID es una variable Global
end;
En mi ComboBox si me aparece los registros del campo DESCRIPCION pero en el evento onChange de mi Combobox simplemente le digo:
edtIDECIVIL.Text := IntToStr(CityID);
Pero siempre me muestra el valor 1
no quiero utilizar el DBLookupComboBox1
Saludos
mi intensión es lograr obtener el ID de mi tabla ECIVIL para poderlo guardar en mi tabla principal Empleado esto lo quiero lograr un un ComboBox
aquí esta mi el código:
Type
TMiObjeto = class(TObject) //Creación de un objeto
ID : Integer;
procedure TfrmEmpleados.agregaalcbx;
var
obj: TMiObjeto;
begin
with dmConecta.qECivil do begin //Donde dataset es TSQLQuery que utilece
begin
Open;
First;
end;
while not eof do
begin
obj := TMiObjeto.Create;
obj.ID := dmConecta.qECivil.FieldByName('ID_ECIVIL').AsInteger; //Campo Id de la tabla
ComboBox1.Items.AddObject(FieldByName('DESCRIPCION').AsString, TMiObjeto(obj));
obj.Free;
Next;
end; //While...Not
end;// with...Do
end;
y para tener el id del mi tabla ECIVIL
procedure TfrmEmpleados.GetIDFromCB(cID: Integer);
var
obj: TMiObjeto;
begin
Obj := ComboBox1.Items.Objects[cID] as TMiObjeto;
CityID := obj.ID; //CityID es una variable Global
end;
En mi ComboBox si me aparece los registros del campo DESCRIPCION pero en el evento onChange de mi Combobox simplemente le digo:
edtIDECIVIL.Text := IntToStr(CityID);
Pero siempre me muestra el valor 1
no quiero utilizar el DBLookupComboBox1
Saludos