Ver Mensaje Individual
  #2  
Antiguo 15-06-2014
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 exequielmatias.
Cita:
Empezado por exequielmatias1 Ver Mensaje
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 [-]
...
// Cargar el combo con los campos DESTINO e ID
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;

// Pasar items del combo al listbox
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
  with ComboBox1 do
    if ItemIndex <> -1 then
      ListBox1.AddItem(Items[ItemIndex], Items.Objects[ItemIndex]);
end;

// Guardar en la otra tabla los items del listbox
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
__________________
Daniel Didriksen

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