Conectar excel con base de datos creada en access?
Necesito crear una base de datos, lo he intentado con excel pero no es tan eficiente como lo sería hacerla en access. Antes de hacerla usando esta herramienta de offices tengo las siguientes limitantes:
- No puedo instalar access en los pc donde voy a usar la base de datos.
- No puedo crear un programa e instalarlo en los pc donde voy a usar la base de datos.
Entonces:
- ¿Puedo crear una base de datos en access (en otro pc donde si puedo instalar access) y luego esos archivos de la BD controlarlos con formularios de consulta a través de un archivo excel?
2 respuestas
¿Has probado simplemente a instalar en esos ordenadores una runtime de access?. Te permite ejecutar Access en aquellos ordenadores donde no tengas instalado el Office.
https://www.microsoft.com/es-es/download/details.aspx?id=10910
Hola gracias no lo probado por no conocerlo (me diste un conocimiento nuevo) voy a descargarlo tomando en cuenta tu sugerencia para ver si puedo instalarlo sin beneficios de administrador, en la siguiente respuesta eperezfer voy a explicar un poco más lo que estoy haciendo
Debes hacer lo que más te convenga pero si en los otros ordenadores no la vas a usar tú, discrepo de la otra opinión. Es conveniente que el que la vaya a usar no pueda "trastear" nada. Si quieres modificar diseños, código, etc. lo haces en tu ordenador y los otros que no toquen nada. Somos muy dados a tocar algo y cuando lo estropean te llaman y te dicen "Yo no he sido" o "Esto no funciona".
Por eso también se transforman las bases accdb en accde para que no puedan modificar nada.
Pues diste en el clavo eso es lo que quiero te describo las necesidades que me llevan a este proyecto lo que he hecho y lo que quiero hacer:
Necesidades:
- Estamos llevando una base de datos robusta en excel pero cada usuario por su lado en formatos y formas diferentes.
- Debemos llevar indicadores de desviaciones y gestión.
- Es muy común que nos pidan datos de tendencias anuales mensuales.
- Somos pocos los que usamos eficientemente de excel.
- Dos turnos de trabajo
- Varios usuarios.
Lo que he hecho:
- Siempre use excel para cálculos, gráficos en fin como una calculadora avanzada, ahora que es una base de datos lo que necesito me encontré con sus limitaciones y dificultades al hacer un formulario para hacer un control de manejo de datos.
Lo que quiero hacer:
- Base de datos modificable (sólo la información y su manejo el código debe ser modificado por personas seleccionadas).
- Auditable.
- Controlada por algún artilugio que me permita evadir la burocracia de ti, de hecho el runtime me pide la contraseña de usuario para instalarla en mi oficina y posterior en la de mis compañeros.
- Multiusuario.
- Generación de gráficos e informe.
Saludos.
Sé que lo que voy a decir puede levantar ampollas en expertos en Excel, pero es mi opinión. Excel es una hoja de cálculo, heredera del antiguo Lotus 1 2 3. Muy desarrollada en las últimas versiones, pero una hoja de cálculo. Access es un gestor de base de datos, heredera de Dbase 3, pero diseñada en su día para eso, gestionar datos. Quiero decir con esto que cada cosa es para lo que es. Al estar ambos, Excel y Access, hechos en VBA, te puedo garantizar que en Access se puede hacer exactamente lo mismo que en Excel. En excel tienes un montón de funciones, que no dejan de ser algo escrito en código al que le han puesto un nombre, por ejemplo, Buscar, que no deja de ser un Dlookup.
Respecto a lo que puntualizas
1º Personalmente, crearía un formulario de inicio, con permisos de ejecución, de forma que si el usuario es, por ejemplo, Carlos, sólo pueda acceder al formulario X, formulario Y para meter datos y nada más. Al usuario Pedro, formulario Z e informe A, etc.
Pondría contraseña en la ventana del editor de VB, ocultaría el entorno Access. En fin, varias cosas.
2º Este punto no lo entendí.
3º Este punto, el del runtime, no lo he probado, desde el Office 2003. Antes no pedía eso. Aquí no te puedo decir como es mi Office 16.
4º En eso no hay problema. Con ponerlo en red, pueden trabajar varios.
5º Te pongo un ejemplo antiguo y muy simple, donde en el mismo formulario podrías seleccionar el(los) año(s) para ver evolución
- Compartir respuesta
Como tu pregunta dice "necesito crear una base de datos---", la mejor opción en tu caso es Access, pero no te sirve el runtime, solo te va a permitir correr aplicaciones de Access más no realizar modificaciones al código, formularios, consultas etc.
Si sabes DAO o ADO puedes programar ACCESS desde EXCEL aunque es más dispendioso, también puedes conectar Excel con Access mediante ODBC y crear formularios en Excel para manipular la información, No solamente puedes manejar Access desde Excel, también puedes conectarlo con MYSQL, POSTGRESQL etc. En la Web encontrarás mucho material sobre esto. No obstante, si ya tienes una aplicación lista lo ideal es instalar el runtime de Access en cada pc como te lo sugieren.
Hola muchas gracias realmente lo que quiero es crear la base de datos con access en mi casa con mi ordenador y luego llevarla al trabajo para usarla alla el detalle es que instalar cualquier software implica permisos y dinero, el office que posee la empresa donde trabajo no cuenta con access, voy a leer el link que me sugieres. como lo dices hacer la BD con excel es dispendioso.
Descargue el ejemplo y funciona sin tener que instalar access pero ¿cómo modifico la información dentro de la base de datos sin access? el archivo solo hace una consulta.
Para modificar los datos de la base de datos lo puedes hacer con DAO o ADO, para adicionar un registro a una tabla ejecutas INSERT..., para eliminar DELETE..., para actualizar UPDATE. Estas son instrucciones SQL, si no sabes SQL debes hacer un curso practico, en la Web encontrarás muchos tutoriales. También puedes crear tablas y consultas y almacenarlas en la base de datos, pero vuelvo y te repito necesitas buenos conocimientos de VBA, SQL y por supuesto Excel.
Igualmente yo si que discrepo de la otra opinión si se trata de hacer las cosas de una mejor forma, mi experiencia me ha llevado a migrar el desarrollo con bases de datos en POSTGRESQL.
Si dices que tienes una base de datos robusta y vas a trabajar en RED yo no alojaría en un servidor una base de datos de Access toda vez que no es la mejor opción cuando vamos a tener varios usuarios conectados y la información crece notablemente, ahora si no puedes instalar nada por falta de licencias acude al código abierto, en este caso te recomiendo que pases tu base de datos a POSTGRESQL. Los pasos son:
1- En tu casa instala POSTGRESQL y crea la base de datos
3- Crea tus tablas en POSTGRESQL.
4- Conectas Access con POSTGRESQL mediante ODBC debes crear un DSN del sistema. Puedes trabajar con tablas vinculadas para que te quede más fácil. Si ya tienes las tablas en Access las puedes exportar a POSTGRESQL.
3- Crea la aplicación en Access (formularios, consultas y reportes) archivo mde o accde (depende de tu versión de Access) yo te recomiendo Access 2010 va muy bien con POSTGRESQL.
4- Cuando pruebes en tu casa y todo funcione bien, haces una copia de la base de datos POSTGRESQL. Esta es la que te vas a llevar para la empresa y la instalas en el pc que haga la función de servidor. Los pc's de la empresa tienen que tener igualmente el mismo DNS del punto 4.
5- Te llevas para tu empresa la base datos de Access archivo .accde.
6- Instala el Runtime de Access 2010 (Yo te puedo suministrar sin clave de instalación)
7- Instalas la aplicación de Access en cada pc de tu empresa.
Como lo explicado anteriormente se tu puede hacer algo complicado pero no es imposible, con gusto te puedo instalar en tu pc el POSTGRESQL y te hago un ejemplo practico enseñándote como se configura el POSTGRESQL y el Windows para el acceso de otros pc's, en este caso lo haría mediante el TeamViewer. Igualmente te puedo suministrar código ya listo para Re vincular las tablas desde Access con POSTGRESQL y para hacer el respaldo de la base datos.
Una de las grandes ventajas es que si la base de datos está en POSTGRESQL esa misma te sirve para utilizarla con Excel, Visual Studio y aplicativos WEB. Observa que todo lo anterior te acerca a una forma más profesional sin necesidad de abandonar Access como FrontEnd. Si deseas más explicaciones me puedes contactar en [email protected]
Discrepo mucho de otro concepto si de hacer las cosas mejor se trata. Utiliza código abierto, en este caso la base de datos en POSTGRESQL como BackEnd e instala Runtime 2010 para correr la aplicación de Access como FrontEnd, es la versión que mejor desempeño me ha dado. En [email protected] te puedo explicar como lo haces.
Hola ya le envie un correo y adjunte el archivo excel con el que inicie esto y le de una idea más amplia de lo que estoy haciendo, tiene algunos detalles lo verá cuando haga algunas pruebas sobre todo el formulario defectos. ¿puede darme un link de confianza para descargar POSTGRESQL?
Descárgalo de página oficial de este link:
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Selecciona la versión 9.6.11 de acuerdo con tu versión de Windows.
- Compartir respuesta