Access - Crear campo con nombre secuencial

 
Vista:
sin imagen de perfil

Crear campo con nombre secuencial

Publicado por Joe (6 intervenciones) el 22/08/2014 21:31:45
Hola a todos y gracias de antemano. Tengo un problema y no he encontrado en la web alguna solución.

Una base de datos de contactos se actualiza regularmente con nuevas actividades, a las que han asistido cada contacto. Me explico: un contacto puede haber asistido a 2 actividades y la semana siguiente asiste a otra. Este contacto entonces puede tener 3 actividades mientras otros tendrían 2 o 6, etc. Al actualizar sus datos se deben incluir las nuevas actividades.

Ahora bien, esto lo hago a través de un formulario de actualización (que no solo actualiza esta información, sino también nuevo numero de tlf, cambio de dirección, etc.). Para cada actividad nueva creo un campo en la tabla respectiva. Hasta aqui no tengo problema; la situación es que el nombre debe ser dado de manera secuencial, esto es, "Actividad1, Actividad2, ... y no encuentro como hacerlo. El campo he probado hacerlo por DAO y por SQL, sin problemas, pero lo de dar el numero secuencial me tiene trancado.

NOTA: la necesidad de esta forma de nombre en el campo es que al consultar a que actividades ha asistido tal o cual contacto la búsqueda se hace usando el nombre de cada campo. No creo tener problemas con el limite de campos (que creo que es 255) porque las actividades a lo sumo deberían ser no mayores a 100, en los años próximos...

Agradecería cualquier ayuda al respecto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Crear campo con nombre secuencial

Publicado por Joe (6 intervenciones) el 23/08/2014 06:04:28
Si es muy dificil o no se puede hacer, se me ocurrio otra idea, la cual tampoco se como implementar. Creo los campos y los nombro manualmente (actv1, actv2, actv3, ... y asi) y al momento de ingrsar la información hacer que la subrutina busque el primer campo vacio (segun el identificador del contacto) y coloque alli la información. De nuevo esto es porque los contactos tienen distinto numero de actividades asistidas.
Cualquier indicación de cualquiera de las 2 soluciones se las agradecería mucho. Saludos!
JM
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Crear campo con nombre secuencial

Publicado por deneg_nhj (348 intervenciones) el 27/08/2014 17:42:16
Estimado,

Y no te has visto la posibilidad de manejarlo por registros en lugar de columnas?


Saludos!
deneg_nhj
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Crear campo con nombre secuencial

Publicado por Joe (6 intervenciones) el 27/08/2014 21:40:20
Hola, gracias por tu respuesta. La verdad es que si lo pensé, pero me trastocaría toda la estructura de la base de datos, sin contar que sería demasiados registros por relativamente pocos campos en columnas.

Al final aplique la segunda idea: creé los campos y los nombre manualmente (actv1, actv2, actv3, ... y asi) y al momento de ingresar la información la subrutina busca el primer campo vació para ese registro y coloca allí la información. Sin embargo, la aplique de manera cavernicola, esto es, revisando cada campo a la vez! (If ... Then para cada campo!)

Funciona bien hasta ahora, debido a que por este año no debe haber más de 10 actividades por registro (10 campos de actividades) pero el año entrante las actividades (campos) se incrementarán y hacer la búsqueda del primer campo vacio uno por uno no es lo más limpio aparte que el código sería muy grande.

Por eso, lo que necesito es un manera que la subrutina busque automaticamente el primer campo vacio del registro en cuestion, y coloque alli la información, sin importar si es el 2do, 3er o 10mo campo vació. Hasta ahora no he hallado la forma de hacer esto con VBA o SQL: Cualquier ayuda en este sentido es altamente apreciada.
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar