Nox escribió:
Yo lo primero que te diría, es que si se va a hacer tan grande uses una base de datos en vez de excel. Excel no está hecho para tratar con grandes cantidades de datos, terminas con unos archivos ENORMES y lentos como trasatlánticos, cosa que no te va a pasar con una base de datos.
+1
Una base de datos está optimizada para trabajar con tablas de datos, así que siempre será más rápida y eficiente.
japbcn escribió:
Pero con todo, los usuarios siguen teniendo acceso a las hojas de Excel, que puedo proteger en cada caso, pero he pensado en trasladar el VBA a otra plataforma para hacer el programa general, (que se va ampliando cada dia), a... Visual Basic?
Lo más directo y sencillo sería que trabajases en Access, el lenguaje es el mismo y las posibilidades para informes, validación de datos, menús, etc... mucho mayores. Con ODBC puedes trabajar con datos centralizados (ni siquiera tiene que ser Access la base de datos) y tener la interfaz en los clientes en Access.
japbcn escribió:
He mirado el Visual Studio, pero ahí está el C++, El Visual Basic y otros que no conozco.
C++ es un lenguaje de nivel más bajo que Visual Basic, para hacer lo mismo necesitas muchísimo más código. La ventaja es que permite optimizar todo mucho más... pero a menos que vayas a diseñar el programa que desbanque al Photoshop no le veo demasiado sentido.
japbcn escribió:
En breve me interesará poder "volcar" datos de paginas Web y basicamente tratar los datos, hacer estadisticas, etc...
Access tiene bastante funciones para hacer informes, te lo hará todo más fácil. No acabo de entender la idea de "volcar" datos de páginas web, ¿te refieres a importar información de Internet?, ¿o al revés, a crear una interfaz web para tu aplicación?.
Si este es el caso quizás podrías plantearte migrar progresivamente la aplicación a LAMP (Linux, Apache, MySQL y PHP) u otro servidor web. No es más complejo que trabajar en VBA, yo diría más sencillo y muchísimo más simple que el C++. Y sí mucho más flexible para crear aplicaciones accesibles por muchos usuarios desde cualquier ordenador.
Un paso intermedio sería crear tu base de datos en MySQL (o similar) y acceder a ella por ODBC desde una interfaz Access. Mientras vas refinando la base de datos y probando la interfaz web sobre la misma base de datos (o mejor una copia para pruebas
). Muchas aplicaciones corporativas, por no decir la inmensa mayoría hoy en día son aplicaciones web que se acceden en una Intranet o desde Internet.
No soy un experto programador, pero trabajo con aplicaciones web y he participado en el desarrollo de algunas. No se si conoces algo de programación web pero no es complicado, aunque pueda parecerlo al principio. Puedes bajarte un entorno de desarrollo completo y hacerlo correr en tu propio ordenador para probar antes de lanzarte a configurar un servidor dedicado.
http://www.easyphp.org
En realidad es muy simple. Yo no controlo gran cosa PHP o Phyton, aunque todo es ponerse
en mis tiempos opté por una opción menos popular (porque era propietaria y no Open Source) pero muy sencilla de aprender, Coldfusion. Ahora hay una versión libre de Coldfusion que se llama Railo y es igual de simple. También tienes una instalación para Windows que trae todo lo necesario para configurar un servidor de desarrollo en tu ordenador.
http://www.getrailo.org
La ventaja (y desventaja) de Coldfusion (o CFMX que es como se llama el lenguaje) respecto a PHP o Phyton es que mezcla las funciones para acceder a la base de datos con el código HTML para diseñar la interfaz. Esto lo hace super-simple para aprender pero bastante "desordenado" para programadores avanzados.
Si tienes conocimientos previos básicos de HTML o de cómo funciona un servidor de páginas web puedes aprender suficiente código y SQL como para crear tu primera aplicación en una tarde. Es bastante simple una vez entiendes cómo funciona.
Básicamente creas tu base de datos, la enlazas con el servidor por ODBC o similar, y creas tus páginas .CFM que contienen código HTML y funciones de acceso a la base de datos. Normalmente las páginas son o bien para introducir datos (formularios, como en Access), o bien para mostrarlos (como las consultas e informes de Access).
japbcn escribió:
Visual Basic 2010 es el que me ha parecido mas adecuado ya que tendrá que actuar en muchos PC que siguen con Windows XP y a los que les costará tiempo cambiar a 64 bits.
La gran ventaja de pasarte a desarrollar tu aplicación como aplicación web es justamente esa, son muy fáciles de actualizar y ampliar, sólo requieren de un navegador y un ordenador muy básico para que los usuarios accedan y pueden hacerlo desde cualquier parte (que tú permitas).