Base de datos multiempresa
Tengo 1 empresa cliente que tiene una base de datos Access, en la cual las tablas están vinculadas a una base de datos mySQL que está alojada en un sitio web. La conexión Access-mySQL es vía ODBC.
Todo funciona sin problemas.
Ahora me surge otro cliente que necesita la misma base de datos. Tengo 2 opciones:
1. La fácil a corto plazo. Hago una copia de las 2 bases de datos (elimino los datos previamente) y al nuevo cliente le configuro otro ODBC para acceder a la segunda base mySQL.
Así, las bases Access son iguales, con tablas vinculadas a 2 mySQL distintas, con 2 ODBC distintos.
Esto ya lo he hecho y funciona sin problemas, pero no me gusta nada, porque si me surge un tercer, cuarto, ... Cliente similar, el mantenimiento se me complica. Tendría muchas bases de datos.
2. La más difícil de diseñar para mi, y sobre la que te pido ayuda. Quiero tener una sola base mySQL que sea multiempresa.
Para ello necesito que bien Access, bien mySQL distinga entre empresas al hacer login de modo que sólo presente los datos de la empresa correspondiente.
La pregunta es: ¿Es posible que en Access al logarse se muestren exclusivamente los datos relativos a una empresa y no a todas?
Ya sé que la respuesta es SI, salvo si accedo directamente a las tablas, que en ese caso se mostraría todo. He probado a ocultar las tablas de múltiples formas, pero siempre encuentro otra forma, como usuario, de desocultarlas, con lo cual podría seguir accediendo a todo.
La pregunta cambia a ¿Hay alguna forma 100% segura de ocultar las tablas en Access2007?
Si la respuesta es no, ¿cómo está haciendo la gente para tener una base de datos Access multiempresa sin que un usuario logado vea todos los datos?
Por ponerlo más simple. Si tengo una base de datos Access en un ordenador público de un colegio, ¿cómo hago para que un alumno que se loge con su DNI sólo vea sus notas?
Si no es posible en Access, ¿qué necesitaría para hacerlo posible?
Todo funciona sin problemas.
Ahora me surge otro cliente que necesita la misma base de datos. Tengo 2 opciones:
1. La fácil a corto plazo. Hago una copia de las 2 bases de datos (elimino los datos previamente) y al nuevo cliente le configuro otro ODBC para acceder a la segunda base mySQL.
Así, las bases Access son iguales, con tablas vinculadas a 2 mySQL distintas, con 2 ODBC distintos.
Esto ya lo he hecho y funciona sin problemas, pero no me gusta nada, porque si me surge un tercer, cuarto, ... Cliente similar, el mantenimiento se me complica. Tendría muchas bases de datos.
2. La más difícil de diseñar para mi, y sobre la que te pido ayuda. Quiero tener una sola base mySQL que sea multiempresa.
Para ello necesito que bien Access, bien mySQL distinga entre empresas al hacer login de modo que sólo presente los datos de la empresa correspondiente.
La pregunta es: ¿Es posible que en Access al logarse se muestren exclusivamente los datos relativos a una empresa y no a todas?
Ya sé que la respuesta es SI, salvo si accedo directamente a las tablas, que en ese caso se mostraría todo. He probado a ocultar las tablas de múltiples formas, pero siempre encuentro otra forma, como usuario, de desocultarlas, con lo cual podría seguir accediendo a todo.
La pregunta cambia a ¿Hay alguna forma 100% segura de ocultar las tablas en Access2007?
Si la respuesta es no, ¿cómo está haciendo la gente para tener una base de datos Access multiempresa sin que un usuario logado vea todos los datos?
Por ponerlo más simple. Si tengo una base de datos Access en un ordenador público de un colegio, ¿cómo hago para que un alumno que se loge con su DNI sólo vea sus notas?
Si no es posible en Access, ¿qué necesitaría para hacerlo posible?
4 Respuestas
Respuesta de xavi -ae soft-
1
Respuesta de Antonio Pugliese
1
Respuesta de mmaresma
1
Respuesta de alex220468