How to migrate Access database and forms in SharePoint online? - vba

I'm starting a new project where we are expecting to migrate desktop based Access 2016 applications (with a lot of backend VBA and relationships between the tables) into SharePoint 2016 on-premise and very soon, SharePoint Online. From what I've been told, we'll be given site permission to a SharePoint site that we can do whatever we want with. I am hoping that with SharePoint 2016 on-premise and eventually SharePoint online means that there is a SQL Server and eventually Azure SQL Database that I can migrate the Access backend tables and queries, as I know SharePoint lists will be inadequate for this, despite the false notion that SharePoint lists are an equivalent substitute for database tables.
My concern is how to build the custom forms, perform the needed business logic, perform CRUD operations, and upload data in the form of Excel files from the SharePoint site to the backend.
I'm new to SharePoint and given that it does not support VBA, that Microsoft cut out Access Web Apps earlier this year, and they are phasing out SharePoint Designer 2013 and InfoPath, some research over the past week indicates my best options are building custom web application using ASP.NET Core and somehow deploying that to the SharePoint site and subsites that we have control over, or developing a lot of HTML, CSS, and JS to create the front-end interface. I had read about the Business Connectivity Service to get and post data to / from the SharePoint site front end and the DB backend, as well as using Javascript and AJAX calls to do CRUD operations between the database and the frontend. I looked into PowerApps and those seem insufficient, and I'm still trying to distinguish between SharePoint web parts and SharePoint add-ins.
Is any of the above even a feasible option? Could someone chime in on a better path to go about this? What technologies would I need to best go about this?

Support for moving tables from Access to SharePoint remains a choice and option.
So all of your VBA code etc. will work as before. The only real question is if you want to move your data to SharePoint tables in place of using SQL server.
SQL server tables are far faster than SharePoint tables.
However, you can certainly consider moving your tables to SharePoint. When you move your tables to SharePoint (or SQL server), then Access code, forms, reports etc. and EVEN your VBA code will work as before. What this means is that you continue to deploy the Access application to each desktop. The only difference is now your tables are on SharePoint, or SQL server.
The above choice does not result in a web based application.
So you can move the data, but your application will remain a desktop application.
If you looking to build a web based application, then Access is the wrong tool – you need to adopt something like Visual Studio.
So you can continue to use Access, and put the data tables into the cloud, or on-site SharePoint - but the application will be still desktop based.

I have used the following extensively over the last couple of years and I am happy with the experience:
Azure SQL Database as a back-end
Flow for automation and as an interface to the DB
PowerApps for forms, desktop apps and mobile apps
Excel for reporting (Get & Transform aka PowerQuery and DAX), especially for printing reports
Power BI for dashboards (limited use)
Yes, PowerApps has drawbacks, but there are a lot of realistic workarounds out there and new features/improvements are being added regularly.
I have also used SharePoint lists as data sources, but almost always then migrated to Azure SQL Database.

Related

Convert Access desktop application to Web (SharePoint) based Access database

We have an SQL Express database with an Access 2003 front end which we can convert to Access 2010 or 2013. The database has a lot of forms, queries & tables & complex VBA code.
What is the procedure to make this web enabled so a limited number of our customers can logon and update information in the forms
Will it require VBA coding from scratch, some minor changes or I don't need to change the VBA code at all?
Please note that I am talking about access web based database which
can be hosted on SharePoint site. I am not talking about php, java or
.net bases full fledge web application. So i think a person having
expertise in MS Access can answer this question.
Thanks in advance!

Using SharePoint to custom develop a GUI for an SQL Server backend?

Is it possible to use use SharePoint to custom develop a GUI for an SQL Server backend for updating the data? Thanks.
If you are using SharePoint 2007 you might want to take a look at the Business Data Catalogue - http://msdn.microsoft.com/en-us/library/ms563661(v=office.12).aspx
Not sure what the comparable feature (if any) in 2010/2013 is...
EDIT:
In 2013 it is called Business Connectivity Services - http://msdn.microsoft.com/en-us/library/jj163782.aspx#BCSoverview_Whatcanbcsdo
Look at "Business Connectivity Services" and "External List".
SharePoint Designer can make the process pretty simple or you can develop a Visual Studio project:
http://msdn.microsoft.com/en-us/library/ee558778(v=office.14).aspx
If you want to do the legwork try building an Access Application in SharePoint 2013.
It is much better than 2010 but requires more setup. This will encapsulate a database within a SQL database, very versatile super quick and you can do all your SQL fun stuff from there.
This is a low or no code solution.
SharePoint 2010 Access apps use lists as back-end repositories, you can interact with the data in the SharePoint WSS_Content database, but it is not supported and no advisable.

How to create a visual basic.net database application using ms access 2007

I trying to create an application using vb 2010.This application handles booking of airline customers. i am using ms access 2007 where i have created a table that stores customer information and another that stores and updates seats available in different flying classes. Am trying to develop an interactive application in visual basic 2010 where customers can book. i want to add this data to the database in real time and communicate to customers the seats available,prices and so forth. In otherwards the application communicates with database and updates accordingly. Firstly how do i connect to my database? I tried ADO.net but seems better equiped to work with sql server which i have no idea how to use. Is there a tool that can make my interaction with the access seamless? or are there any useful resources which can guide me with working access 2007 and vb.net?
There's this step-by-step by Microsoft on how to use vb.net to connect to a access database. http://support.microsoft.com/kb/821765.
I agree with David and Ken, why not use SQL Server Express or MySQL, they are free and easy to use, and much better to work with multi-users.

Is there any simple way to crawl all of the SharePoint 2010 site information to save it into a database?

I'm working with Visual Studio 2010 and Sharepoint 2010. I would like to know if there's a way to have a web part that crawls all the data within a SharePoint site so I can save it into a custom db.
You can certainly create a custom web part that will do this. I do not know of an out of the box web part that will work. I began writing something like this when I found SharePoint List Source and Destination. It's a CodePlex project for an SSIS SharePoint adapter. We did not need a user interface for the extract, so we used it successfully last year for transferring data between SQL Server and SharePoint.
Sounds like all you need to do is use the API, OOB web services, or the Client OM to write some code and access the lists directly. Which approach you take depends mostly on where the code will run.
Well I found this article - Document Library Tree View Web Part for SharePoint - it is a Web Part that shows all the info of any of the document libraries within a site. At least I know how to crawl that kind of library.

Regarding sharepoint and SQL data store

I have to create a web form and store all kinds of data from the page, the data will be text, num, email and checkboxes.
I have to store them in a database SQL. I have to deploy the same page in the sharepoint server and users will be able to use that page to fillin the details once the details are filled in it should be loaded in to the SQL seperate databse.
could anybody tell me what would be the best approach.
Please give me rough idea so that I will take the steps to get it complete.
Do you have to use a SQL database? You could simply use SharePoint lists for this type of functionality.
If you HAVE to use SQL then look at Business Connectivity Services through SharePoint Designer 2010, or if you are using WSS 3.0 or MOSS 2007 then look at creating custom web parts.