¿Cómo controlar vencimientos en Access?

Tengo un nivel digamos medio en Access, programando para uso propio bases de datos en la gestión de propiedades familiares. Bases de datos desarrolladas a lo largo de los años con la inestimable ayuda de los desinteresados expertos que afortunadamente abundan en la web, más que conocidos por cualquiera que se haya interesado mínimamente en Access.

Estoy teniendo dificultades para plantearme el tema del control de la periodicidad de las obligaciones tributarias o de pagos de las diferentes propiedades, cuestión que siempre había llevado externamente con un sencillo cuadrante u hoja excel y que a la hora de trasladar a Access me está resultando muy difícil de plantear.

Tenemos diferentes tablas con los datos de esas Propiedades, control de ingresos/gastos a través de otra/s tablas y multitud de consultas, formularios e informes, así como tabla con las obligaciones periódicas de esas propiedades, pero la cuestión es disponer de un formulario en el que tenga, bien individualizado por propiedad o por periodo, el estado de esas obligaciones de pago y el siguiente periodo de obligación, con o sin cantidades, eso es complementario porque podría enlazarlo con otras tablas.

En resumen:

Tengo diferentes Propiedades (de la 1 a la 10) que tienen unas obligaciones de pago (IBI, Basuras, luz, gas, seguro, etc) unas mensuales, otras bimensuales, otras trimestrales y otras anuales, diferentes para cada Propiedad y también con fecha de pago diferente y mi deseo es disponer de la información periódica de las obligaciones de pago futuras o pendientes de cumplimiento, no me interesa tanto las cumplidas porque ya dispongo de esos datos en otras tablas digamos de cuentas.

¿Cómo puedo componer un formulario que me permita conocer mis obligaciones de pago próximas y aquellas que no haya cumplido? Lo ideal sería que ese formulario fuera por periodo, con respecto a todas las Propiedades y obligaciones y me muestre las pendientes de cumplir.

Partiendo de lo que tengo, he creado una nueva tabla de Obligaciones en la que los campos son Propiedad (proviene de otra tabla) y Obligación (proviene de un campo de esa tabla misma tabla en la que se van señalando las opciones de obligaciones que provienen de una tercera tabla, mediante un campo multivalor).

Pienso que, por una parte, esta nueva tabla Obligaciones debería actualizarse al modificar en un formulario Propiedades, el campo multivalor de Obligaciones, de manera que esa tabla Obligaciones mantuviera siempre los registros de obligaciones activas, ya que es una tabla de “control de obligaciones futuras”. Esto no lo he conseguido todavía con Consulta de Anexar porque no he llegado a encontrar la fórmula para “añadir” solo las nuevas obligaciones, sin modificar las que ya existen en la tabla Obligaciones.

Y después está la necesidad de introducir las fechas de vencimiento de esas obligaciones y mostrarlas conjuntamente en un formulario, bien por periodos, bien por propiedades.

Agradecería una idea general del planteamiento a seguir. Mi estado laboral (70) me permite dedicarle tiempo al aprendizaje y al desarrollo, pero también me dificulta la claridad que otros más activos probablemente podrán aportarme.

1 respuesta

Respuesta
-1

Si el problema esta en no repetir registros, eso lo soluciona un índice.

En el caso de que lo actualicen de forma cíclica y conjunta se supone que lo harán en la misma fecha, el índice impedirá la duplicidad en el caso de una inserción masiva.

El índice debería contemplar la propiedad + el concepto + la fecha + (aquí estará algún otro concepto como puede ser el importe calculado/aproximado pero no lo considero necesario para el índice).

Los vencimientos: acostumbran a ser repetitivos, podrán variar algo en la fecha en el caso de los impuestos, pero día +/- siguen siendo cíclicos y las variaciones si suponen un problema se resuelven sobre la marcha.

Pregunta: ¿Esto no lo soluciona una contabilidad clásica? ... En ella generado un gasto se programan los plazos.

Con los datos ya en una tabla, se filtran por periodo con una consulta en la que se solicite un intervalo de tiempo.

Gracias por la rápida respuesta, aunque no he tenido tiempo disponible para asimilar las recomendaciones de Enrique, nunca desacertadas.

 En mi extensa solicitud de ayuda al planteamiento, señalaba como primera dificultad:

Pienso que, por una parte, esta nueva tabla Obligaciones debería actualizarse al modificar en un formulario Propiedades, el campo multivalor de Obligaciones, de manera que esa tabla Obligaciones mantuviera siempre los registros de obligaciones activas, ya que es una tabla de “control de obligaciones futuras”. Esto no lo he conseguido todavía con Consulta de Anexar porque no he llegado a encontrar la fórmula para “añadir” solo las nuevas obligaciones, sin modificar las que ya existen en la tabla Obligaciones.

Enrique me ha dado la instrucción clara de utilizar un índice y realizar el anexado de nuevos registros teniéndolo en cuenta, pero, me he equivocado al expresar en el último párrafo repetido “sin modificar las que existen en la tabla Obligaciones”.

La cuestión es que tanto si una obligación ha nacido como si otra ha cesado, al actualizar en la tabla Propiedades el campo multivalor de Obligaciones, esa modificación sí se tendría que actualizar en la tabla Obligaciones, que es una tabla de “control de obligaciones futuras”, de manera que al eliminar las obligaciones en ese campo multivalor podamos “borrarlas” de la tabla Obligaciones porque ya no las vamos a necesitar, pero las nuevas las tendremos que “dar de alta” y estarán activas hasta que las demos de baja y el resto, las que no modificamos, habremos de mantenerlas con los antecedentes que tengan en esa tabla Obligaciones.

Eso es lo complicado, al menos en el planteamiento que yo me hago, por eso he acudido a la ayuda de personas con experiencia que me puedan recomendar un planteamiento diferente.

Estoy partiendo de un campo multivalor en una tabla (Propiedades) y pretendo que, al modificar los valores de ese campo en esa tabla, me modifique los valores de la tabla Obligaciones, pero me mantenga los datos de las Obligaciones no modificadas que ya existen en esa tabla Obligaciones.

¿Podría necesitar una tercera tabla de Periodificación de las obligaciones, enlazada con la de Obligaciones a través de la Propiedad y la Obligación?, aunque queda la segunda dificultad enlazada.

En cuanto a la segunda dificultad: “Y después está la necesidad de introducir las fechas de vencimiento de esas obligaciones y mostrarlas conjuntamente en un formulario, bien por periodos, bien por propiedades”, a la que Enrique ha comentado, “Los vencimientos: acostumbran a ser repetitivos, podrán variar algo en la fecha en el caso de los impuestos, pero día +/- siguen siendo cíclicos y las variaciones si suponen un problema se resuelven sobre la marcha”. Perfecto, pero si tengo una Obligación (digamos pago bimestral del suministro de electricidad), ¿cómo programo esa obligación en el futuro?, por ejemplo a un año vista, ¿cómo introduzco esa periodificación en la tabla Obligaciones para que en un formulario/informe pueda ver el cumplimiento de esa Obligación en un periodo futuro?.

Los pagos de esa obligación puedo obtenerlos de una tabla Cuentas en el que aparezcan todos los ingresos y pagos (filtrando por Propiedad, Obligación y quizás fecha), pero el plazo del siguiente pago periodificado ¿cómo lo introduzco de manera automática?

Enrique comenta “Pregunta: ¿Esto no lo soluciona una contabilidad clásica? ... En ella generado un gasto se programan los plazos.” Y yo he interpretado que se refiere a pagos aplazados, es decir a la distribución del importe a pagar en varios plazos en fechas futuras, y lo que yo planteo es cómo puedo colocar en un formulario/informe las fechas futuras de obligación de nuevos pagos, no del aplazamiento de un pago.

No sé la forma de hacerlo y me gustaría hacerlo en Access, como el resto de la gestión, aunque la solución debe ser algo relacionado con lo comentado por Enrique, “programando los plazos”, aunque esos plazos sean, de momento, infinitos hasta que cese la Obligación.

En fin, quizás sea yo muy rebuscado, pero al carecer de experiencia compartida y no encontrar en los canales que habitualmente utilizo y disfruto para mejorar mi programa, una solución similar, ni incluso comentarios similares, es por lo que he acudido a esta comunidad con la seguridad de que alguien está resolviendo el mismo problema, quizás con otro planteamiento diferente al mío.

Muchas gracias nuevamente Enrique y comunidad de TodoExpertos.

Resumo:

Necesito conocer de un vistazo (formulario/informe) el nivel de cumplimiento de mis Obligaciones periódicas de pago, con detalle de las Obligaciones pasadas cumplidas y de las Obligaciones futuras que voy a tener que cumplir.

Para dar de alta/baja las diferentes Obligaciones, utilizo un campo multivalor de una tabla llamada Propiedades (tabla 1).

La tabla Obligaciones (tabla 2) contiene el resto de los campos de trabajo (Empresa Suministro, Periodicidad de la Obligación, Fecha primer pago)

Creo que el último párrafo lo he dejado incompleto: "La tabla Obligaciones (tabla 2) contiene el resto de los campos de trabajo (Empresa Suministro, Periodicidad de la Obligación, Fecha primer pago)" 
Debiendo puntualizar que además tiene un campo Id Autonumérico, el campo Propiedad y el campo Obligación, campos éstos últimos que la relacionan con las tabla Propiedades (tabla 1) y con la tabla Obligaciones (tabla 3, que detalla cada una de éstas).

Un consejo: los problemas se resuelven de uno en uno 'sin perder de vista a todo el conjunto'

Apareció un elemento que rompe el planteamiento: campos multivalor.

No los uso, los asocio a una sub-tabla que admite como contenido 'cualquier cosa' y que normalmente -dado que habitualmente se usa para añadir objetos complejos (fotos, documentos de texto con formato o PDFs)- provocan mas problemas que beneficios.

Yo los vencimientos los 'veo' como un conjunto que aúna diversas procedencias pero todas del mismo tipo, solo hay que añadirles 'marcas' que permitan diferenciar los subgrupos y que -sin perder su propiedad de ser 'únicos' no dejan de ser dependientes y poder agruparse (los plazos de una compra, las compras de un miembro, las de esa familia, las de ... ).

Generada esa tabla, se crea el índice que evitara repeticiones y si se diera el caso de insertar un elemento que ya existe lo impedirá (y si en lugar de impedirlo lo sobrescribiese no seria mas que un refresco de los mismos valores).

Para este uso, una tabla con los detalles es mas que suficiente, en ella los datos que no se puedan obtener de las dependencias (los IDs de las tabla con la que se relaciona), datos que dependen del resto de la aplicación y con los que tendrá que convivir (por eso se utilizan los IDs).

Al respecto de los pagos: hay pagos previsibles y pagos imprevisibles (los imprevisibles son aquellos que se sabe 'cuando', pero no 'cuanto'), estos se pueden estimar, por ejemplo en el consumo cíclico de electricidad se conoce el importe de la parte fija y la variable puede estimarse en base al histórico (del histórico s toma el mismo mes, un año -o dos y se promedia-), se tienen en cuenta las mejoras (cambios de tecnología, ¿LED?) Y se el aplica el precio del Kw que en estos tiempos es imprevisible.

Desconociendo el entorno para el que se crea la aplicación es complicado plantear alternativas, solo planteamientos empíricos que alguna vez aciertan.

Siento mucho que quizás la extensión de mis comentarios sobre mis dudas y solicitud de ayuda hayan despistado al experto que desinteresadamente se ha brindado a ayudarme.

También siento mucho tener que responder de esta forma a su última respuesta, que al no ir firmada, y por su contenido, dudo mucho que pueda ser de Emilio Feijóo, al que agradecí su respuesta de 07/07/22, sobre la que respondí el 09 y 10/07/22 intentando clarificar mis planteamientos y necesidades sobre la elaboración en Access de un formulario/informe que me permitiera de un vistazo “el nivel de cumplimiento de mis obligaciones periódicas de pago, con detalle de las obligaciones pasadas cumplidas y de las obligaciones futuras que voy a tener que cumplir”.

