Hola exequielmatias.
Cita:
Empezado por exequielmatias1
Quiero Seleccionar un item del combobox (el cual se carga desde una tabla de una bd) y al hacer click, pase ese dato a un listbox. Luego al presionar guardar, guarde esos datos con su respectivo ID a otra tabla de la misma bd.
...
|
Si deseas pasar el item visible mas su respectivo ID desde el ListBox a otra tabla, la carga no puede ser de ese modo ya que no tenes manera de obtener el ID desde el ComboBox...
Según lo que entendí de tu consulta, sería:
Código Delphi
[-]
...
procedure TForm1.btnCargarCombo(Sender: TObject);
begin
ComboBox1.Items.Clear;
with qryDestinos do
begin
Close
Text := 'Select ID, DESTINOS From Destinos order by Destinos asc'
Open;
while not Eof do
begin
ComboBox1.AddItem(FieldByName('DESTINOS').AsString,
TObject(FieldByName('ID').AsInteger));
Next;
end;
end;
end;
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
with ComboBox1 do
if ItemIndex <> -1 then
ListBox1.AddItem(Items[ItemIndex], Items.Objects[ItemIndex]);
end;
procedure TForm1.btnSaveClick(Sender: TObject);
var
i: Integer;
begin
with qryDestinos do
begin
Close;
SQL.Text:= 'INSERT INTO TU_OTRA_TABLA(ID, DESTINOS) VALUES(:PID, :DES)';
Prepare;
for i:= 0 to ListBox1.Items.Count-1 do
begin
ParamByName('PID').AsInteger:= Integer(ListBox1.Items.Objects[i]);
ParamByName('DES').AsString:= ListBox1.Items[i];
ExecSQL;
end;
end;
end;
Lógicamente en la última sentencia SQL tendrás que cambiar "TU_OTRA_TABLA" y los nombres de campos de dicha tabla por los que hayas definido. No tengo Delphi en este momento pero creo que el código debería funcionar.
Saludos