Conversión de tablas, formularios e informes de Microsoft Access
Se aplica a: Access 2013, Office 2013
Varios cambios introducidos por Microsoft Access 2002 pueden afectar al comportamiento de la versión 1. aplicaciones x o 2.0. Las siguientes secciones ofrecen información acerca de esos cambios.
Índices y relaciones
Una tabla de Microsoft Access puede contener hasta 32 índices. Las tablas muy complejas que forman parte de muchas relaciones pueden exceder el límite del índice, con lo que no será capaz de convertir la base de datos que contenga estas tablas. El motor de base de datos de Microsoft Access crea índices en ambos lados de las relaciones entre tablas. Si la base de datos no se convierte, elimine algunas relaciones e intente convertir de nuevo la base de datos.
La propiedad LimitToList de los cuadros combinados
En Microsoft Access 2002 o posterior, los cuadros combinados aceptan valores Null cuando la propiedad LimitToList se establece en True (–1), independientemente de si la lista contiene o no valores Null . En la versión 2.0, un cuadro combinado que tuviera la propiedad LimitToList establecida en True no aceptaría un valor Null a menos que la lista contuviera un valor Null. Si se desea evitar que los usuarios indiquen un valor Null mediante un cuadro combinado, establezca la propiedad Required del campo de la tabla en Yes.
Menús y activación local de objetos OLE
Para que la funcionalidad adicional esté disponible al activar objetos OLE en su lugar, es posible que algunos comandos de menú se hayan movido a un menú que no se reemplace al activar un servidor OLE.
Las macros de la aplicación convertida que utilicen una acción EjecutarElementoMenú para ejecutar un comando de menú de la versión 2.0 al activar un servidor OLE, no se verán afectadas por los cambios. Los comandos de la versión 2.0 han sido relacionados con sus equivalentes de versiones posteriores de Microsoft Access.
Hacer referencia a un control en un formulario de solo lectura
En Microsoft Access 2002 o posterior, no es posible utilizar una expresión para hacer referencia al valor de un control en un formulario de sólo lectura que sea dependiente de un origen de registro en blanco. En las versiones anteriores, la expresión devolvería un valor Null. Antes de hacer referencia a un control en un formulario que sea de sólo lectura, debe asegurarse de que el origen del registro del formulario contiene registros.
Campos de fecha y entrada de datos
Si se indica 3/3 en un campo de tipo Fecha en una hoja de datos de un formulario o una tabla, el año actual se agrega automáticamente en Microsoft Access 2002 o posterior. Sin embargo, si se indica 3/3/ en el mismo campo, Microsoft Access devolverá un mensaje de error. Debe omitir el último delimitador de la fecha de forma que Microsoft Access pueda traducir la fecha al formato adecuado.
Botones creados con el Asistente para botones de comando
Si utilizó el Asistente para botones de comando en las versiones 2.0 o 7.0 de Microsoft Access para generar código que llama a otra aplicación, debe eliminar el botón y volver a crearlo usando el Asistente para botones de comando en Microsoft Access 2002 o posterior.
Módulos de clase de formulario e informe
En las versiones anteriores a Microsoft Access 2002, los objetos Form y Report tenían asociados módulos de clase incluso cuando no había código detrás del objeto. En Microsoft Access 2002 o posterior, puede establecer en False la propiedad HasModule del formulario o informe. Cuando la propiedad HasModule se establece en False, el formulario o informe ocupa menos espacio en disco y se carga más rápidamente porque ya no tiene asociado un módulo de clase.
El informe de la versión 2.0 convertida tiene márgenes diferentes
Puede que encuentre problemas cuando intente imprimir u obtener la vista preliminar de un informe de Microsoft Access 2002 o posterior que ha sido convertido desde Microsoft Access 2.0 si el informe tiene alguno de los márgenes establecido en 0. Cuando se convierte un informe de Microsoft Access 2.0, los márgenes no se establecen en 0; por el contrario, se establecen en el margen mínimo para la impresora predeterminada. Esto evita que el informe imprima datos en una zona de la impresora que no sea de impresión.
Para resolver este problema, reduzca el ancho de columna, el espacio entre columnas o el número de columnas en el informe, de tal forma que el ancho de las columnas más el ancho de los márgenes predeterminados sea igual o menor que el ancho del papel.
No se puede usar la propiedad Format para distinguir valores Null y cadenas de longitud cero
En las versiones 1. x y 2.0, puede usar la propiedad Format de un control para mostrar valores diferentes para valores Null y cadenas de longitud cero (" "). En Microsoft Access 2002 o posterior, para distinguir entre los valores Null y las cadenas de longitud cero en un control de un formulario, establezca la propiedad ControlSource del control en una expresión que compruebe el caso del valor Null. Por ejemplo, para mostrar "Null" o "ZLS" en un control, establezca su propiedad ControlSource en la siguiente expresión:
=IIf(IsNull([MyControl]), "Null", Format([MyControl], "@;ZLS"))