como ver datos de un bd en un DBComboBox
#1
Escrito 22 julio 2011 - 01:51
me podrian ayudar indicandome como ver un campo de una tabla de interbase en un DBComboBox
tengo creado un dataset y un datasource que mas tengo que hacer?
#2
Escrito 22 julio 2011 - 02:00
Necesitas un componente Table o Query ademas datasource.
En el dbcombobox hay dos propiedades:
Datasource = aqui pones el datasource.
DataFile = aqui pones el campo que quieres.
Saludos
#3
Escrito 22 julio 2011 - 02:10
tengo un query le llamo GENERADOR en la opcion database lo conecto con IBDatabase1
En el ibcombobox
datasource =datasource1
datafield=decripcion
pero cuando ejecuto el programa no muesta nada???
me falta algo mas???
#4
Escrito 22 julio 2011 - 02:14
select descripcion from ESTADO_AFILIACION
#5
Escrito 22 julio 2011 - 02:32
Tienes conectado el query en el evento OnCreate del form ?.
Tiene que estar activo el query.
Saludos
#6
Escrito 22 julio 2011 - 02:44
Tambien lo puedes hacer con un sencillo Combobox asi:
GENERADOR .SQL.Text := 'select descripcion from ESTADO_AFILIACION'; GENERADOR .Active := True; While not GENERADOR .Eof do begin Combobox1.Items.Add(GENERADOR .Fields[0].Text); GENERADOR .Next; end; QTemp.Active := False;
Colocas un combobox.
En el evento Oncreate del from pones el codigo de arriba y listo.
Saludos
#7
Escrito 22 julio 2011 - 03:23
me puedes explicar por fa la linea de codigo
QTemp.Active := False;
que hace??
me genera un error
#8
Escrito 22 julio 2011 - 03:27
Es un despiste mio, es el nombre del query, cambie todos menos ese.
Es asi:
GENERADOR .SQL.Text := 'select descripcion from ESTADO_AFILIACION'; GENERADOR .Active := True; While not GENERADOR .Eof do begin Combobox1.Items.Add(GENERADOR .Fields[0].Text); GENERADOR .Next; end; GENERADOR.Active := False;
Saludos
#9
Escrito 22 julio 2011 - 03:29
#10
Escrito 22 julio 2011 - 03:32
Con gusto, para eso estamos, para tratar de ayudar.
Cualquier duda que tengas, aqui te ayudamos en lo que podamos.
Saludos
#11
Escrito 01 marzo 2013 - 09:03
Se que eres muy amable.
Podrias explicarme que sucede cuando estar usando un DBComboBox y le asignar un DataSource y a ese mismo le asignas un Query que funciona perfectamente, probado en un WorkBench, pero que en el DBComboBox solo me muestra un resultado y no los 10 o 20 que deberia mostrar?
#12
Escrito 01 marzo 2013 - 12:05
Aunque no soy el destinatario de la pregunta, te voy a contestar.Hola Caral
Se que eres muy amable.
Podrias explicarme que sucede cuando estar usando un DBComboBox y le asignar un DataSource y a ese mismo le asignas un Query que funciona perfectamente, probado en un WorkBench, pero que en el DBComboBox solo me muestra un resultado y no los 10 o 20 que deberia mostrar?
El DbComboBox está ligado a un DataSource y a un Campo, por eso siempre solamente te mostrará el valor del campo, como si se tratase de un TDBEdit.
Ahora bien, el DBComboBox también cuenta con la propiedad Items (solo para facilitar la entrada de datos), estos los puedes asignar de muchas maneras, bien sea manualmente en tiempo de diseño o dinámicamente: a partir de un archivo de texto o recorriendo un Dataset (que no necesariamente debe ser el mismo al que está asignado el DBComboBox en cuestión, podría ser cualquier otro), que es justo lo que Caral te indica en un post anterior.
Saludos
#13
Escrito 01 marzo 2013 - 01:41
http://elpoli.delphi...mbo-con-delphi/
#14
Escrito 01 marzo 2013 - 03:00
Si con un DBEdit se puede hacer eso,
crei que el DBComboBox era para llenarlo asi como un DBGrid que se llena de acuerdo a los campos que uno le indica y que estan en un Query especifico o una Tabla, se como se usan los DBEdit, DBGrid, pero crei que me faltaba saber algo mas respecto al DBComboBox.
De cualquier forma, gracias a todos por su ayuda.
Nota: y lo de el llenado con el ComboBox, tambien lo se hacer, pero queria ver si me podia evitar ese paso y llenarlo asi de facil con el DBComboBox.
#15
Escrito 01 marzo 2013 - 05:03
#16
Escrito 01 marzo 2013 - 07:03
Imagina que una tabla de tu base de datos tenga el campo "PAIS", si utilizas un TDBEdit y dejas que los usuarios entren libremente el nombre del país, algunos podrían escribir VENEZUELA, otros BENEZUELA, otros VENESUELA, otros podrían escribir cualquier cosa (a menos que hicieras una complicada rutina de validación), de tal modo que cuando necesites hacer alguna consulta por países, tus datos van a ser muy inexactos; en cambio si utilizas un DBComboBox (y lo configuras para que no permita escritura), simplemente agregas a la propiedad Items el listado de países y siempre obtendrás en ese campo un país válido.Bueno y entonces para que existe el DBComboBox??
Si con un DBEdit se puede hacer eso
Por defecto en un DBComboBox se pueden teclear datos arbitrarios, en este caso solo se utiliza solo para agilizar la entrada de datos.
Saludos
#17
Escrito 01 marzo 2013 - 09:52
Seria mucho pedir un pequeño ejemplo de tu parte eduarcol,Para evitar ese paso esta el dbLookupCombobox, usas las propiedades listsource y listfield para llenar la lista y datasource y datafield para indicar donde se debe guardar el valor
por favor