Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Desesperacion DBLookupComboBox (https://www.clubdelphi.com/foros/showthread.php?t=48962)

Rockin 09-10-2007 13:13:00

Desesperacion DBLookupComboBox
 
Hola amigos, estoy apunto de suicidarme. Estoy intentando llenar un DBLookupComboBox con el campo de una tabla firebird, lo intento de las dos siguientes maneras y nada.

-----------------------1 forma---------------------------------------
datDatos.FIBDataSetLegislator.Active:= False;
datDatos.FIBQueryLegislator.SQL.Text:=('select ley from legislacion order by ley asc');
datDatos.FIBDataSetLegislator.Active:= True;
datDatos.FIBQueryLegislator.ExecQuery;
DBLookupComboBox1.ListSource:= datDatos.DataSourceLegislator;
DBLookupComboBox1.ListField:='ley';
--------------------------2 forma-------------------------------------
datDatos.FIBDataSetLegislator.Active:= False;
datDatos.FIBDataSetLegislator.SelectSQL.Text:=('select ley from legislacion order by ley asc');
datDatos.FIBDataSetLegislator.Active:= True;
DBLookupComboBox1.ListSource:= datDatos.DataSourceLegislator;
DBLookupComboBox1.ListField:='ley';

Pero no hace nada, sin embargo la consulta en un DBDataGrid si me lo ejecuta. He buscado en todos los hilos y nada de nada.
Quien pueda decirme algo, se lo agredecría, estoy apunto de suicirdarme.

Saludos y gracias

Lepe 09-10-2007 13:49:06

La segunda forma es la correcta, pero falta asignar algunas propiedades.

No puedo decirte exactamente como es, ya que no sé los campos involucrados. Además creo estas mezclando las cosas.

Explica qué quieres hacer, diciendo los nombres de las tablas y campos que se necesitan; por ejemplo: Tengo la tabla factura (idfactura, codCliente, Fecha) donde quiero guardar el código de un cliente. La tabla cliente tiene los campos (codCliente, direccion) y en la ventana de facturas quiero poner un DBLookupListcombo que me permita seleccionar el cliente por su nombre, en lugar de por el código.

Saludos

Rockin 09-10-2007 14:50:55

La tabla se llama legislacion, con tres campos Codley (primary), ley y paquete.
Quiero mostrar el campo ley en el combo, pero no consigo de que manera hacerlo.

Lepe 09-10-2007 15:09:24

No has completado mucho... pero en fin, diré hasta donde pueda, Lo demás me lo invento.

Un TIbQuery llamada qryLeyes con su sql:
Código SQL [-]
select codley, ley from legislacion order by ley asc
Código Delphi [-]

DBLookupComboBox1.ListSource:= qryLeyes;
DBLookupComboBox1.ListField:='ley';
DBLookupComboBox1.keyField := 'codley';

DBLookupComboBox1.Datasource:= 'ni puta idea';
DBLookupComboBox1.Field := 'ni puta idea';

- Si no asignas el Datasource y el Field, el dblookupcombo aparecerá deshabilitado.
- Si usas el qryLeyes como Datasource, te dará errores de referencia circular.

Suerte !!

eduarcol 09-10-2007 15:51:37

Hola Lepe disculpa que me meta, pero la solucion esta buena, la acotacion es que el dblookupcombobox funciona sin indiciar el datasource ni el datafield se deshabilita solo si no se abre la tabla relacionada con el listsource...

ahora lo que quisiera que me explicara el amigo es si el datasource que esta conectando la tabla tiene como dataset el query que se esta trabjando??

y cuando dice no funciona exactamente que es lo que no funciona, no muestra nada, esta inhabilatado???

Lepe 09-10-2007 19:15:08

Cita:

Empezado por eduarcol (Mensaje 237155)
Hola Lepe disculpa que me meta, pero la solucion esta buena, la acotacion es que el dblookupcombobox funciona sin indiciar el datasource

Nada que disculpar... todo lo contrario, asias por corregirme (entre que no uso el DBLookupCombo de delphi y el alemán ese.... sí, ya sabes quien te digo... ;)) pues eso jeje.

Saludos

eduarcol 09-10-2007 19:50:01

Cita:

Empezado por Lepe (Mensaje 237207)
Nada que disculpar... todo lo contrario, asias por corregirme (entre que no uso el DBLookupCombo de delphi y el alemán ese.... sí, ya sabes quien te digo... ;)) pues eso jeje.

Saludos

No me digas que te has quedado con mi viejo aleman, pues ya decia yo que se me habia olvidado en algun lado :rolleyes:

Rockin 09-10-2007 21:04:34

Gracias a todo es que estoy un poco espeso.

Me faltaba meter el keyfield, ya funciona.

Ahora solo me fala que se me despliegue con más de un registro, que propiedad hay que poner.

Saludos

Lepe 10-10-2007 01:37:52

Si lo he entendido bien, añade más leyes a la tabla legislación y verás como aparecen más registros ;).

Saludos


La franja horaria es GMT +2. Ahora son las 00:24:43.

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