UTNianos

Versión completa: Consulta sobre base de datos access
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola gente, les hago una consulta que por ahi alguno con mas experiencia me la puede contestar. Estoy haciendo un desarrollo en VBA, donde guardo aprox 1500 registros con 9 o 10 campos c/u, en una base de datos access, para luego hacer consultas con SQL. El tema es que no se que es mas eficiente, si guardar todos los registros en una sola tabla, o generar una tabla nueva por cada dia (es un ejemplo, puede ser por semana tambien)

La idea es consultar por ejemplo, el maximo que alcanzo un registro en un mes. Espero haberme expresado bien y gracias de antemano !
SAludos
¿se generan 1500 registros por día? mmmm... es un número grande. yo creo que tu problema es que elegiste un motor equivocado para manejar tanta información.
aunque yo hice un sistema en access para gestión de alumnos y guarda muchísima información (al año son 6500 registros de 10 campos, solamente de las notas. sumale las inasistencias, datos de alumnos, sanciones, etc). la diferencia está en que es crecimiento se da en forma lenta. vos vas a tener un crecimiento tremendo por día.

yo descartaría la opción de armar una tabla nueva por día, porque después puede ser un lío controlarlas, o hacer consultas sobre varios días y ese tipo de cosas. lo de una tabla por semana podría ser, aunque tenés que tener cuidado qué nombre le ponés a cada tabla para que sea fácil de encontrar y que no se confundan.
pero igual, no me gusta para nada la idea de crear tablas nuevas. además crear una tabla nueva desde VB usando access no es algo trivial. el motor de access tiene muchísimas limitaciones.

no se me ocurre una solución copada para darte, pero yo empezaría analizando la posibilidad de cambiar de motor. un SQL Server va como piña, pero también podés recurrir a alguno gratuito como MySQL o PostgreSQL. y ahí podés meter todo en una tabla, simplificando tu vida.
Lo más conveniente es guardar los registros siempre en la misma tabla, y si querés, cada una semana o cada un mes, o cada un tiempo T, ejecutás un stored que copie los registros de la última semana / mes / tiempo T a una nueva tabla histórica, que lleve la fecha de cuando se creó, por ejemplo, y que los borre de la tabla original, para hacerla más liviana. Esto se puede hacer incluso automático en los DBMS, y se llaman JOBs. Lo sé hacer en SQL Server, no sé si Access tendrá la opción, aunque sinceramente no lo creo.
Así, el programa nunca necesita conocer las nuevas tablas.

Lo más conveniente sería que te pases a otro sistema antes de implementarlo. Podés usar SQL Server Express que seguramente debe permitirte hacer todo esto que te digo.

Saludos!
Bueno, gracias por la ayuda, me decidi a meter todo en una tabla. Tengo que usar access si o si porque es corporativo, en el sector que estoy yo usualmente no se hacen desarrollos asi que es lo unico que hay por tener un par de maquinas con Office instalado.

Gracias por la data !
Saludos
URLs de referencia