2
votes

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?

2
What specifically do you consider insufficient in PowerApps?Meneghino

2 Answers

0
votes

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.

0
votes

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.