Convertí una base de datos de 97 Access a Access 2013 de 32 bits. La base de datos ahora falla en Windows 7 pero funciona bien en Windows 2012 R2.
Si copio la base de datos a la PC, la primera vez que se abre la base de datos, no fallará, pero sí cada vez que siga.
Esta consulta siempre bloqueará Access en Windows 7 pero no en Windows Server 2012:
UPDATE BatchHdr SET BatchHdr.RecCount = Val(Nz(DCount("[EntryID]","BatchDtl","[BatchID] = " & [BatchID]),0)), BatchHdr.Errors = Val(Nz(DCount("[EntryID]","BatchDtl","[Er] is not null and [BatchID]=" & [BatchID]),0)), BatchHdr.Warnings = Val(Nz(DCount("[EntryID]","BatchDtl","[Warning] is not null and [BatchID]=" & [BatchID]),0)), BatchHdr.NeedsChecked = IIf(DCount("[BatchID]","BatchDtl","[Checked] = false and [BatchID] = " & [BatchID])>0,True,False) WHERE (((BatchHdr.Status)<>"Exported" And (BatchHdr.Status)=[Forms]![BatchHeader]![MyStatus])) WITH OWNERACCESS OPTION;
No puedo entender cómo hacer que esta base de datos funcione en Windows 7. Intenté ejecutar Access en modo de compatibilidad y no fallará inicialmente, pero lo hará después de 1 o 2 aperturas.
Se debe utilizar el acceso de 32 bits debido a que se utiliza el código vba de 32 bits.
Recibo un mensaje de error:
APP NAME: MSACCESS.EXE
FAULT MODULE: OLEAUT32.DLL
FAULT MODULE VERSION: 6.1.7601.18679
EXCEPTION CODE: C0000005
Respuesta1
Parece que podría ser un problema de caché que Windows 7 no puede manejar.
encontré una guíaaquíeso explica cómo borrar el caché de acceso al cerrar.
- Haga clic en Archivo > Opciones > Base de datos actual
- Desplácese hasta la "tabla de servicios web de almacenamiento en caché y puntos compartidos"
- Marque "Usar el formato de caché que sea compatible con Microsoft Access 2010 y versiones posteriores".
- Marque "Borrar caché al cerrar"
- Haga clic en Aceptar"
- Reinicie Access para que los cambios surtan efecto.
Esto debería evitar que Access falle cuando se abre o se vuelve a abrir.