Chapter 35: Deploying Access Applications to SharePoint
1175
Primary key constraints
All primary keys must be AutoNumber fields. Access Services uses long integers exclusively as pri-
mary keys, so if any table contains a primary key that is not a long integer, you must update the
table accordingly.
Lookup field issues
Foreign key fields in child tables are called lookup fields in Access Services, or at least, Access
Services uses lookup fields to reference the primary keys in parent tables. This means that a lookup
field (a foreign key field in a child table) must be one of the following data types: Text, Date/Time,
Number, or Calculated field that returns a text value.
A lookup field used to form a relationship to another table can be a value list (a hard-coded list of
values). If you choose to use a value list for a lookup field, the value list must contain at least one
item. This means that you must include a dummy value in the value list if you plan to populate the
lookup list with code at runtime.
The source table for a lookup list (that is, the parent table) must exist when the Access application
is published to SharePoint. You won’t be able to create the parent table at runtime and backfill the
foreign key values after building the parent table.
An expression used to populate a lookup field list must reference a single table. You can’t use an
expression that includes more than one table.
Form and report errors
Most errors reported by Compatibility Checker are caused by differences in the controls used on
Access forms and reports and their Web equivalents. Access features a rich set of form and report
controls, and only a subset of those controls are supported on the Web.
Unsupported form controls
Certain controls are not compatible with the Web. These controls are ActiveX, Chart, Hyperlink,
EmptyCell, Image, FrameLine, OLEDocument, OptionButton, OptionGroup, PageBreak, Rectangle,
and ToggleButton. The acceptable controls are CheckBox, ComboBox, CommandButton, Form,
FormDetail, FormFooter, FormHeader, Image, Label, ListBox, NavigationButton, Navigation Control,
Page, Subform, TabList, TextBox, and WebBrowser. If your forms use any of these controls, you’ll
have to redesign the forms to remove these controls.
Problems with form events
SharePoint does not accept all form events. The only form events that are compatible with Access
Services are AfterUpdate, OnApplyFilter, OnChange, OnClick, OnCurrent, OnDblClick, OnDirty,
and OnLoad. If your forms use code attached to any other events, the forms will have to be
redesigned.