Apúntate a la Zona De Descargas Reservadas (ZDDR). Solo son 20 Euros
Con solo 20€ ayudarás
a mantener el foro.


Seguir a udias en Twitter
Directorio de Empresas de Foros de informática


Todo lo que sueñas, se puede diseñar.
We build your dreams.

 - Principal - Responder - Estadísticas - Registrarse - Buscar - Lista de usuarios -  - Zona de Descargas
 -Privacidad y política de cookies -
Ayuda al foro con tu donación

Búsqueda en los foros

Foros en Udias.com / FileMaker / Introducir un valor en un campo en función de los resultados de una búsqueda en otro
Autor Mensaje

Miembro

Habitual

  Karma         124

#1 Publicado: 18 Ene 2008 01:09



Hola,
Siento incordiar de nuevo pero por más vueltas que le doy no consigo solucionar mi problema .A ver si, al menos, soy capaz de enunciarlo bien para que me podáis entender y, si es posible, echar una mano.
Tengo en una misma base de datos dos tablas relacionadas: NOTICIAS y PERSONAJES en una relación 1:N, es decir, puede haber varios personajes vinculados a cada noticia.
Las Noticias llevan un código de identificación alfanumérico del tipo N0001. Para crear un personaje vinculado a una noticia, mediante un guión creo un nuevo registro de Personajes e inserto dicho código en un campo de la tabla Personajes con el mismo nombre (Código_noticia), mediante el cual se establece la relación entre ambas tablas. Eso de momento funciona.

Ahora bien, necesito codificar también los personajes, al estilo N001P01. Para hacer la segunda parte del código (P01) no me sirve el campo de autointroducción, puesto que P01 no puede ser único, sino que hay un P01 para cada Noticia (N000). Y además, si dado un momento elimino un personaje, ese número de Personaje se perdería.

Se me ocurre una solución al problema, pero 1º) dudo si estará bien planteada, y 2º) no consigo hacer bien el correspondiente script. La secuencia de órdenes sería la siguiente:

1. Copiar el contenido de Código_noticia (por ej. N001) (en la tabla Personajes, puesto que el registro ya está creado, aunque en blanco)
2. Ir a Modo buscar
3. Ir al campo Código_noticia
4. Insertar el valor copiado
5. Ejecutar la búsqueda
(con esto pretendo saber cuántos personajes hay ya asignados a esa noticia. Como parto de un nuevo registro en blanco, es imposible que dé 0)
6. Contar el número de registros hallados en la búsqueda
7. Ese número es el que hay que insertar a lo que sería la tercera parte del Código de personaje (Si consideramos que el código de personaje está compuesto de 3 partes: N001 + "P" + XX (siendo el valor XX = nº de registros hallados).

Yo creo que así solventaría los dos problemas que he mencionado antes: que siempre habrá un código P01 para cada Noticia y que, en caso de borrarse alguno, siempre se seguirá un orden secuencial.
Pero no sé, igual mi mente se lía demasiado, o me salto algún paso, yo qué sé.
¿Alguien podría echarme una mano? Necesito solventar esto, ya que posteriormente tengo que hacer una tercera tabla (Acciones) subordinada a la de Personajes que seguirá la misma filosofía (N001P01A01)

Os lo agradecería enormemente!


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac OS X, FileMaker 11 Pro

Administrador


  Karma               26247

#2 Publicado: 18 Ene 2008 08:26



El único problema que veo es si borras un registro intermedio, entonces cuando crees uno nuevo el último PXX lo tendrías duplicado, por lo que tendrías que renumerar todos los correspondientes a PXX. No se si me explico bien.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Habitual

  Karma         124

#3 Publicado: 18 Ene 2008 13:35



Cierto. ¿Se te ocurre cómo podría hacer entonces? Yo sigo cavilando, pero se me escapa.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac OS X, FileMaker 11 Pro

Administrador


  Karma               26247

#4 Publicado: 18 Ene 2008 16:01



Solo tienes tres opciones:

O no permites el borrado de registros anteriores
O guardas el número borrado en un campo para reutilizarlo
O recalculas todos los registros cada vez que creas uno nuevo.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro


  Karma               4401

#5 Publicado: 18 Ene 2008 17:37 - Editado por: Perezoso



- NoticiaXXXX -----> PersonajeYY, PersonajeZZ

Como bien dices: relación 1:N

Pues bien:
1.- tienes el IDnoticia en NOTICIAS ... crea el campo IDnoticia en PERSONAJES.
2.- relaciona NOTICIAS --> PERSONAJES por sus respectivos campos IDnoticia

Con eso ya está todo listo.
Lo que tienes que hacer a continuación es ir metiendo en el campo IDnoticias de la tabla PERSONAJES los IDs de las noticias que le correspondan a cada personaje EN LÍNEAS INDEPENDIENTES ... es decir, una debajo de la otra, así:

N0005
N0018
N0039


En un portal (que puedes poner al lado de la noticia) verás, de forma automática, los personajes relacionados con la noticia e incluso puedes hacer clic en cualquiera de ellos para ir a su correspondiente ficha (aunque, para esto ultimo, hay que programar alguna cosita antes).


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Soy todo oidos ;-) Ubuntu & Win XP # FileMaker: 5 - 10

Miembro

Ocasional

  Karma       74

#6 Publicado: 18 Ene 2008 20:50



Kenida, no será que en realidad debes tener una relación muchos a muchos? Si la información que quieres almacenar de los personajes es tal que debes crear una tabla adicional para tal propósito, tal ves la relación es muchos a muchos: se me ocurre que a lo mejor un personaje puede estar en muchas noticias además de lo que tu ya planteas de que una noticia puede tener muchos personajes. Siendo esto así, una relación muchos a muchos es más apropiada.

Con respecto al código de los personajes, podrías explicarnos mejor por qué quieres numerar los personajes dentro de una noticia? si es para saber en total cuántos personajes tiene cada noticia, podrías poner un campo summary que te sume los personajes relacionados. De cualquier forma, si nos permites conocer el propósito, a lo mejor se nos ocurre una mejor forma...


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo

Su respuesta

Estilo Negrillas  Estilo Italico  Estilo Subrayado  URL De La Imagen  URL De La Web  Preformatted Text  YouTube URL  Sin código BB
Emoticones
:) ;) :up: :down: :biglol: :confused :cool: :mad: :sad: :shame: :smirk: :tongue: ... Más  Emoticones desactivados
Color de texto
Texto en negro Texto en blanco Texto en gris Texto en rojo Texto en azul Texto en verde Texto en rojo oscuro Texto en cian Texto en azul oscuro Texto en púrpura Texto en amarillo Texto en rosa Texto en naranja Texto en verde oliva Texto en marrón



 » Usuario  » Contraseña 
Solo Usuarios Registrados Pueden Postiar Aqui.
 

Tópicos relacionados con Introducir un valor en un campo en función de los resultados de una búsqueda en otro

calculo para introducir el ultimo valor de un campo filtrado por otro
Establecer un valor maximo en funcion de valor de otro campo
Numerar en función al valor de otro campo
Contenido de un campo en función del valor de otro.
Cambiar de color de un campo en funcion del valor de otro campo


Conectados: Invitados - 7
Miembros - 1 border=0 msanchez
En verde usuarios ZDDR

Realizado con miniBB © 2001-2021
Para Udias.com © 1996-2021
Hosting con Interdominios