FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con campo del tipo fkLookup
Buenos dias, señores / as. Permitanme que les de las gracias de antemano por dedicar unos instantes a leer estas brebes lineas. Gracias.
Bueno, mi problema es el siguiente. Estoy desarrollando una pequeña aplicación en la que dispongo de diferentes tablas, entre estas, una que he llamado 'Pais', una que he llamado 'Provincia' y otra más que recoge información de estas dos y que he llamado 'Empresa'. La definición de estas es la siguiente: * Pais: - IdPais ( Integer ) ( PK ) - Pais ( Char(50) ) * Provincia: - IdPais ( Integer ) ( PK ) - IdProvincia ( Integer ) ( PK ) - Provincia ( Char(50) ) * Empresa: - IdEmpresa ( Integer ) ( PK ) - ... - IdPais ( Integer ) - IdProvincia ( Integer ) - ... Bien. He creado diferentes TTable para el acceso a estas tablas y en la definicion de los campos para la tabla 'Empresa', he incluido dos campos del tipo fkLookup, para el acceso a los valores de las tablas 'Pais' y 'Provincia', de la siguiente manera: * tempresaPais: - KeyFields -> 'IdPais' - LookupDataset -> tbPais - LookupKeyFields -> 'IdPais' - LookupResultFields -> 'Pais' * tempresaProvincia: - KeyFields -> 'IdPais;IdProvincia' - LookupDataset -> tbProvincia - LookupKeyFields -> 'IdPais;IdProvincia' - LookupResultFields -> 'Provincia' El caso es que con el campo de búsqueda definido para la tabla 'Pais' ( tempresaPais ), todo funciona muy bien. Sin embargo con el definido para 'Provincia' ( tempresaProvincia ), siempre me saca un error 'tbEmpresa: Field 'IdPais;IdProvincia' not found'. ¿ Hay algun problema al intentar este tipo de busqueda utilizando diferentes campos? ¿ El problema reside al intentar guardar los valores en cada uno de los campos editados ? ¿ Alguna idea ? Muchas gracias a todos. |
#2
|
||||
|
||||
Ojalá todos los mensajes del foro se explicasen así de bien, ha sido una delicia leer el mensaje, por ende, te doy la enhorabuena.
Falta por comentar el motor de bases de datos y las tablas, pero el problema parece surgir al incluir 2 campos separados por punto y coma en la propiedad keyFields. Lo único que se me ocurre de momento es que al dar de alta una provincia, su id, contenga ya el pais, me explico: Código:
codigoPais Pais 34 España 35 francia codigoProvincia Provincia 34001 huelva 34002 Malaga 35001 París Espero que lo puedas aplicar, o que alguien dé otra forma de hacerlo. Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 09-06-2005 a las 15:08:47. |
#3
|
|||
|
|||
Ayuda con campo del tipo fkLookup
Muchísimas gracias, Lepe, por tu respuesta. Efectivamente, parece que el error se da al incluir diversos campos en la clave de búsqueda. Seria una buena idea dotar al campo 'IdProvincia' de la tabla 'Provincia' de una codificación significativa, tal y como apuntas. En esta ocasión me he decidido a usar campos del tipo entero. Históricamente, había utilizado para estos casos siempre campos del tipo carácter, pero a medida que la tabla va creciendo, todo se vuelve más lento, al utilizar este tipo de claves. Así se podrían utilizar los 3 primeros carácteres para identificar el país, y los 4 siguientes para identificar la provincia. Luego para acabarlo de redondear, se podría validar cuando se insertara el nuevo registro que siguiera este formato ... anda, pues igual se podria realizar este tipo de validación aunque el campo sea entero. Gracias, Lepe, creo que podría montármelo de esta manera. Aunque lo cierto es que me gustaría averiguar el porque de ese error. Respecto a la base de datos, estoy utilizando Interbase. Sin embargo uso los componentes genericos de acceso a bases de datos del BDE, pues me gustaría que fuera en este aspecto un poco versátil. Que te parece ? Muchas gracias de nuevo por vuestro soporte. Y, bueno, si se os ocurre alguna nueva idea que pueda arrojar un poco más de luz al caso, estaría encantado de poder escucharla. |
#4
|
||||
|
||||
Interbase con BDE: Alternativas
Cita:
Lamento no poder contestar, pero todavia soy un novatillo con Firebird e Interbase. Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Sigo con el mismo problema ... :(
Bueno, señores, antetodo, gracias por toda su ayuda.
Continuo obsesionado con el mismo problema con el que iniciaba este hilo de debate, puesto que por encima de toda la estructura gerarquica de la base de datos que estoy montando, existe un primer nivel que es el de "empresa", por lo que prácticamente todas las búsquedas van a utilizar ese código como parte de la consulta. Alguien podria decirme si conoce algun componente del tipo DBLookupComboBox que pueda integrarse en un DBGrid, y que pueda utilizar como KeyFields y LookupKeyFields diferentes campos ? Muchisimas gracias |
#6
|
||||
|
||||
Cita:
La única observación en la ayuda que veo que podría ser relevante es: Cita:
// Saludos |
|
|
|