השילוב בין SharePoint ו-Access מאפשר לפרסם את בסיס הנתונים של Access ברשת באמצעות SharePoint.

ניתן להעלות בסיס נתונים של Access באופן חלקי או מלא ל-SharePoint וליישם בכך פתרון מבוסס דפדפן המאפשר למשתמשים גישה מרחוק לבסיס הנתונים. הטבלאות ב-Access מומרות לרשימות (SharePoint Lists). המידע בטבלאות מומר לפריטים ברשימות. לאחר מכן, טבלאות ה-Access מוחלפות בטבלאות מקושרות (Web Tables). לאחר העלאת בסיס הנתונים ל- SharePoint יישום ה-Access פועל כרגיל מלבד העובדה שהמידע מאוחסן ברשימות SharePoint. יישום Access שהועלה ל-SharePoint נקרא web database.

הבדלים בין יישומים

קיימים הבדלים בין חלוקת יישום ה-Access לחלק קדמי (ממשק, טפסים, שאילתות, דוחות ועוד) ואחורי (טבלאות נתונים) להעלאת היישום ל-SharePoint:

  • SharePoint אינה מסד נתונים יחסי
    • Access ו- SharePoint דומות מאוד במענה שהן נותנות לבעיות עסקיות, אבל SharePoint בניגוד ל-Access אינה מערכת מסד נתונים יחסי. למרות ש-SharePoint מבוססת על SQL Server המידע בה מוצג בצורת רשימות שאינן דומות לטבלת SQL . יש לכך השלכות על אופן מימוש פתרון ב- Access העתיד להיות מפורסם ברשת בעזרת SharePoint.
  • פונקציונליות
    • הגרסה העדכנית של Access מאפשרת לייצא את בסיס הנתונים ל-SharePoint בקלות ומהירות ללא צורך בהעלאת קבצים, הגדרות אבטחה, קביעת תצורת שרת אינטרנט ועוד. למרות זאת, לא כל הפונקציונאליות של Access נשמרת בהמרה ל- SharePoint ומענה לכך צפוי להינתן בעתיד.
  • אבטחה
    • בפיתוח יישום רגיל Access ניתן להמיר ולהפיץ אותו כקובץ הרצה .(accde) באופן זה המשתמשים אינם יכולים לשנות את עיצוב היישום. SharePoint אינה תומכת בפורמט זה. בסיס הנתונים זמין ב-SharePoint בפורמט accdw שאינו מאובטח וניתן להורדה ושינוי על ידי המשתמשים. הגרסה העדכנית של Access כוללת web tables הדומות ל- SharePoint Lists, אבל קיימים ביניהם הבדלים משמעותיים. מכיוון ש-SharePoint אינו מסד נתונים יחסי ו- SharePoint Lists משקפות זאת, נדרש לעבד את המידע ולבצע אופטימיזציה של הפעולות השונות באופן אחר ממסד נתונים יחסי הכולל Linked Tables. רשימות אינן מנורמלות, פריטי רשימה נשמרים בטבלה אחת בבסיס הנתונים של SQL Server. טבלה נוספת מכילה את הגדרות הרשימה ומיפוי השדות שלה לעמודות. למעשה, SharePoint Lists מבוססות על מודל ישות-תכונה-ערך. בעבר הרשימות היו פשוטות וכללו ערכים בלבד ללא שלמות קשרים (Referential integrity). לרשימות לא היה מבנה פורמלי שאפשר להתייחס לרשימות אחרות.
  • טפסים (web forms) ודוחות (web reports)
    • ניתן להעלות טפסים ודוחות ל-SharePoint, אך נדרש לעצב אותם כך שיתאימו לתצוגה ברשת. Web forms  ו-Web reports ניתנים לשימוש דרך SharePoint או דרך Access. לא ניתן להציג טפסים (client forms) ודוחות רגילים (client reports) ב-SharePoint, אך הם ניתנים לשימוש על ידי הלקוח ביישום ה-Access.
  • Data macros
    • Data macros ב- Web database מורצים על ידי SharePoint ולא Access. מכיוון שהקוד פועל באופן שונה ב-Access ו- SharePoint נדרש לבצע בו התאמות. העובדה ש-Data macros מורצים על ידי SharePoint מאפשרת לעדכן את רשימות SharePoint ללא שימוש ביישום Access . על מנת להבטיח את שלמות הנתונים ה-macros צריכים לרוץ ללא תלות בפלטפורמה בה בוצע עדכון הנתונים.
  • שימוש בקוד VBA
    • לא ניתן לעשות שימוש בקוד VBA ב-SharePoint. בטפסים או דוחות שהועלו ל-SharePoint יש להמיר מודולים של VBA ל-Macros. עבור יישום קיים ב-Access המשמעות היא פיתוח הטפסים/דוחות מהתחלה.
  • מספר עמודות מקסימלי
    • בעבודה עם Access  ומקור מידע מסוג ODBC (כמו SQL Server) ניתן להגדיר טבלאות עם מספר שדות רב. ב- SharePoint  לכל רשימה ניתן להגדיר מספר קבוע של שדות מסוג מסוים.  במידה ונדרשים יותר שדות מסוג מסוים SharePoint תשמור את המידע במספר שורות. על מנת לשפר את ביצועי המערכת במקרים אלה יש לצמצם ככל הניתן את מספר השדות.
  • אופן הרצת שאילתות
    • ביצירת קשר של Access עם מקור מידע מסוג ODBC , Access שולחת שאילתת SQL שמורצת ע"ג השרת. השרת מחזיר את תוצאת הרצת השאילתה ל-Access. ביצירת קשר של Access עם SharePoint בפעם הראשונה, Access שומרת את כל הרשומות מ-SharePoint בספריה מקומית ומריצה את השאילתה באופן מקומי על ידי מנוע מסד הנתונים של Access. בהמשך Access מבצעת סנכרון של המידע עם SharePoint. אין פתרון פשוט לביצוע סינון נתונים בצד השרת.

 יתרונות השימוש ב- SharePoint Lists לעומת טבלאות מקושרות ב-Access

  • שכפול מובנה: כאשר חיבור של משתמש לרשת מתחדש, מתבצע סנכרון נתונים ללא צורך בהגדרות מיוחדות כפי שנדרש במקרה של שימוש ב- Access Jet Replication.
  • שינויי עיצוב: בעבודה עם טבלאות מקושרות ב-Access שינויי עיצוב (כגון הוספת שדה וכד') נדרשים שינויים באפליקציית Access ותוכנת ניהול השרת (SQL Server Management). בעבודה עם SharePoint השינויים מתבצעים במלואם ב-Access.
  • ניהול גרסאות אוטומטית: SharePoint כוללת תמיכה מובנית בניהול גרסאות ושיחזור נתונים. בכל פעם שפריט נמחק ב- SharePoint Lists הוא מועבר לסל מחזור. גם לאחר מחיקת הפריט מסל מחזור הוא מועבר לסל נוסף של מנהל המערכת כך ששחזור נתונים הוא תמיד אפשרי. בנוסף לכך SharePoint תומכת בניהול גרסאות של פריטים ברשימות (מסמכים וכד') ומאפשרת לנהל מעקב אחר השינויים שמבוצעים בהם.

 בחירת פתרון מיטבי לעסק 

על מנת לבחור בחלופה הטובה ביותר לעסק יש לבחון את הצרכים העסקיים של הלקוח. מכיוון ש- Web Database שונה מהותית ממסד נתונים רגיל של Access Client Database ניתן לבצע זאת בהתאם לשאלות הבאות: 

  • האם נדרש שהממשק יוצג בדפדפן או שתהיה גישה לאפליקציה מרחוק?
    • כלומר, האם לבחור בפתרון של Web Database או בפתרון של מסד נתונים רגיל של Access שיפעל ע"ג הרשת. קיימים פתרונות המאפשרים גישה מבוזרת לבסיס הנתונים באמצעות Access. לדוגמה: שרת מבוסס RDBMS, שימוש ב-SharePoint כשרת או שימוש בטכנולוגית שרת-מסוף. שיטות אלו מאפשרות שימוש ע"ג רשת בעלות זולה יותר ביחס למימוש Web Database. בנוסף לכך Access מאפשר גמישות רבה יותר בתהליך הפיתוח שלהן.
  • האם נדרש שכל האפליקציה תהיה זמינה לשימוש ברשת או רק חלקה?
    • ברוב המקרים נדרש שלמשתמשים תהיה גישה לחלק מהיישום והמידע. Access Services מאפשר להוסיף תכונות שלא היו זמינות בעבר ליישום Access. לא תמיד זה מעשי לדרוש ממשתמש להוריד למחשב יישום Access ולהתקין Access Runtime על מנת לבצע פעולה פשוטה. דרישות אלו מגבילות את המשתמש בשימוש ביישום בסביבות עבודה שונות.
  • מי יהיו המשתמשים במערכת? מה הם יעשו? מהם דרישות האבטחה בעבורם? 
    • Access Services דורשת הזדהות של המשתמש ולכן פתרון זה אינו נותן מענה לצורך בו המשתמשים במערכת הם אנונימיים (לדוגמה: מערכת למילוי סקרים ברשת). במידה  וקיימות מספר קבוצות של משתמשים במערכת שלכל אחת יש לאפשר גישה לחלק אחר במערכת ניתן ליישם פתרון משולב של Access Services ויישום Access.
  • האם יהיה שימוש בתכונות נוספות של SharePoint?