![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#10
|
|||
|
|||
|
Hola, gracias por tu sugerencia. En realidad hice algo bastante similar. Estoy trabajando con Firebird y los componentes IBX.
Para los datos uso un IBDataSet, y para las consultas un IBQuery. Pero tengo otro problema....lo comentaré brevemente y lo mas claro que pueda a ver si alguien puede ayudarme. IBQuery: realiza las consultas y toma como parámetro lo digitado en un TEDit. El código es: procedure TFABMProducto.edSearchChange(Sender: TObject); begin if Length(edSearch.Text) > 0 then if self.ComboBox.ItemIndex >= 0 then EjecQry else Application.MessageBox('No seleccionó criterio de búsqueda','Atención',MB_OK) else Application.MessageBox('No ingresó texto de búsqueda','Atención',MB_OK) end; procedure TFABMProducto.EjecQry; begin //nom_param es una propiedad, ya inicializada antes. DMDSProducto.ibqry.Close; DMDSProducto.ibqry.paramByName(nom_param).AsString:= UpperCase(edSearch.Text)+'%'; if Not DMDSProducto.ibqry.Prepared then DMDSProducto.ibqry.Prepare; DMDSProducto.ibqry.Open; end; IBQuery está asociado a un DataSource propio ds_qry e IBProducto asociado a uno diferente, ds. El resultado de esta consulta va a un DBLookUpListBox. A medida que voy digitando, el mismo se 'llena' con los resultados ejecutados por la consulta. Inicialización del DBLookListBox: DBLookupListBox.DataField := 'Nro_prod'; DBLookupListBox.KeyField := 'Nro_prod'; DBLookupListBox.ListField := 'Nom_prod'; O sea que el DBLookupListBox tiene el nombre de los productos. Por otro lado tengo los DBEdit, los cuales despliegan los campos del IBProducto (TIBDAtaset). Ahora bien, siempre que selecciono alguno de los nombres de la lista, el DBEdit correspondiente al código que tiene asociado al nombre seleccionado, cambia correctamente, como debe ser. Es decir, si selecciono un nombre cuyo código es 5 el DBEdit despliega 5, pero el nombre no lo cambia cuando debería, queda el que estaba al inicio de la consulta. Ejemplo:Supongamos que inicialmente tienen DBNro_Prod = 1 DBNom_prod = producto 1 Si me posiciono en la lista de nombres en el producto_n los valores son: DBNro_Prod = n DBNom_prod = producto 1 O sea, no hubo un cambio acompasado en el nombre del producto. Hice un Refresh en el evento ONClick del DBLookListBox para que refrescara los datos, pero no hace caso. ¿Qué estoy haciendo mal y/o que debería corregir? gracias, rochi |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|