Singular de plural


([N1] Nuri Ruiz) #1

Tengo un problema con el enlace singular de plural. He revisado varias veces el vídeo de mperezoliver sobre el tema, y en ese caso lo entiendo, porque el nombre de la tabla coincide con el campo sobre el que se busca, ¿pero qué pasa si no es así?
Me explico:
Tengo una tabla ARTÍCULOS con los campos Modelo, Alto, Ancho y Precio.
Otra tabla ESCANDALLOS tiene campos relacionados a Modelo, Alto, Ancho y Precio.
Necesito que al hacer un alta en ESCANDALLOS, los datos iniciales de dichos campos equivalgan al primer registro de la tabla enlazada, y si alguno cambia, cambien también los siguientes.
Creo un campo relacionado en ARTÍCULOS hacia ESCANDALLOS.
Me crea un índice en el que aparece el campo Escandallos.
A la hora de tratar ese índice en el subindexador correspondiente, ¿cómo resuelvo el campo Escandallos? ¿A qué debe ser igual?
En el vídeo de mperezoliver, el campo por el que buscamos (Producto) coincide en el nombre con la tabla enlazada, pero en mi caso no es así, no tengo ningún campo llamado Escandallos como referencia de búsqueda.
Gracias por vuestra ayuda.


([N4] mperez) #2

Hola Nuri, no se a que vídeo te refieres en concreto, pero por lo que comentas, el tipo de enlace que creo que necesitas no es un singular de plural, sino un elnace indirecto http://velneo.es/info_v7_78_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/proyecto_de_datos/tabla/enlace

De todas formas en cuanto a lo que preguntas, no tiene nada que ver el Nombre de la Tabla, lo que relaciona las tablas son los indices, que puedes crear los que quieras.

Para utilizar un singular de plural promero debes tener claro los enlaces plurales, es una relación uno a muchos y de los muchos apuntas a uno de ellos, no hay más.

Por ejemplo de una entidad apuntas a un contacto en concreto, a una de sus multiples facturas, o en el caso de un articulo a una de sus diversas facturas, si estas dependieran de otros campos, como por ejemplo Zona, periodo de venta, etc.

En ese caso imaginemos una tabla articulos y una tabla Tarifas.

La tabla tarifas puede tener como Id, un campo numerico siguiente al ultimo, eso no es problema 1,2,3,4....

Pero esa tabla tarfias si queires que un articulo pueda tener diversas tarifas, solo tiene que tener un Indice compuesto por un enlace a Articulos y otro campo que puede ser temporada.

De esta manera ya tendrías un puntero de una tarifa que apunta al modelo

Y por tanto un enlace Plural de un Modelo a todas sus tarifas,

Ahora podrás crear un enlace singular del plural a una de esas tarifas, usando la temporada, apuntando a esa temporada en concreto.
---------------------------
De todas formas creo que debes empezar por plantearte las Tablas, peus creo que no esta bien el planteamiento.

No tiene mucho sentido, la tabla Articulos con (Modelo, Alto , Ancho ) como partes de un indice

y a la vez Escandallos con (Modelo, Alto, Ancho) tambien como indice.

Debes plantearte, lo primero ¿Un Modelo tiene varios escandallos o solo uno por Modelo?

Si solo tiene uno entonces no hay enlace uno a muchos, no hay plural

O estas hablando de escandallos, pero te refieres a Componentes de un Modelo?

Si fuera asi, entonces si que es clara la relacion

Tienes un Articulo y de el cuelgan varios (Plural ) componentes

En ese caso simplemente tendrías una Tabla de Modelos, y otra de Articulos, que tendria un indice unico (El Id es apart y podrias ser siguiente al ultimo), que estaria compuesto por el enalce a Modelo, el Alto y el Ancho y en funcion de el el precio

Y un Plural Componentes, que tendria un enlace a Articulos , etc.
---------------------------
Bueno no se exactamete lo que queires hacer, por lo que no te puedo ayudar demasiado, pero lo primero es pensar en las tablas, no crees dos tablas para lo que puede ser una, y despues relacionalas, preguntandote si un registro apunta otro de una tabla o a varios, entonces tendras el tipo de enlace a uno o maestro o Plural.

Despues si tienes enlaces a Plural, preguntate si queires apuntar a uno de ellos en concreto pro algun motivo.

O puede ser que lo que queiras es relacionar dos tablas, pero que no tengan por que tener una relacion uno a muchos, entonces es un enlace Indirecto.

Menudo testamento me esta saliendo, espero haberte ayudado, en lugar de liarte.

No acabo de entender muy bien la estructura de tabals que estas montando.

Lo primero que hay que tener claro es si la tabla Escandallos tiene un puntero a Articulos o es al reves, como tu indicas, yo creo que es en escandallos un puntero a Articulos.

Ahora bien si articulos, que pude tener el Id que quieras como siguiente al ultimo, viene definida por un indice único formado por (Modelo, Alto, Ancho) e imagino que Previo será un campo, ¿o no? eso me estraña pero no se lo que estás monmtando.

Entonces para qué lo tienes en escandallos, a fin de cuenta el escandallo tendra un puntero a la tabla maestra Articulos y en ella ya tienes el Modelo, Alto, etc


([N1] Nuri Ruiz) #3

Hola mperez,
Estoy haciendo un proyecto para presupuestar mobiliario de cocina.
En un formulario de alta, en la cabecera, seleccionamos fecha, cliente, proveedor... Este tema ya está solucionado.
Existen varios tipos de módulos de cocinas: altos, bajos, columnas,... Para cada tipo de módulo tengo creada una tabla con los campos Modelo (sobrenevera, chaflán...), Alto (70, 90,...), Ancho (30, 35, 40,...) y Precio (único para cada combinación de datos anteriores).
Ej tabla Altos: Modelo Alto Ancho Precio
Sobrenevera 70 30 25,00
Sobrenevera 70 35 27,00
......
Necesito un subformulario para cada tipo de módulo.
Estoy creando un subformulario (basado en la tabla Escandallos), para los módulos altos, cuya tabla (Escandallos) contiene los siguientes campos: Unidades, Modelo, Alto, Ancho, Precio, Puertas, Total. Por lo que me comentas, lo que necesito es una relación indirecta desde Escandallos hacia la tabla Altos, pero también necesito que al hacer un alta en la tabla Escandallos, me coja el primer elemento de la tabla Altos. ¿Se puede hacer? ¿Cómo tendría que ser el índice? Intento hacerlo sin recurrir a procesos ni eventos, ya que por lo que veo Velneo tiene soluciones suficientes para no tener que recurrir a ellos.


([N1] Nuri Ruiz) #4

Y de necesitar un enlace indirecto, ¿debería ser real o virtual?
Gracias de nuevo.