Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2007
Avatar de edelphi
edelphi edelphi is offline
Miembro
 
Registrado: jun 2006
Posts: 55
Poder: 18
edelphi Va por buen camino
Question llenar un combobox con datos de una tabla

Bueno creo que el nombre del post dice todo, quiero hacer que desde un query se pueda hacer una consulta como por ejemplo select nombres from clientes y que todos estos datos sean llenados en un combobox o un listbox.

tengo la idea en estos momentos toy tratando de hacerlo pero no me sale por eso recurri a uds espero me puedan ayudar
Responder Con Cita
  #2  
Antiguo 27-02-2007
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
Delphi cuenta con componentes especiales para hacer lo que pides en automático. Usa, por ejemplo, un DBLookupComboBox:

DBLookupComboBox.ListSource <---- DataSource
DBLookupComboBox.ListField <---- 'nombre'
DBLookupComboBox.KeyField <---- 'id_cliente'

DataSource es una componente DataSource conectada a tu Query mediante su propiedad DataSet. nombre es el campo que deseas mostrar en el combo e id_cliente es el campo llave de tu tabla de clientes.

Con esto, al abrir la consulta, automáticamente se llenará el combo con los datos.

Te recomiendo que leas la ayuda de Delphi, en su capítulo "Developing Database Applications", particularmente la sección "Using Data Controls", para que tomes una idea general del uso de las componentes de acceso a datos.

// Saludos
Responder Con Cita
  #3  
Antiguo 27-02-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
A parte de lo que te ha explicado Roman, que esta totalmente en lo cierto, si quieres hacerlo siempre con un combobox se hace asi:
Código Delphi [-]
   Query1.Active := False;
   Query1.SQL.Text := 'Select nombres from clientes';
   Query1.Active := True;
   While not Query1.Eof do
   begin
      Combobox1.Items.Add(Query1.Fields[0].Text);
      Query1.Next;
   end;
Con esto lo tendras en el combobox los nombres de los clientes.
Saludos
Responder Con Cita
  #4  
Antiguo 27-02-2007
Avatar de edelphi
edelphi edelphi is offline
Miembro
 
Registrado: jun 2006
Posts: 55
Poder: 18
edelphi Va por buen camino
bueno gracias por los consejos Roman pero todavia no logro hacer el llenado del control por ADO, cuando pongo el datasourse no me aparece nada en mi datafield, pero hay otra propiedad mas el datafield con ese si me aparece las lista de los campos, y al momento de colocarle el keyfield me aparece un error que dice "Circular datalinks are not allowed" pero ni aun asi me sale ¿a que se refiere con eso de viculo de datos circulares???. creo ke me falta aprender un poco mas de los controles ADO.

pero haciendolo por codigo como lo posteo caral si sale era justo lo que intentaba hacer pero me faltaba esta parte
Código Delphi [-]
Combobox2.Items.Add(DM.ADOTemp.Fields[0].Text)
no sabia como otorgarle ese texto al combo.

muchas gracias a los dos me impulsan a seguirn aprendiendo mucho mas
Responder Con Cita
  #5  
Antiguo 28-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Supongamos que estas haciendo una factura, quieres que el usuario vea el nombre del cliente, pero que en la tabla factura se guarde el id_Cliente:
En el dblookupcombo:

En Datasource, eliges tablafactura
en datafield, id_cliente


DBLookupComboBox.ListSource <---- tablaClientes
DBLookupComboBox.ListField <---- 'nombre'
DBLookupComboBox.KeyField <---- 'id_cliente'

De esa forma, muestra todos los "nombres de clientes", y al guardar, se elige el valor de "keyField", que será el idCliente de la tabla Clientes, pues ese valor, se guarda en la tabla facturas en el campo id_cliente

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
llenar un combobox fabian20s Conexión con bases de datos 13 30-11-2007 18:54:56
URGENTE!!! Me Manda un error al llenar un combobox chetos7 SQL 4 15-01-2007 02:04:05
pasar datos de la tabla a un combobox todook Conexión con bases de datos 5 29-11-2006 11:44:26
Llenar una tabla con datos de otras dos tablas jovehe Tablas planas 2 23-08-2004 17:21:55
Como llenar este comboBox pzala Varios 2 14-12-2003 21:26:22


La franja horaria es GMT +2. Ahora son las 00:04:39.


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