Autor |
Mensaje |
Miembro
Habitual

|
#1 Publicado: 5 Ago 2009 14:04
puede que lo que voy a preguntar sea una chorrada, pero no lo encuentro... Tengo dos tablas relacionadas y quiero verlas en dos ventanas simultaneamente, una a la izquierda y otra a la derecha. Ahora, cuando voy de un registro a otro en mi ventana izquierda quiero que en la derecha se seleccione también el registro relacionado. Yo lo que hice fue crear dos botones en la ventana izquierda, y a esos botones les meto el siguiente guión:
Ir al registro/petición/página [siguiente] y [anterior] para el otro botón, y ambos guiones me remiten a este otro:
Seleccionar ventana [Nombre: "izq"; Archivo actual] Copiar [Seleccionar; Tabla2::Referencia] Ver como [Ver como formulario] Selecciona ventana [Nombre: "dcha"; Archivo actual] Modo Buscar[] Pegar [Seleccionar; Tabla2::Referencia] Ejecutar búsqueda[] Seleccionar ventana [Nombre: "izq"; Archivo actual] Ver como [Ver como formulario]
Donde el campo "Referencia" de la Tabla2 es la unión de 3 campos de la tabla2 filtrados para eliminar caracteres especiales, es la única forma que vi para que un registro sea único sin llegar a meterle un campo identificador, lo que me puede resultar prácitamente inviable.
Yo creo que mi fórmula es poco ortodoxa y me gustaría saber si hay un procedimiento más lógico y mejor planteado, pero teniendo en cuenta que no quiero tener un campo identificador que sea único, pues generarlo ahora que tengo más de 3000 registros sería un poco rollo
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Miembro

|
#2 Publicado: 5 Ago 2009 14:35
Yo creo que sería más práctico crear un ID. Aunque tengas un millón de registros puedes arreglarlo en un par de minutos.
Crea el campo ID como secuencial Crea un guión para establecer los IDs con las siguientes líneas:
- Mostrar todos los registros - Ir al registro primero - Establecer variable $contador = 1 - LOOP - Establecer campo ID = $contador - Establecer variable $contador = $contador + 1 - Ir al registro siguiente (salir después del último) - ENDLOOP
Ejecuta una vez el guión y ya tendrás numerados con un ID único cada registro.
Finalmente, anota cual ha sido el último nº ID y configura ese campo para que continúe con la numeración automática desde el nº siguiente (para los siguientes registros que añadas).
El guión ya puedes borrarlo porque no lo vas a necesitar más.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Soy todo oidos ;-)
Ubuntu & Win XP # FileMaker: 5 - 10
|
Miembro
Habitual

|
#3 Publicado: 6 Ago 2009 09:41
Si... pero un ID estaría bien para la 2º tabla, ya que cada registro es irrepetible y único pero la 1º tabla ha de pillar los datos de la 2º y sí que puede contener datos repetidos cómo haces para que cuando creo un registro en la tabla 1 me pille el ID correspondiente de la tabla 2? Quiero decir que tendría que hacerlo manualmente, no? al crear un reg en tabla 1 tendría siempre que buscar en tabla 2 el reg. correspondiente, seleccionar la ID para pegarla en otro campo de la tabla 1
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
|
Miembro

|
#4 Publicado: 6 Ago 2009 17:35 - Editado por: Perezoso
No das mucha información al respecto pero, si como dices, las 2 tablas están relacionadas, el ID del registro te lo pasaría automáticamente al nuevo registro que crees desde la tabla relacionada. Una de las claves para que todo funcione mejor es tener bien organizado todo el sistema de tablas y relaciones.
En tu caso, parece que deberías crear los nuevos registros relacionados desde la tabla 2, que es la que debería contener IDs únicos ... así, en tabla 1 tendrás algunos IDs repetidos pero eso no importa ya que estarán permanentemente relacionados por el ID único de la tabla 2 y permanecerán asociados a él.
Respecto al tema de las ventanas, quizás no te lo has planteado o no te sirve (?), pero también podrías hacerlo en una presentación única visualizando en portales separados cada una de las tablas. Posiblemente sea una solución menos engorrosa.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Soy todo oidos ;-)
Ubuntu & Win XP # FileMaker: 5 - 10
|