FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
DBlookUpCombo con keyfield de varios campos
Hola estoy haciendo un sistema de facturacion, se me dio el caso en que necesito seleccionar desde un combo un remito de todos los remitos pendientes, cuya clave primaria en las tablas es compuesta por Letra, Serie y Codigo. En los DBLookUpCombo (ya sea los que vienen con Delphi o los RX) solo me permite poner en la propiedad KeyField solo un campo, y yo necesito poner los tres.
Por favor esto es urgente... hay alguna forma de solucionarlo? gracias. |
#2
|
||||
|
||||
Saludos!
Creo que no hay forma de solucionarlo. El problema es que cada control Dataware está diseñado para ser asociado a un sólo campo de la base de datos (exceptuando, claro, el DBGrid), y la propiedad "KeyField" del "DBLookUpCombo" sirve para especificar de que campo obtenemos el valor para almacenarlo en el campo especificado en "DataField" (que, como sabes, sólo permite especificar un campo). Asi que lo único que se me ocurre es: o buscar un componente que te permita tal operación o, lo mas drástico, cambiar, en las tablas relacionadas, la clave principal y ajena o añadir una que te permita identificar cada registro pero formada por un solo campo (que podría ser autonumérico, y la clave ajena numérica). Chao! |
#3
|
|||
|
|||
Gracias por la rapidez de tu respuesta..... sin duda este foro es excelente!
Te cuento que estuve buscando componentes que hagan eso, y en la pagina www.sipanma.com tienen unos que hacen eso, pero estos son pago$$$ voy a seguir buscando, cualquier cosa les aviso.... |
#4
|
|||
|
|||
DBLookUpComboBox con keyfield distintos
Hola:
Lo que se me ocurre es que la asignacion de las propiedades del DBLookUpComboBox, tales como ListSource, ListField y KeyField se la des por codigo en tiempo de ejecucion y creo que de esa forma puedes lograr los cambios que tu quieres. Saludos Luis Garcia _____________________________ La mejor manera de decir es hacer |
|
|
|