Problema de la función Delphi al usar el acceso
Este puede ser el efecto del modo sandbox (la función StrReverse también se encuentra entre ellos). Consulte la siguiente base de conocimientos.
Para ayudar a mejorar la seguridad de los datos, puede optar por ejecutar Access en Modo caja de arena 2003. En el modo Sandbox, Access evalúa solo aquellas expresiones seguras en las propiedades y controles de los campos. Una expresión se considera segura si no utiliza funciones o propiedades que un usuario malintencionado podría utilizar para acceder a unidades, archivos u otros recursos a los que no está autorizado. Por ejemplo, las funciones Kill y Shell pueden usarse para dañar datos y archivos en su computadora y, por lo tanto, se consideran inseguras. Las expresiones que llaman a estas funciones o propiedades generarán mensajes de error al ejecutar Access en modo sandbox.
Para obtener una lista de funciones y propiedades que están bloqueadas en el modo sandbox, consulte Funciones y propiedades bloqueadas en el modo sandbox.
Nota El modo Sandbox no afecta el código de Visual Basic para Aplicaciones (VBA) en los archivos. El código firmado digitalmente se ejecutará independientemente de si Access está en modo sandbox, incluso si contiene funciones o propiedades deshabilitadas. Las funciones y propiedades no seguras están deshabilitadas solo en expresiones como valores predeterminados, fuentes de control o declaraciones SQL.
Utilice Microsoft Jet Expression Service para implementar el modo sandbox para evaluar expresiones. Microsoft Jet 4.0 Service Pack 8 (SP8) o posterior permite que Access sea completamente funcional y al mismo tiempo permite que Jet deshabilite expresiones no seguras habilitando el modo sandbox. Sin embargo, el servicio Jet Expression no forma parte de Access. Debe descargar e instalar Microsoft Jet 4.0 Service Pack 8 (SP8) o posterior para habilitar el modo sandbox.
Notas Las actualizaciones importantes de Windows incluyen Jet 4.0 SP 8, por lo que al instalar todas las actualizaciones importantes de Windows se instalará automáticamente la última versión de Jet en su computadora.
Importante La instalación de la última versión de Jet no habilita automáticamente el modo sandbox. Cuando inicia Access después de instalar un paquete de servicio o una actualización crítica de Windows, se le pedirá que desactive las expresiones no seguras. Al hacer clic en Sí se activará el modo sandbox y se evitará que se evalúen expresiones no seguras.
Si habilita el modo sandbox sin tener instalado Jet 4.0 SP 8 o posterior, algunas funciones no funcionarán. Por ejemplo, el asistente no se iniciará y verá el siguiente mensaje: "Esta función no está instalada o ha sido deshabilitada".
Es posible que el asistente no se haya iniciado.
Las centralitas creadas con Switchboard Manager no funcionarán correctamente.
No puedes utilizar la acción de macro RunCode para llamar a un procedimiento de Visual Basic para Aplicaciones (VBA).
Los controladores de eventos que llaman a procedimientos VBA no funcionarán correctamente.
Los procedimientos VBA invocados en páginas de propiedades o utilizados en sentencias SQL no funcionarán correctamente.
Las siguientes funciones de VBA no funcionarán correctamente cuando se llamen desde una página de propiedades; esto también ocurre cuando se usan en sentencias SQL:
FormatCurrency
FormatDateTime.
NúmeroFormato
PorcentajeFormato
InStrB
InStrRev
NombreMes
Reemplazar p >
StrReverse
WeekDayName
Para obtener más información sobre cómo instalar la última versión de Jet, consulte Acerca de Microsoft Jet 4.0 SP8 o posterior (en inglés). Para obtener más información sobre cómo habilitar el modo sandbox y conocer las limitaciones y soluciones del modo sandbox, consulte Preguntas frecuentes sobre las advertencias de seguridad de Access (en inglés).
Para obtener más información sobre el modo sandbox en versiones anteriores de Jet, consulte el siguiente artículo de la base de conocimientos: ACC2002: Jet 4.0 Expression puede ejecutar funciones no seguras de Visual Basic para Aplicaciones.
Solución: consulte las instrucciones en inglés
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode
0 El modo Sandbox está deshabilitado por completo veces.
1 El modo Sandbox se usa para aplicaciones de Access, pero no para aplicaciones que no son de Access.
2 El modo Sandbox se usa para aplicaciones que no son de Access, pero no para aplicaciones de Access. Este es el valor predeterminado.
3 El modo Sandbox se utiliza en todo momento.