![]() |
TDBLookupComboBox
Tengo en un formulario un ComboBox y un DBLookupComboBox (DBLCBfiltro).
Dependiendo de lo que seleccione en el ComboBox, el DBLookupComboBox debe asociarse a una u otra tabla. Bien, para asociar en tiempo de ejecución una tabla a un DBLookupComboBox, hago en onchange del ComboBox un if con las opciones y dentro de cada opcion hago: DataModule.tabla1.Active; DataModule.tabla1.Open; DBLCBfiltro.ListSource:=DataModule.DStabla1; hasta aqui bien, pero luego: DBLCBfiltro.ListField:= DataModule.tabla1.nombre; (da error de compilación) DBLCBfiltro.KeyField:=DataModule.tabla1.codigo; (da error de compilación) He intentado tambien: DBLCBfiltro.ListField:= nombre; (da error de compilación) DBLCBfiltro.KeyField:= codigo; (da error de compilación) Y por probar: DBLCBfiltro.ListField:= DataModule.DStabla1.nombre; (da error de compilación) DBLCBfiltro.KeyField:=DataModule.DStabla1.codigo; (da error de compilación) ¿Como se hace?, se que seguramente será una chorrada, pero estoy atrancada. Muchas gracias. |
Hay que pasarle una cadena con el nombre del campo a enlazar.
Un Saludo. |
Esto es lo mismo, ¿no?
DBLCBfiltro.ListField:= DataModule.tabla1.Fieldvalues['nombre'].AsString; DBLCBfiltro.KeyField:=DataModule.tabla1.Fieldvalues['codigo'].AsInteger; Porque si lo es, no funciona, casca en tiempo de ejecuión en el momento en que seleciono el valor en el ComboBox. Me da error 'Invalid Variant Operation' y señala la 1º linea de las dos de arriba. ¿Alguna otra opción? |
Tengo que salir, pero sino recuerdo mal lo seleccionado el en Combobox se puede recuperar por la propiedad Text del mismo
Lo que hay que pasarle es el nombre del campo como texto. Un Saludo. |
No va asi.
Lo que pasa es que si yo selecciono del combobox, por ejemplo 'entidad', el dblookupcombobox tiene que cargarse con los valores del campo nombre de la tabla 'tentidad', por lo que hay que darle en el listsource el datasorce de la tabla tentidad, en el listfield hay que indicar que el campo de la tabla que quiero que muestre sea el campo 'nombre' y en el keyfield, hay que indicar el campo clave de dicha tabla (que en este caso es el campo 'codigo') |
Ok, lo que pone ahora en la 1º respuesta si que funciona.
Muchas gracias. |
DBLookupComboBox dinamico
Estimados .
Alguien de uds tiene idea de como hacer q este componente DBLookupComboBox se cree dinamicamente y tome el tamaño de la descripcion asociada a una lista de datos en una BD. por ejemplo si lo q muestra el "combo" es de solo 20 caracteres pues q tenga un tamaño de 20 como maximo pero si dentro de la lista de items hay una palabra de 30 q se agrande automaticmanet o que se disminuya sea cualquiera de los casos. Agradecer una pronta respuesta. Saludos Thomas M. |
La franja horaria es GMT +2. Ahora son las 06:44:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi