Access - Error en Macro evento posterior de actualización de Tabla

 
Vista:
sin imagen de perfil

Error en Macro evento posterior de actualización de Tabla

Publicado por Ruyman (1 intervención) el 03/03/2014 19:06:22
Holaa a todos,

Subo esta consulta a ver si me podéis ayudar y ver qué estoy haciendo mal.

He hecho una base de datos simple en access 2010, para llevar un control de tesorería de mi empresa, con la capacidad de exportar los registros a Microsoft Outlook, para llevar un control del calendario de las previsiones de pagos y cobros, tanto en Outlook, como en Calendar de Gmail.

Funciona bien, pero en el querer mejorarla, me he encontrado un escollo.

Básicamente esta bbdd se trabaja desde la tabla movimientos, donde se crean los registros de ingresos o gastos, que posteriormente mediante la consulta "CamposOutlook" y las macros "CrearRegistrosOutlook" y "ActualizarRegistrosOutlook", tendrán el formato para ser importados en el calendario de Microsoft Outlook y a través de éste al Calendar de Gmail, mediante la importación de la tabla llamada "Outlook". Hasta ahí me funciona perfectamente.

A medida que iba trabajando y creando más registros (ya iba por los mil y pico registros), me daba cuenta, que cada vez que hacía una importación del archivo access (de la Tabla "Outlook") en el calendario de Microsoft Outlook, se importaban obviamente todos los registros y hacía que la tarea de importación en el calendario se volviera tediosa. En ese momento me di cuenta que tenía que crear una tabla (a la que llamé "OutlookCalendar"), en la que se crearan los nuevos registros o aquellos que se habían actualizado de la Tabla "Outlook", de tal manera que cada vez que después de que importara en el Calendario de Microsoft Outlook los registros de la tabla "OulookCalendar", los eliminara manualmente, para que estuviese la tabla limpia, para recibir los nuevos registros o aquellos actualizados y así reducir el tiempo de importación, pues la importación la realizo 1 vez en semana. Esta parte ya no me ha funcionado.

Explico cuál es el error concreto:

Mediante una macro anidada en la Tabla "Oulook", de evento posterior a la actualización, le estoy diciendo al sistema que, SI el campo "ExportadoOutlookCalendar" de la Tabla "ControlExportaciones" es verdadero y el campo "EliminadoOutlookCalendar" de la Tabla "ControlExportaciones" es verdadero, O SI, el campo "ExportadoOutlookCalendar" de la Tabla "ControlExportaciones" es verdadero y el campo "EliminadoOutlookCalendar" de la Tabla "ControlExportaciones" es falso, me busque un registro en concreto en la Tabla "OutlookCalendar" y me lo actualice y que si no cumple ninguna de estas condiciones, me cree un registro nuevo en la Tabla "OutlookCalendar".

La expresión la he generado con el generador de expresiones de tal manera que sería así:

[ControlExportaciones].[ExportadoOutlookCalendar]=Verdadero Y [ControlExportaciones].[EliminadoOutlookCalendar]=Verdadero

Sin embargo, cada vez que abro la bbdd me da error, pues la macro Autoexec, desencadena la creación o actualización de registros en la Tabla "Outlook" que es la encargada de crearlos o actualizarlos en la Tabla "OutlookCalendar".

El error es el siguiente: nº 8987

No se encontró el identificador '[ControlExportaciones].[ExportadoOutlookCalendar]'.

y el Context:

Bloque If [ControlExportaciones].[ExportadoOutlookCalendar]=True And [ControlExportaciones].[EliminadoOutlookCalendar]=True, [ControlExportaciones].[ExportadoOutlookCalendar]=True And [ControlExportaciones].[EliminadoOutlookCalendar]=False

No sé, si es que está mal expresado la Tabla y el Campo, o es que no se puede hacer referencia a campos de otras Tablas en macros anidadas a una Tabla.

He probado de mil maneras: con signo igual después del Si, con dobles comillas, comilla simple, con paréntesis, sin corchetes, yoo que sé... mil, pero nada.

Nota: Si la condición es que 1+1=2, la macro funciona bien. También funciona bien, si el campo "EliminadoOutlookCalendar" y el campo "ExportadoOutlookCalendar", estuviesen dentro de propia Tabla "OutlookCalendar", pero esta opción no es viable, pues se produce un error cíclico (Siempre estaría actualizándose).

Espero me podais ayudar, pues la verdad esta bbdd me está sirviendo de mucha utilidad, con la salvedad de la lentitud en la importación de todos los registros a origen.

Muchas gracias,

Ruymán

Adjunto la base de datos, así como 2 archivos JPG con pantallazos de la duda en cuestión y con el error en cuestión, para que se entienda mejor
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