PDA

Ver la Versión Completa : llenar combobox con una tabla de access


douglas
25-07-2008, 18:56:43
Buenas amigos del club, aqui poniendome al dia despues de tanto tiempo fuera de delphi, y molestandolos de nuevo, a modo de comentario em ausente por una enfermedad seria que me llevo al hospital cera de dos mes, bueno el motivo que los moleste en esta ocasion, es para ver si alguien me ayuda a recordar como lleno un combobox con informacion que esta almacenada en una tabla de una base de datos en access.

de antemano les agradezco todo tipo de ayuda.

Caral
25-07-2008, 19:13:42
Hola
Espero que te encuentres mejor.
1 campo:


Adoquery1.SQL.Text := 'Select TuCampo From TuTabla';
Adoquery1.Active := True;
While not Adoquery1.Eof do
begin
Combobox1.Items.Add(Adoquery1.Fields[0].Text);
Adoquery1.Next;
end;

2 campos y asi sucesivamente:


Adoquery1.SQL.Text := 'Select TuCampo1, Tucampo2 From TuTabla';
Adoquery1.Active := True;
While not Adoquery1.Eof do
begin
Combobox1.Items.Add(Adoquery1.Fields[0].Text);
Combobox1.Items.Add(Adoquery1.Fields[1].Text);
Adoquery1.Next;
end

Saludos

delphidec
28-07-2008, 07:25:46
Si lo que seleccionas en el ComboBox es lo que vas a guaradar luego en alguna tabla aparte en tu DB, existen 2 alternativas bien profesionales pero simples:

Alternativa 1:
La mas facil ..
Usar el control DBComboBox al cual le rellenas los campos DataSource y DataField y listo.

Alternativa 2:
Hay ocasiones que lo que se mustra en pantalla no es el dato que se guarda fisicamente; es decir a veces necesitamos mostrar una lista de nombres de cliente pero guadar si UID. Para esto podes usar el control DBLookupComboBox.

Este control necesita de los siguientes parametros:

1) DataSource: Es el DataSource a la tabla donde se guadara el valor final.
2) DataField: Es el campo del DataSource que guardara el valor final.

2) ListSource: Sería el DataSource de la Tabla de la cual el Combo va a mostrar una lista de valores para que el usuario los selccione.
3) ListField: Es el campo propiamente dicho que se va a mostrar en el combo (lo que va a ver el usuario)
4) :KeyField Es el valor real que se guadará en el campo DataField.

En resumido el usuario ve en la lista del combo el contenido del campo ListField y cuando selecciona un dato el valor del campo KeyField se guarda en el campo DataField.

Te en cuenta que de usarse asi ambas tablas deben estar abiertas. Si no solo se puede abrir la que vas a mostrar y capturar con codigo el valor del campo KeyField.

Espero haber sido claro y por sobre todo que te sea util !!

Saludos !