Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-05-2016
Bant Bant is offline
Miembro
NULL
 
Registrado: mar 2016
Posts: 19
Poder: 0
Bant Va por buen camino
Conocer Registro de un Combobox

Saludos colegas del foro. Hoy he vuelto a ustedes con otra inquietud.
Estoy cargando los registros de una tabla de base datos en SQL server management studio 2014 a un ComboBox por medio de un adoquery de una factura, estoy pensando como podria conocer el registro que se ha seleccionado en el ComboBox para cargarlo en un edit, es decir, el combobox carga los registros ya colocados en la tabla bajo el campo de [Codigo], entonces una vez seleccionado quiero que me cargue el valor de ese registro pero en el campo [Descripcion] para hacerlo con el campo [Precio] más adelante. El codigo siguiente esta puesto en el evento OnClick del ComboBox y se esta haciendo esa consulta con un adoquery distinto al que use para cargar los datos en el ComboBox

Código Delphi [-]
begin
with dm2.ADOConsulta do
begin
Close;
SQL.Clear;
SQL.Text := 'select Descripcion from Inventario where Codigo =' + ComboBox1.Text;
Open;
end;
end;
Responder Con Cita
  #2  
Antiguo 25-05-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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.

Según creo haber entendido ya tenes cargado los campos "CODIGO" en tu ComboBox y deseas que cuando se realice una selección en él, aparezca el correspondiente campo "DESCRIPCION" en un Edit.

Si es así, podes hacer:
Código Delphi [-]
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
  if ComboBox1.ItemIndex <> -1 then
  begin
    ADOConsulta.Close;
    ADOConsulta.SQL.Text := 'SELECT DESCRIPCION FROM INVENTARIO WHERE CODIGO = :CODIGO';
    ADOConsulta.Parameters.ParamByName('CODIGO').Value := ComboBox1.Items[ComboBox1.ItemIndex];
    ADOConsulta.Open;

    if ADOConsulta.FieldByName('DESCRIPCION').IsNull then
      Edit1.Text := ''
    else
      Edit1.Text := ADOConsulta.FieldByName('DESCRIPCION').Value;
  end;
end;

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 25-05-2016 a las 18:00:57. Razón: cambiar nombres de campos
Responder Con Cita
  #3  
Antiguo 25-05-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Bant Ver Mensaje
como podria conocer el registro que se ha seleccionado en el ComboBox para cargarlo en un edit
Código Delphi [-]
  Close;
  SQL.Clear;
  SQL.Text := 'select Descripcion from Inventario where Codigo =' + ComboBox1.Text;
  Open;
  // Lo ha encontrado?
  if (not dm2.ADOConsulta.Eof) then begin
     editDescripcion.Text :=  dm2.ADOConsulta.FieldByName('Descripcion').AsString;
     editPrecio.Text :=  dm2.ADOConsulta.FieldByName('Precio').AsString;
  end;
Cita:
Empezado por Bant Ver Mensaje
pero en el campo [Descripcion] para hacerlo con el campo [Precio] más adelante.
Aprovecha la misma consulta para cargar todo el registro, no lances una consulta para cada valor.
Para ello cambia la consulta por:

Código Delphi [-]
  SQL.Text := 'select * from Inventario where Codigo =' + ComboBox1.Text;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 25-05-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Otra opción es usar los controles adecuados, tales como TDBComboBox, TDBEdit, etc.

LineComment Saludos
Responder Con Cita
  #5  
Antiguo 26-05-2016
Bant Bant is offline
Miembro
NULL
 
Registrado: mar 2016
Posts: 19
Poder: 0
Bant Va por buen camino
Gracias a todos por su rápida respuesta como siempre no decepcionan el código de ecfisa me sirvió a la primera! Usare tu consejo Neftali para hacer con cualquier otro edit jajja estaba pensando hacer una consulta por cada edit y roman tomare tu consejo en cuenta para el próximo proyecto que tenga, ya que tenes razón debería utilizar los componentes adecuados para cada trabajo!!. Muchas gracias chicos!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
conocer posicion de los items de un combobox douglas OOP 2 24-10-2007 05:17:48
Borrar un registro desde un combobox con php+mysql enecumene PHP 6 22-01-2007 16:05:42
Caminar por los registro de un combobox CoCaInE Varios 3 29-06-2006 12:38:00
Conocer el total de registro de una tabla en mysql D-MO PHP 3 05-12-2005 00:11:17
Conocer si un usuario determinado tiene derecho de escritura en registro de Window Rolando Glez API de Windows 4 30-12-2004 08:43:21


La franja horaria es GMT +2. Ahora son las 00:28:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi