Tablas con 2 campos principales.


([N1] jvpg) #1

¿Se puede crear una tabla con 2 campos principales?.
¿Cómo?
Ejemplo: Campos principales (CODIGO, y CODIGO_INTERNO.)

Lo necesito para poder acceder de forma directa a un registro, y traerme los campos que necesite mostrar en el formulario de alta, para ello debo poder acceder por el campo (CODIGO), o bien por el campo (CODIGO_INTERNO). Se entiende que las tablas están enlazadas.

Ejemplo de lo que busco:

Tengo fichero artículos, y en un determinado formulario de altas, debo tener la posibilidad de poder buscar él articulo por dos campos diferentes (CODIGO, y CODIGO_INTERNO.), y así poder mostrar en ese formulario toda la información que se precise de ese articulo.

Por ejemplo vista de formulario donde me tengo que traer datos de artículos seria así:

Código Articulo: (Campo “CODIGO”)
Código Interno Articulo: (Campo”CODIGO_INTERNO”).

AL INTRODUCIR UNO DE LOS DOS CAMPOS DE ARRIBA NOS MOSTRARIA LOS SIGUIENTES CAMPOS.

Descripción Articulo: DESCRIPCION
Precio Articulo: PRECIO
Descuento: DTO.

Gracias de antemano.


([N1] Pepeto) #2

Hola,

Como poder, claro que se puede.
Basta con crear 2 indices de clave unica y realizar primero una busqueda por uno de los indices y ai no existe, buscar en el otro indice.
El problema lo puedes tener cuando tengas 2 articulos que el CODIGO-INTERNO de uno sea igual al CODIGO del otro, hay tendras que decidir cual de los 2 tiene preferencia.
Aunque si muestras los 2 campos en el formulario para elegir por cual quieres buscar, el problema anterior, deja de ser un problema.

Un saludo
Jose Luis
http://www.ascsl.com
http://ascsl.net


([N1] jvpg) #3

Gracias por tu respuesta Pepeto, pero creo que para la duda que tengo, no puse el mejor ejemplo. Yo lo que necesito es poder introducir en un mismo formulario de altas, 2 registrios de la misma tabla de datos, pero cuando introduzca el CODIGO del segundo registro, el primer registro que ya esta cumplimentadon no cambie los valores de los campos.

Haber si me se explicar con este nuevo ejemplo.

1- Tengo una tabla MAESTRA llamada "SUMINISTRADORAS", la tabla se compone de los campos CODIGO, SUMINISTROPRINCIPAL, SUMINISTRORESERVA.

Contenido ejemplo de tabla SUMINISTRADORAS.

CODIGO SUMINISTROPRINCIPAL SUMINITRORESERVA

1 IBERDROLA SA. IBERDROLA SA.
2 ENDESA ENDESA
3 UNION FENOSA UNION FENOSA
4 EON ESPAÑA EON ESPAÑA

2- Tengo una tabla de datos MAESTRA llamada "CLIENTES", que a su vez esta enlazada con la tabla "SUMINISTRADORAS", y tengo un formulario de alta llamado "CLIENTES",

3- Cuando realizo una nueva alta en el formulario "CLIENTES", ademas de los campos para identificar al cliente, le debo de indicar en primer lugar cual es su compañia electrica principal y en segundo lugar cual es compañia electrica de reserva.

4- Cuando en primer lugar introduzco el CODIGO de la suminitradora PRINCIPAL, (ejemplo CODIGO=1), y le doy INTRO, me trae el valor del campo SUMINISTROPRINCIPAL, que seria "IBERDROLA".

5- Pero cuando en segundo lugar introduzco el CODIGO (ejemplo CODIGO=2, DISTINTO AL INTRODUCIDO ANTERIORMENTE) de la suminitradora RESERVA, y le doy INTRO, me trae el valor del campo SUMINISTRORESERVA, se seria "ENDESA", pero el campo SUMINISTRADORAPRINCIPAL, me cambia de valor, y adquiere el valor de "ENDESA".

Entiendo que es por que utilizo el mismo campo principal para realizar la busqueda, al introducir el CODIGO, me trae los valores de los campos de la tabla "SUMINISTRADORAS", refrescando los campos que ya tenia rellenados.

Se os ocurre que es lo que puedo hacer.

Muchas Gracias.


([N1] fjvila) #4

Hola Jvpg:
En la tabla clientes tienes que tener dos campos apuntando a la tabla suministradores: SUMINISTRADOR_PRINCIPAL y SUMINISTRADOR_RESERVA.

Es probable que ahora los dos campos que tienes en el formulario estén apuntando al mismo campo de la tabla.
Un saludo


([N1] jvpg) #5

Hola fjvila.geproin:

Estoy empezando con velneo vDevelop, y no se como hacer para que los 2 nuevos campos creados(SUMINISTRO1, Y SUMINISTRO2), en la tabla CLIENTES, apunten a los dos campos de la tabla SUMINISTRADORA. (SUMINISTROPRINCIPAL y SUMINISTRORESERVA).

Me puedes orientar ?.

Mil gracias.


([N1] Pepeto) #6

Hola,
En el primer post, habia entendido que tu problema era otro, asi que, permiteme rectificar,

El problema principal, es el propio planteamiento del problema,

- En la tabla SUMINISTRADORAS , solo necesitas los campos #ID y #NAME , no necesitas crear el suministrador de reserva.
- Y en la tabla CLIENTES, lo que necesitas, es crear 2 enlaces maestros a la tabla SUMINISTRADORAS, y en uno de ellos indicas el Principal y en el otro, el de Reserva

un saludo
José Luis
http://www.ascsl.com
http://ascsl.net


([N1] jvpg) #7

Buenas tardes Pepeto. Lo que me quieres decir con es lo que se ve en el dibujo siguiente ?.

[attachment=19484,1567]


([N1] jvpg) #8

Vale Pepeto, si que era lo que te mandaba en la imagen, ya he hecho los dos enlaces maestros a la tabla cliente, y ahora ya parece que funcione todo bien.

Muchas gracias, a ti y a fjvila.gproin, por la ayuda.

Saludos.