You can use your favorite social network to register or link an existing account:
Or use your email address to register without a social network:
Sign in with these social networks:
Or enter your username and password
Forgot your password?
Yes, please link my existing account with for quick, secure access.
No, I would like to create a new account with my profile information.
Today’s guest writer is Ric Lewis—the PM in charge of publishing to SharePoint.
A common question in the Access community is “how do I get my app on the web?” Here is the most recent example:
My wife and I have just started our own Recruitment business and I started an Access DB to basically be a contact manager and to track our jobs, candidates, clients and placements we make. I got to a certain point and realized I was out of my depth, so I enlisted the help of an Access Developer to finish it off. … We currently work from home and are on a network so sharing the db is not a problem for just the 2 of us. In the new year, we plan to have 2 casuals start who are in different states from us, who we would like to be able to use the db as well.
My wife and I have just started our own Recruitment business and I started an Access DB to basically be a contact manager and to track our jobs, candidates, clients and placements we make. I got to a certain point and realized I was out of my depth, so I enlisted the help of an Access Developer to finish it off. …
We currently work from home and are on a network so sharing the db is not a problem for just the 2 of us. In the new year, we plan to have 2 casuals start who are in different states from us, who we would like to be able to use the db as well.
From its inception, Access democratized data applications making it possible for non-developers to build client apps. Access 2010 is about to democratize data driven web apps. This means you can create a data application in Access 2010 client that can be published to a SharePoint server and used by other people who have only their web browser (no Access runtime or client required to use the app).
There are numerous implications of these new “Access Web databases” and I’ve no doubt we’ll discuss them in great length on this blog and in other forums. Today, I’d like to talk to you about the basics—the process of how you take an Access database to the web. Let’s start with the “Publish” operation.
You can watch Ryan and Clint’s demo on Channel 9 to see some of what we’re talking about in this post.
Any Access database is comprised of numerous objects, such as forms, reports, queries, macros and tables. In Access 2010, each of the objects in the database — with the exception of tables, which we’ll get to in a minute — has the additional designation of being a Web object or a client object. Let’s look at the differences:
Web Objects:
The overall goal of web objects is to provide a design environment that allows developers of applications to work effectively build objects that are both client and server compatible. Not everything you can do with the rich client can translate to the web. Here are come characteristics of Web objects:
In the Navigation pane and Create ribbons, web objects are indicated by a small globe indicator on the icon:
Client Objects:
Forms, reports, queries, and macros can all be either web or client objects. Objects cannot be converted from client to web type, nor from web to client. It is, however, possible to save a web object as a new client object.
To ensure data integrity after publish, a given database can only contain either web tables or client tables—not both. In Access 2010, a database that contains web tables is called a Web database. A database that contains client tables is generally called a Client database, or just a standard/traditional Access database. Both web and client databases are stored in the standard ACCDB format.
It’s worth pointing out that since web objects can only reference other web objects, it only makes sense to restrict web objects to a database that is composed strictly of web tables, a.k.a. a Web database.
It is possible to take an existing Access database and try to turn it into a Web database—we will cover that in a different blog post.
Design Web Objects
As we've covered, Web objects do not fully represent all the functionality of client objects. This is due to the fact that our server rendering is not yet as powerful as the full Access client.
Because of this, we have introduced a restricted design experience for Web objects. If you're working on a Web object, you will only see those options and design mechanisms which are valid for Web objects. On a high-level, this means the following:
To compensate for some of these changes, we've made additional design surface investments:
To reiterate--client objects can take advantage of the new layout design experiences, but they also have the traditional design surfaces available (table design mode, form and report design view, etc.).
Once you’ve used Access 2010 to build your Web database, replete with Web forms, web queries, etc., you’ll want to publish that application to a SharePoint server to create an Access Web database.
Tip: Before you do this, you’ll likely want to set your default startup form in Access Options | Current Database).
To publish your application, you’ll need to enter the new Backstage.
You’ll notice the publish button at the top of your menu when you have a Web Database open.
Clicking publish will take you to the Save & Publish place. From there, you can fill in the server and application name for your published app:
Then simply click “Publish to Access Services” and you’re good to go. You’ll see a small progress dialog
And then a publish success dialog:
You’ll also notice that as part of publish, Access made a backup of your old ACCDB in the same place you had it saved before. This is your old pre-publish database, which you can use for a backup. It is not connected to your new web database. Here an app running in the client:
And the same app running in the browser:
In our next post we’ll talk about errors you may encounter during publish and how to maintain your new Access Web database. Enjoy your new Access Web database!
Comments: (21) Collapse
Hi Ric, when you say "publish to the web", do you mean the converted accdb has a url address http://....
that anyone can go to?
Kind of. What actually happens is that he AccDB is shredded into a bunch of Sharepoint tables, and then we have a rendering component on Sharepoint (Access Services) that pulls from those tables and creates a website on that Sharepoint server (http://...) At that point, the AccDB you have on the client is just a cached copy of those Sharepoint tables being rendered by the Access Client. And the http://... site is available to anyone whether they're using IE, Firefox, Safari, etc.
Looking really good :-)
So I guess in order to have the accdb-derived website up and running I'd just need to choose an isp that provides Sharepoint server, right?
Can this be done on Office Live Small Business? Is there an inexpensive way to test this without purchasing Sharepoint? Thanks.
grovelli-- Yep. Data Entry Service-- The cheap way to try this out would be to work against a hosted Sharepoint provider that offers Access Services. Now is probably a good time to point out that the Access server rendering components are only available as part of the Sharepoint 2010 release. So you may need to find hosted providers who are running the beta or who are quick to upgrade.
Does Access Services still support forms/report based upon external data (like SQL Server tables) when migrated to SharePoint 2010? How is the authentication handled?
mdk, There is a model through SharePoint to connect to external data such as SQL Server through virtual lists. Unfortunately, in v1 we don't support tables/lists that are not in the site. We totally get the scenario and need to have a rich external data story but in effort to scope the project into something we can ship with quality external data wasn't tractable. This is definitely not the long term plan.
This all sounds great....I am wondering though how this scales ? How is the performance in the browser with tables of 10, 50, 100K rows ? My biggest challenges (as a non IT person) are trying to keep my databases as small, light, & lean as possible to function in a multi-user environment that's spread across the country.....with mixed results.....
Yes, I'm also interested in the performance, since I suspect third party hosting will be the only practical way small business clients will be able to use any of this. Presumably, unless one pays exorbitant hosting fees, I'm guessing you'll be sharing your sharepoint server with many other people's apps. Given that Sharepoint is hardly known for its lightning speed, I wonder whether it will actually work at all in practice. Now Clint, you did promise in an earlier post to provide some idea of the cost of setting up a sharepoint server in-house. An exact figure is not important, just let us know some ballpark, $100, $1000, $10000, $100000, $1M? Although, by the sound of the installation instructions in the previous post, the labor cost alone of setting it up and getting it to actually work would probably be prohibative for many customers, even if the software was free.
ClintC: Can we expect, one day, a ONE-CLICK installation of a $1000 MS Access Developer edition that installs MS Sharepoint Lite and MS SQL Express in an in-house server? I am sure that we do not need full installation of ALL Sharepoint components for Access Web Services! I am sure that this does not depend on the MS Access Group. But I think that it would be a GOOD marketing decision for the MS Sharepoint Group as it is a "new" product. Thanks. Joao Santos PS- the price could even be $1500...
Ric & Clint: Thanks very much for this overview! This is good stuff! IMO the ability to publish Access apps to SharePoint a huge advance for Access developers. It's hard to over-estimate the opportunities this feature provides. What are the requirements on the SharePoint side for publishing Access apps? Is SharePoint Services 2010 a requirement? Also, are the Office services an additional installation to SharePoint, or are they part of the standard SharePoint installation? IOW, if we wanted to start using the publish-to-SharePoint capability right away, what do the SharePoint admins have to do to SharePoint to make this happen? I like Ric's answer to consider using a SharePoint service provider. I can see this might be the most cost-effective way to take advantage of these features. Do you have any idea how soon commercial providers will be able to offer the SharePoint infrastructure necessary for this option? Finally, will the Office group be publishing links to qualified SharePoint service providers? It'd save a lot of time if we had a limited list of vendors to check out. BTW: My experience so far with the Office 2010 beta has been 100% favorable. Installation was flawless -- no glitches at all. Access loads much, much faster than 2007. I love the "Backstage" area -- it's nice to move that stuff out of the ribbon and have it where it's quickly accessible. Also, really cool to "pin" apps to the Recent menu. There are just too many productivity enhancements to mention them all here, but I'm thrilled to see the progress you've made.
Darn, I'm disappointed that Access Service won't work with SQL datastores... yet. Idea: The SQL Server Report Services click through reports and SSRS development environment in VS produces a very powerful web based reporting system. And the folks that produced this gave us a way of hosting our reports in IIS without Sharepoint. It seems like the Access team could take advantage of this reporting technology and add their web form technology to SSRS, bundle into Access or SQL Server and give us a web development product which is tightly integrated with SQL Server. To me the power of Access has not been the Jet database. It has been as a RAD forms/reports tool along with VBA accessing SQL Server tables. Jet is a bonus as a local datastore but SQL is the real place we have always stored our data. I guess I'm suggesting that Access technology fused with SSRS could become the RAD development environment for SQL server (for departmental sized applications).
Great overview - thank you! Can you provide a list of 2010 beta hosted service providers? Thanks,
Richard
rnl4@cornell.edu
Hi, I'm with Joao Santos, I would pay for that pay for a ONE-CLICK installation of a $1000 MS Access Developer edition Bring it ON!
A couple of questions: 1) Are sub-forms supported for web applications? For Client applications? 2) I need to clarify a few things for myself so, do I understand correctly when I say the following: A web application requires the user to have a web browser. A client application requires the user to have Access run time or the full Access program installed. Such an application can still be published to a Sharepoint server, for deployment purposes, and then when users will open it and there will be a new upgraded version on the server they will be able to download this version to their local computer. This client application can have tables linked to Sharepoint lists and to local tables as well? So please correct me if I am wrong with the above. Thanks Gilad
Comments: (loading) Collapse