Microsoft Office Online
Iniciar sesión en Mi Office Online (¿Qué es esto?) | Iniciar sesión

 
 
Ayuda y procedimientos
Buscar
Buscar
 
 
 
 
Advertencia: está viendo esta página con una versión de explorador de Web no compatible. Este sitio Web funciona mejor con Microsoft Internet Explorer 6.0 o posterior, Firefox 1.5 o con Netscape Navigator 8.0 o posterior. Obtener más información acerca de los exploradores admitidos.

Versión imprimibleVersión imprimible Marcar y compartirCompartir
Plantilles de taulesi plantilles de Sharepoint a Access 2007
 

Publicat: 4 de juny de 2007

Per José Bengoechea Ibaceta (Chea) - MVP Access

Entre tants enginyers, jo em considero un paleta del software. No sóc informàtic ni de professió ni de formació; sóc funcionari, la meva formació és humanística i sóc autodidacte. Tanmateix hi entenc bastant de l’ofici a base de molta experiència perquè, durant anys, Access ha estat el meu gran amor, la meva eina en el treballi la meva secretària. A la meva joventut, després d'alguna divagació amb GWBasic, vaig viure un romanç apassionat amb QuickBasic, una relació freda i formal amb dBase, vaig començar a festejar amb VB i, finalment, em vaig casar amb Access.

Aplicaciones
Access 2007

A Access 2007 disposem d'una sèrie de plantilles per crear taulesespecífiques amb tots els seus camps amb només un parell de clics de ratolí. També disposem de plantilles per crear directament llistes de Sharepoint de la mateixa manera. Si ens hi fixem, comprovarem que totes dues llistes de plantilles coincideixen gairebé per complet i, com veurem més endavant, això no és per casualitat. També veurem que usar les plantilles ens proporciona més funcionalitats que la simple creació automàtica d'una taula

WSSTemplateID i WSSFieldID

Ja havíem esmentat en un article anterior que, quan creem una taulausant la plantilla de "Contactes", tenim la possibilitat d'afegir funcionalitats d'importar o exportar des de "Contactes" d'Outlook utilitzant les ordres acCmdAddFromOutlook i acCmdSaveAsOutlookContact o les macros equivalents.

També havíem vist que la taulatenia una propietat anomenada WSSTemplateID amb valor 105 i que gairebé tots els camps de la taulatenia una propietat WSSFieldID que indica amb quin camp de la plantilla es corresponen. Les taulescreades amb la plantilla tenen aquestes propietats però també les podem assignar a les taulesque vulguem usant VBA i obtindrem el mateix resultat. Passarà el mateix amb la resta de les plantilles? Ho podem provar.

Podem crear una taulaa partir de la plantilla "Esdeveniments" i, després, comprovar les propietats WSSTemplateID i WSSFieldID utilitzant el codi següent:

Public Function fPropCampos(Tabla As String) As String
Dim i As Integer
Debug.Print "Plantilla: " &
CurrentDb.TableDefs(Tabla).Properties("WSSTemplateID")
For i =0 To CurrentDb.TableDefs(Tabla).Fields.Count -1
  On Error Resume Next
  Debug.Print
CurrentDb.TableDefs(Tabla).Fields(i).Properties("WSSFieldID")
  Err.Clear
Next i

End Function

Si cridem la funció passant el nom de la taula, tot seguit obtindrem a la finestra la relació següent:

Plantilla: 106
Title
EventDate
EndDate
Location
Description
Attachments

És a dir, que sí que existeixen aquestes propietats en les altres plantilles de taula però, per a què serveixen? El prefix WSS del nom de les propietats ens dóna una pista: Es refereixen a Windows Sharepoint Services; és a dir, que són plantilles de llista i plantilles de camp de Sharepoint. Més endavant provarem de crear una llista de Sharepoint usant les plantilles i veurem que, quan l’importem, té les mateixes propietats que la taula que hem creat en Access més alguna altra propietat específica de Sharepoint, però, de moment ens centrarem en la utilitat d’aquestes propietats a la taulaque hem creat a Access.

Podríem pensar que, de la mateixa manera que ho fem amb els contactes, hauria de ser possible exportar/importar dades de la nostra taulad'esdeveniments o de tasca al seu equivalent d'Outlook, però no és així. Esperem que es consideri aquesta possibilitat en futures versions.

Principi de la pàgina

Provar la nostra taula a Sharepoint

Tanmateix, si disposem d'un servidor Sharepoint, sí que podem trobar-hi alguna utilitat. Exportar la nostra taula és bastant senzill,

Només cal elegir l'opció corresponent en l'opció "Llista de Sharepoint", del grup "Dades externes" de la cinta d'opcions, o, encara més senzill, usar el menú contextual que apareix en polsar amb el botó dret del ratolí sobre la taula que volem exportar, com es mostra en la imatge superior. Després només cal indicar-li a l'assistent a quin lloc de Sharepoint volem ubicar la llista.

Quan obrim la llista que hem creat en exportar la nostra taulaveiem que Sharepoint l'ha tractat d'una manera especial: Ha reconegut que es tracta d'un calendari i ens la mostra en una vista que recorda molt al calendari d'Outlook.

Connectar amb Outlook

Hem dit Outlook? Vaja, sembla que es posa interessant... Veiem que entre les possibles accions tenim la de connectar amb Outlook. Doncs provem-ho:

Quan seleccionem l'opció, l'assistent ens obre Outlook i ens pregunta si volem connectar el calendari

Naturalment, diem que sí, Eureka! ja tenim el calendari afegit a Outook. El provarem ara mateix afegint-hi una cita

Després de refrescar la nostra finestra de Sharepoint, comprovem que la cita que acabem d'escriure a Outlook ja és visible des del lloc.

És a dir, que podem tenir sincronitzat el nostre calendari d'Outlook amb el de Sharepoint. Però estàvem parlant d'Access. Està sincronitzat el calendari amb la nostra taulad'Access? Evidentment, aquest no ja que hem exportat la taula de manera que la nostra BD no guarda cap relació amb la llista de Sharepoint. Però podem provar de vincular-la i això és la que farem.

Vincular la llista de Sharepoint a Access 2007

Esborrem i ens oblidem de la taulaEsdeveniments de la nostra BD d'Access i vinculem la llista de Sharepoint amb el mateix nom que estem manejant. Amb els assistents és molt fàcil.

Quan obrim la taulavinculada, veiem que ja és visible la nostra anotació i, a més, provarem de posar-n’hi una altra

A Sharepoint els canvis es reflecteixen quan refresquem la finestra

I en Outlook? També! Le voilá!

Encara hi ha més. En l'Outlook, podem posar, per exemple, alarmes i a Sharepoint podem fer que se'ns notifiqui per correu electrònic cada vegada que la nostra llista canviï i, com que la tenim vinculada des d'Access, significa que modificant la taulaesdeveniments des d'Access, es generaran alarmes a Outlook i s'enviarà un correu d’avís des de Sharepoint.

Altres plantilles

De manera semblant hauria passat si en comptes d’Esdeveniments, haguéssim exportat Tasques. Sharepoint l'hauria tractat d'una forma especial, amb una vista específica, i podríem haver-la connectat amb les tasques d’Outlook.

D’altres plantilles, encara que no tinguin connectivitat amb Outlook, continuen tenint un tractament específic a Sharepoint, ja que precisament es tracta d'això, de plantilles de Sharepoint, per a les quals aquesta aplicació té preparades vistes específiques.

Més plantilles de Sharepoint

Les plantilles de Sharepoint no es limiten a les que apareixen en els desplegables d'Access 2007. Quan creem una llista des del lloc de Sharepoint tenim bastantes més possibilitats i, si les exportem a Access 2007 i comprovem les seves propietats com fèiem al principi, veurem que totes elles tenen les propietats WSSTemplateID i WSSFieldID especificades.

Aquí tenim unes quantes plantilles de Sharepoint amb el valor del seu WSSTemplateID

WSS Template ID Template
100 Custom List
101 Document Library
102 Survey
103 Links
104 Announcements
105 Contacts
106 Events
107 Tasks
108 Discussion Boards
109 Picture Library
112 User Information
115 Form Library
119 Wiki Page Library
120 Custom List in DataSheet View
150 Project Tasks
1100 Issue Tracking

originals, sense que hàgim hagut d'intervenir, la qual cosa ens tranquil•litza: encara que les nostres taulesa Access no incloguin aquests camps, ja els crearà Sharepoint quan els necessiti. Si, des d'una taulaimportada d'una llista, creem un formulari automàticament, veurem que la majoria d'aquests camps addicionals no es mostren al formulari. L'explicació és que tenen una altra propietat encara: ColumnHidden = True i l'assistent la té en compte a l'hora de generar el formulari.

Hi ha altres camps que no coincideixen i que sí que es mostren quan es crea el formulari. Es tracta de camps que no són d'ús intern però que a Access tenen menys funcionalitat, per exemple, perquè no existeix una eina per mostrar el calendari d'esdeveniments.

Conclusions

Les plantilles de taulesd'Access són alguna cosa més que simples assistents per crear unes quantes taules: afegeixen a aquestes taulesuna sèrie de propietats que seran útils per integrar-les amb altres aplicacions i són indicadors d’una major integració en el futur.

desenvolupadors en Access, hem de començar a conèixer Sharepoint. D'una banda, s'està convertint en eix de la integració entre les diferents aplicacions d'Office, per una altra, com a back-end d'Access afegeix a aquesta aplicació una gamma de possibilitats fins ara impensables.

publicidad