Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   ¿como lo hago? (https://www.clubdelphi.com/foros/showthread.php?t=4880)

loenx 31-10-2003 17:35:19

Cargar datos de una tabla en un combo
 
hola a todos,

al grano. necesito generar una aplicacion, de esta tengo lista las tablas con integridad referencial, normalizadas ...

que es lo que deseo:
1.- Como hacer que un combo tome datos especificos de una tabla, ej. los nombres de mis profesionales.
2.- cargar en una grilla todos los datos asociados al item elegido de ese comboboox
3..- para remate mi aplicacion puede ser multiusuario¿?



gracias por la atencion dispensada

roman 31-10-2003 17:59:09

Cita:

Escrito originalmente por loenx
1.- Como hacer que un combo tome datos especificos de una tabla, ej. los nombres de mis profesionales.

Primero uasa un TTable para asociarlo a la tabla de profesionales y un TDataSource que conectas a este TTable.

Table1.TableName := 'profesionales';
DataSource1.DataSet := Table1;

Y luego usas un TDBLookupComboBox conectado al DataSource mediante sus propiedades:
  • [li]ListSource - DataSource1
    [li]ListField - el campo de la tabla profesionales que deseas mostrar en el combo
    [li]KeyField - el campo que te servirá para relacionar con la tabla con los datos asociados.

Cita:

Escrito originalmente por loenx
2.- cargar en una grilla todos los datos asociados al item elegido de ese comboboox

Usas otro TTable que asocias a los datos asociados (los detalles) y conectas otro DataSource a este TTable:

Table2.TableName := 'detalles';
DataSource2.DataSet := Table2;

Pones a DataSource1 como MasterSource de Table2 usando la propiedad MasterFields para relacionar las tablas.

Cita:

Escrito originalmente por loenx
3..- para remate mi aplicacion puede ser multiusuario¿?

Supongo que dependerá del tipo de base de datos que utilices pero en general puede decirse que sí, incluso con DBase pedes tener aplicaciones multiusuarios. Si trabajas con el BDE no tienes que hacer nada en especial para que sea multiusuarios ya que el BDE se encarga de todos los bloqueos que haya que hacer.

// Saludos

loenx 31-10-2003 18:49:58

Roman

gracias, tu ayuda ha sido de gran valia

pero ahora tengo uno nuevo, este es:

tengo instalado recientemente delphi 7.0 y los componentes que me has dado en tu respuesta estan pero en distintas partes, esto no lo encuentro"[li]ListField - el campo de la tabla profesionales que deseas "
gracias

roman 31-10-2003 18:57:23

Cita:

Posteado originalmente por loenx
no lo encuentro"[li]ListField
ListField no es una componente, es una propiedad de la componente DBLookupComboBox

// Saludos

loenx 31-10-2003 19:14:48

Tienes razon, gracias

... pero cuando ejecuto el proyecto este no muestra nada en el combo, y la pestaña no esta disponible

roman 31-10-2003 19:54:00

¿Tienes activa la tabla?

Olvídate un momento de los datos asociados y trabaja sólo con el combo:

Código:

type
  TForm1 = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    DBLookupComboBox1: TDBLookupComboBox;
  end;

En el inspector de objetos asigna las siguiente propiedades:

Table1.DatabaseName := nombre de tu base
Table1.TableName := nombre de la tabla
Table1.Active := true;
DataSource1.DataSet := Table1;
DBLookupComboBox1.ListSource := DataSource1;
DBLookupComboBox1.ListField := campo para mostrar
DBLookupComboBox1.KeyField := campo para relacionar

// Saludos

loenx 01-11-2003 15:26:34

Muchas gracias, Roman por la atencion dispensada

todo me ha sido de utilidad.


gracias


La franja horaria es GMT +2. Ahora son las 10:35:10.

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