Finaliza el experto su respuesta del 12/07/22 diciendo: “Desconociendo el entorno para el que se crea la aplicación es complicado plantear alternativas, solo planteamiento empíricos que alguna vez aciertan”; pues bien, en mi solicitud de ayuda creo que explico claramente el “entorno“ (línea 2 del primer párrafo: “gestión de propiedades familiares”; segundo párrafo: “control de la periodicidad de las obligaciones tributarias o de pago de las diferentes propiedades que siempre había llevado externamente con un sencillo cuadrante…”; párrafo tercero: “ disponer de un formulario en el que tenga, bien individualizado por propiedad o por periodo, el estado de esas obligaciones de pago y el siguiente periodo de obligación…”; en el párrafo cuarto y quinto, después de la expresión “En resumen”, se vuelve a detallar y concretar “el entorno” y “mis necesidades” con meridiana claridad).

            Y empieza el experto en su respuesta del 12/07/22 con el consejo de que “los problemas se resuelven de uno en uno ‘sin perder de vista a todo el conjunto’”, a lo que debo puntualizar que precisamente por eso siempre he puesto de manifiesto cuál era “mi planteamiento” y detallaba las dos dificultades que me encontraba en su desarrollo y la posibilidad de que otro usuario tuviera “otro planteamiento” diferente llevado a la práctica.

            Pero lo que más me llama la atención es el segundo párrafo de ésta respuesta de 12/07/22: “Apareció un elemento que rompe el planteamiento: campos multivalor” y he de señalar que en mi pregunta inicial está clara y repetidamente señalado (párrafo seis o tercero después de “En resumen” en el que se dice “en la que se van señalando las opciones de obligaciones que provienen de una tercera tabla, mediante un campo multivalor”; párrafo siguiente: ·el “campo multivalor de Obligaciones”), por tanto no “ha aparecido” en mi respuesta a Emilio Feijoo de 09/07/22.

            En el tercer párrafo y refiriéndose a los campos multivalor me informa que “no los uso, los asocio a una sub-tabla que admite como contenido ‘cualquier cosa’ y que normalmente -dado que habitualmente se usa para añadir objetos complejos (fotos, documentos de texto con formato o PDFs- provocan mas problemas que beneficios. Contrariamente Microsoft en sus webs de ayuda, dice que los campos multivalor son campos que admiten varios valores y que esa estructura de datos se denomina una relación de varios a varios, pero nunca imaginé que en dicho campo pudieran añadirse objetos complejos, como sí ocurre con los campos de “Datos Adjuntos”, como se expresa, si no he entendido mal, en el párrafo transcrito.

Continúa mi experto señalando la forma de añadir ‘marcas’ a los vencimientos, cuando lo que yo le planteo repetidamente es ¿cómo puedo visualizar en conjunto los vencimientos periódicos partiendo de una tabla de Propiedades en la que tengo las diversas “obligaciones de pago” que tiene cada una y la “periodicidad” de las mismas. Es decir, cómo genero ese “conjunto”, no cómo lo manipulo después.

Sobre el penúltimo párrafo de la respuesta del experto de 12/07/22, “al respecto de los pagos”, creo que en mi pregunta la única referencia al “importe” de esas obligaciones de pago es en el tercer párrafo de mi solicitud inicial de 07/07/22, en el que comentaba ”la cuestión es disponer de un formulario en el que tenga, bien individualizado por propiedad o por periodo, el estado de esas obligaciones de pago y el siguiente periodo de obligación, con o sin cantidades, eso es complementario porque podría enlazarlo con otras tablas”, cuestión que se confirma en el párrafo siguiente de dicha solicitud. También en mi respuesta de 09/07/22 en el párrafo décimo menciono que “los pagos de esa obligación puedo obtenerlos…” e insisto en el mismo que lo que necesito es “… el plazo del siguiente pago periodificado ¿cómo lo introduzco de manera automática?” o sea, que me interesa la introdución de “las fechas” no “los importes”.

 Espero respuesta a estos comentarios para calificación definitiva de la respuesta de 12/07/22.

En cualquier caso, gracias por el esfuerzo de responder, y mis disculpas porque en este caso probablemente “el bosque no ha permitido ver los árboles” por la extensión de mis explicaciones y aclaraciones.

Ante la falta de cualquier respuesta, me veo en la obligación de cambiar el sentido de mi votación.
Creo que un "experto" debe tener suficiente experiencia y aptitud para reconocer la realidad.

Soy Enrique Feijoo (creo que solo el autor del hilo puede postear en la respuesta):

Lamento la falta de respuestas que has obtenido, el foro ha perdido la 'cualidad' de avisar que hay respuestas (o al menos yo no recibo las notificaciones).

Que me votes o voten para mi carece de importancia ni busco ni necesito aplausos, solo intento aportar mi experiencia, pero en ningún caso hacer el trabajo de otros.

Reconozco que no he leído con detalle ni he 'masticado' la abundante exposición, solo he respondido a la primera duda (o lo que como tal interprete) por eso en mi anterior respuesta comienzo con:

Un consejo: los problemas se resuelven de uno en uno 'sin perder de vista a todo el conjunto'

Suerte en tu búsqueda de soluciones pero insisto en lo mismo: DIVIDE Y VENCERAS no agobies con las exposiciones (los demás, aunque lo regalen, también valoran su tiempo).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas