December 2008 - Artículos

Vincular Vistas de Sharepoint desde Access 2007

Si desde Access 2007, en vez de vincular una Lista de Sharepoint, vinculamos una Vista de ésta, obtenemos claras ventajas, la más evidente limitar el tráfico de datos por la red a los que realmente queremos, pero también otras bastante interesantes, como restringir los datos a los del usuario registrado en el sitio Sharepoint. Sin embargo, los asistente de Access sólo facilitan vincular Listas, debiendo recurrir al método TransferSharePointList para poder conseguirlo.

La misma ayuda de Access sobre TransferSharePointList nos informa de cómo obtener algunos de los paramátros necesarios:

Para obtener el identificador GUID de una lista o una vista del sitio de SharePoint puede utilizar el procedimiento siguiente:

  1. Abra la lista de Windows SharePoint Services.
  2. Si no se muestra la vista que desea, haga clic en la flecha desplegable Ver y, a continuación, seleccione la vista deseada.
  3. Haga clic en la flecha desplegable Ver y, a continuación, seleccione Modificar esta vista.

    La dirección de la barra de dirección del explorador contiene los identificadores tanto de la lista como de la vista. El identificador GUID de la lista sigue a List=, y el de la vista sigue a View=. Sin embargo, en la dirección, cada carácter { (abrir llave) se representa mediante la cadena %7B, cada carácter - (guión) mediante la cadena %2D, y cada carácter } (cerrar llave) mediante la cadena %7D. Por ejemplo:

    http://MySite12/_layouts/ViewEdit.aspx?List=%7B2A . . . 7D&View=%7B357B4FE6 . . . 1579B%7D

    Para poder utilizar los identificadores GUID de la dirección como argumentos de esta acción de macro, primero debe reemplazar cada cadena %7B por el carácter {, cada cadena %2D por el carácter - y cada cadena %7D por el carácter }. No incluya el carácter & (y comercial) que sigue a la cadena %7D en el identificador GUID de la lista.

(Me he permitido recortar la URL que la ayuda usa de ejemplo para que me quepa mejor y porque, en el mismo ejemplo de la ayuda, ya la URL está truncada al final)

Le faltan unas imágenes que ayuden un poco ¿no? Pues se las ponemos:

image    image

Seguir las instrucciones “a mano alzada”, cortando y pegando con el ratón y editando una cadena tan larga, se hace aguantando la respiración y, al final, casi seguro que sale mal (a mí nunca me ha salido bien). Pero para seguir instrucciones al pie de la letra está la programación y en Access contamos con VBA, así que me he hecho el siguiente procedimiento que sólo necesita que copiemos la URL y se la pasemos como cadena de texto:

 

'---------------------------------------------------------------------------------------
' Procedure : VincularVistaWSS
' DateTime  : 30/12/08 20:36
' Author    : Chea
' Purpose   : Vincula una Vista de Sharepoint a partir de una URL
'             Para vincular una Vista de Sharepoint, debemos, en primer lugar, ir al
'             sitio de Sharepoint, a la página de configuración de dicha vista y copiar
'             la URL completa: Esa URL, delimitada por comillas, es el argumento que
'             debemos pasar a esta función en el parámetro CadenaURL
'---------------------------------------------------------------------------------------
'
Public Sub VincularVistaWSS(CadenaURL As String, Optional NombreTabla)

Dim GUIDList As String
Dim GUIDView As String
Dim strSite As String
Dim v As Variant, V2 As Variant, V3 As Variant, i As Integer
Dim stTmp As String

' "Traducimos" caracteres de la cadena URL
CadenaURL = Replace(CadenaURL, "%7b", "{")
CadenaURL = Replace(CadenaURL, "%7d", "}")
CadenaURL = Replace(CadenaURL, "%252E", ".")
CadenaURL = Replace(CadenaURL, "%252F", "/")
CadenaURL = Replace(CadenaURL, "%253A", ":")
CadenaURL = Replace(CadenaURL, "%2D", "-")

' Obtenemos la segund parte de la URL, desde el aspx?
v = Split(CadenaURL, "aspx?")
stTmp = v(1)

'Obtenemos las distintas secciones, que van separadas por "&"
v = Split(stTmp, "&")
For i = 0 To UBound(v)
    V2 = Split(v(i), "=")
    If Trim(V2(0)) = "List" Then
        GUIDList = V2(1)
    End If
    If Trim(V2(0)) = "View" Then
        GUIDView = V2(1)
    End If
    If Trim(V2(0)) = "Source" Then
        strSite = V2(1)
        V3 = Split(strSite, "/Lists/")
        strSite = V3(0)
    End If
Next i

' Vinculamos la vista
DoCmd.TransferSharePointList acLinkSharePointList, strSite, GUIDList, GUIDView, NombreTabla

End Sub
Publicado por Chea con 2 comment(s)
Archivado en: ,

Office Live Small Business en español

Desde hace tiempo está disponible una versión de Office Live Small Business en español, concretamente para México. Los servicios de pago están disponibles para empresas mexicanas, pero la parte “free” es de libre acceso, lo cual es una gran noticia para los hispanohablantes. Yo ya me había acostumbrado a las opciones y menús en lengua hereje, pero sigue sin gustarme que en mi sitio web determinados módulos, por ejemplo formularios, muestren irremediablemente encabezados,expresiones y formatos en inglés. La nueva versión lo traduce todo al español.

Al entrar en la página de Office Live Samll Business, la opción de país predeterminada es Unites States, pero al lado tenemos un botón “Change”. Al pulsarlo, podemos elegir país entre une breve relación de ellos en la que, sólo recientemente, aparece México.

imageclip_image001image

 

Lo había observado hace no sé si una o dos semanas, pero, al cambiar, sólo la página de presentación se mostraba en español y, al entrar en mi sitio, todo seguía en inglés. Probé  con una de esas viejas cuentas de prueba, cancelé la cuenta de Office Live y, con el mismo Live ID creé una nueva, que seguía con todo en inglés.

Ayer creé una cuenta nueva de Hotmail y, esta vez sí, al crear una cuenta de Office Live en México, todo aparecía en español. Es decir, por cambiarnos de país no se “traduce” nuestro sitio, ni si seguimos usando el Live ID que había usado previamente, pero si creamos una cuenta nueva con un ID sin estrenar, podremos tener nuestro sitio completamente en español.

No todo son buenas noticias. Intento hacer un backup desde mi sitio en inglés y restaurarlo en español y obtengo un mensaje de error de que no es posible hacer un Restore con una configuración de idioma distinta.

Publicado por Chea con 5 comment(s)
Archivado en: ,