Actualizaciones Automáticas

Hola a todos! Alguien podría decirme cómo hacer un sistema de actualización automético para todos aquellos cambios realizados en tablas, consultas, formularios, etc. Incluso si alguno de éstos objetos fue eliminado. La idea es que por medio de este sistema de actualizaciones pueda dar una mejor y más rápida respuesta a mis clientes. ¿Alguna idea?. En verdad me urge. Gracias de antemano.

1 Respuesta

Respuesta
1
Mmm. Yo lo suelo hacer de otra forma, y es que el formulario de inicio, cuando se abre ejecuta un evento que lo que hace es comprobar si el último campo que he añadido o cambiado al diseño existe en la parte de datos. Si no existe es señal de que es la primera vez que se ejecuta esta parte front end contra una versión antigua del backend, y entonces hago las actualizaciones mediante código.
Esa es la idea, si te interesa nos metemos en faena.
Y en cuanto a lo de hacerlo por internet, no se me ocurre una forma fácil.
La obvia es dividir la base de datos en dos. Una de ellas contiene los datos, y habitualmente no la tocas. En la otra dejas los formularios, consultas, informes, macros y en lugar de las tablas de datos le pones tablas vinculadas al primer mdb.
De este modo puedes actualizar el mdb de formularios tantas veces como quieras sin afectar a los datos que tiene el cliente.
Antes que naga, gracias por contestar. En efecto, tengo la base dividía en 2 una con tablas únicamente y otra con las tablas vinvuladas con los demás objetos (forms, querys, etc). Lo que me gustaría hacer es poder actualizar no sólo la base de datos de servicio sino también la base de datos (back end) que contiene únicamente las tablas, esto lo necesito porque eventualmente añado nuevos campos a las tablas. Por otra parte deseo saber si es posible hacer estas actualizaciones vía internet ya que enviar un archivo mdb por correo electrónico es muy tardado o aveces imposible por el tamaño del archivo. Espero ahora si haber planteado bien mi pregunta.
Saludos y gracias de antemano
Veo a lo que te refieres y me parece que tienes razón en la forma en que me dices que lo puedo hacer. Ya tengo un código que verifica que las todas tablas estén vinculadas y si no, las revincula el problema es que no se meocurre cómo agregar campos a las tablas de la backend en el arranque del módulo frontend. Si me pudieras dar alguna orientación al respecto te lo voy a agradecer. Es decir, si te parece nos metemos a la faena. P.D. no se si me explique bien
Gracias en verdad me ha sido de gran utilidad
Pues la verdad es que tampoco es tan complicado. Para crear campos en las tablas tienes dos opciones, a saber
1- Mediante sentencias SQL. Es el método más simple, pero tiene limitaciones. Por ejemplo
currentdb.execute "ALTER TABLE SB_SO60 ADD COLUMN NIF_SO60 TEXT(9)"
Crea un nuevo campo de nombre NIF_SO60 en la tabla SB_SO60 de tipo texto y longitud 9. Inconvenientes: Siempre crea el campo al final de la tabla.
Tienes sentencias sql para eliminar campos, modificarlos, crear índices, etc.
2-Mediante VBA. Más complicado, pero te permite hacer casi cualquier cosa, incluyendo crear los campos por en medio de las tablas, p.ej. Un ejemplo sería
sub ejemplo
dim db as database,tdf as tabledef,fld as field
set db=currentdb
set tdf=currentdb.tabledefs("SO60")
set fld=tdf.createfield("NIF_SO60",dbtext)
fld.size=9
tdf.fields.append fld
end sub
Hace lo mismo, como verás es más largo, pero desde el momento en que tienes el nuevo campo almacenado en la variable fld y hasta que lo añades en la tabla, puedes asignarle propiedades (requerido, máscaras, formato...) y también puedes cambiarle la posición dentro de la tabla. (Ah, por cierto, para que funcione, desde el editor de vba, menú Herramientas/Referencias comprueba que tienes activa la Microsoft DAO 3.6 Object Library o superior)
Mmmm mucha cosa. Mira a ver qué te parece. En la ayuda tienes bastante documentación ahora que ya sabes por donde van los tiros.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas