Nadie ha respondido a esta discusión durante un año o más, por lo que es posible que esta información esté desactualizada. Si está buscando información sobre este tema, busque una discusión más reciente o publique una pregunta nueva.

Error al sincronizar Access con SharePoint

Esta pregunta no está respondida Esta pregunta no está respondida

Estoy construyendo una aplicación de Access para publicarla en SharePoint.


Verifico que no tenga errores de compatibilidad, y esta se publica sin problemas en SharePoint.


Pero al tratar de usar el sitio correspondiente se me genera un error asociado a una macro incrustada a nivel de campo de un formulario.  La función de dicho macro es que a partir de un formulario de hoja de datos, el usuario le de click al código y se le abra el formulario de edición en el registro correspondiente.


La macro en mención abre el formulario con base a este Where


[IdProducto]=[Formularios]![Lista Productos]![IdProducto]


En la versión local funciona sin problemas, pero en la versión web me indica este error:


El objeto no contiene el objeto 'IdProducto'.


Nombre de macro:
Lista Productos : IdProducto : OnClick : Macro insertada
Condición:
Nombre de acción:
OpenForm
Argumentos:
Productos, '=IdProducto=' + Access.Actions.GetFormItemValue('Forms!Lista Productos!IdProducto',true) + '', Edit, Dialog
Número de error:
2766

y luego de esto verifico en la versión local, y donde antes me funcionaba bien ahora luego de la sincronización me indica


Compruebe que no haya errores en el parametro Forms!Lista Productos!IdProducto


A alguien le ha pasado algo similar??

Alguna idea de como evitar el error??




Todas las respuestas
  • Hola,

    ¿Cómo estás creando la macro para Access? Recuerda que sólo puedes usar la nueva MACRO XML de Access 2010 especifica para BD Access Web...cualquier otro tipo de macro no está permitida en los servicios de Access por lo que aunque te funcione en local, no lo va a hacer en SharePoint.

    Saludos

  • Usé la interfaz de Access directamente: me coloqué en el campo del formulario, le di click a propiedades, escogí eventos, ahí el evento click, y en el asistente escogí abrir formulario y con complete los campos con la ayuda del mismo asistente.

    Entiendo que ese es el procedimiento correcto, o me equivoco?

  • estos son los pasos detallados de lo que he hecho:


    1. Abro el formulario, escojo el campo, activo el panel de propiedades y busco el evento "al hacer click"


     


    2. Con la ayuda del asistente creo la macro y la guardo



    3. Verifico que la macro hace lo esperado, al hacer click en un ID me abre el formulario de edición con el dato asociado al ID



    4. Verifico la compatibilidad de la aplicación y la publico en SharePoint.   Se publica con éxito y todo el resto opera como se esperaba, menos esta funcionalidad.


    Alguna sugerencia??

  • Hola,

    El proceso que has seguido es el correcto...¿sólo te pasa con esa macro o también con otras?

    Saludos

  • Esta es la única macro que uso que involucra formularios, el resto son macros de base de datos y operan sin error.

    Busque información al respecto y se hace énfasis en que debo usar expresiones completas tipo [Formularios]![Nombre Formulario]![Nombre Campo]  pero ya el asistente se encarga de eso.

    Por lo cual me extraña que luego de publicado, lo que antes me servía a nivel local ahora no solo me falle en Sharepoint sino que localmente reciba este mensaje de error que ya había indicado antes:

    Compruebe que no haya errores en el parametro Forms!Lista Productos!IdProducto

  • Hola,

    Que te falle en SharePoint y no en local no es raro porque todo lo que tienes en Access se tiene que convertir a objetos en el mundo SharePoint...en el caso de la macro, te la convierte a código JavaScript...¿qué navegador estás usando? ¿has revisado si ese formulario en concreto presenta algún error de JavaScript en la página?

    Saludos

  • Usualmente uso la última versión de Chrome, pero ante tú pregunta lo he verificado en otros navegadores

    En Explorer 9 y Safari se comporta igual que en Chrome.

    En Mozilla no sucede nada al darle click al ID, y por lo tanto el error no se muestra.

    En los 4 anteriores puedo usar el resto de funcionalidad como insertar, modificar, borrar, etc.

    En Opera no opera esa página, solo de muestra un mensaje de que se está cargando.  El resto de paginas operan bien.

    En ningún explorador indica algún tipo de error en la página.

  • Hola,

    ¿Tienes un IE 7 u 8 a mano para probar? IE 9 no es compatible 100 % con SharePoint Online.

    Un saludo

  • Hola. Perdonad por la intromisión.

    ¿Porqué no Pruebs a pasar primero el valor de IdProducto a una variable local y luego usar esa variable local en el criterio al abrir el formulario?

     

    <?xml version="1.0" encoding="UTF-16" standalone="no"?>
    <UserInterfaceMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application"><UserInterfaceMacro For="Nombre" Event="OnDblClick"><Statements><Action Name="SetLocalVar"><Argument Name="Name">LocalID</Argument><Argument Name="Expression">[idProducto]</Argument></Action><Action Name="OpenForm"><Argument Name="FormName">Productos</Argument><Argument Name="WhereCondition">[IdProducto]=[LocalVars]![localID]</Argument><Argument Name="DataMode">Edit</Argument><Argument Name="WindowMode">Dialog</Argument></Action></Statements></UserInterfaceMacro></UserInterfaceMacros>

     

     

  • :-) No es intromisón Chea, que para eso eres un experto en Access ...gracias por el aporte,

    Un saludo