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!
Related
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.
thanks for your time good people!
I am adapting an Access 2010 client to work with a new SQL Express Server 2008 back end. The back end is up and running. No problems there. Filestream is configured and working fine.
My problem relates to acessing the filestream BLOB data I've stored in the SQL Express Server 2008 instance from my client. Specifically accessing the data through the win 32 OpenSqlFilestream API as detailed here: https://msdn.microsoft.com/en-us/library/cc645940.aspx
I know I cannot access this API within VBA. I have to write all the relevant code in a different language. Therefore I plan to write a mini-program in VB.NET which will consist of a pop up form that allows users to add, edit, delete etc the files stored through filestream.
I want to open this mini VB.NET program from within Access 2010 as a pop up form.
How do i do this? I have never written or compiled a program in vb.NET, furthermore I don't know how I can then call this program from within my VBA code in the Access 2010 client.
Please help.
Thanks,
Patrick Quigley
I am not very familiar with Access database till now i was only programming to SQL Server but now it's time to do so. I am building WinForms application which will be using Access database and i have some question related to that point if you don't mind. My application will be used by multiple users and there will be one access databsae. My questions as below:
Is there any problem with accessing access database in same time by many users or only one user can be connected?
If i develop my program to use access 2016 and some of my users will have diffrent windows version and also diffrent access version
will it works?
Should i know something else? :)
If your client want to have a file based database and this is a project constraint , MS Access is the best choice. If you want a more detailed advice, please let me know how many users will perform Read/Write or Read transactions, the size of the database and if the application will run in client-server mode in a LAN/WAN, Cloud or Remote Desktop environment.
Back to your questions:
Depending on these conditions you may range from 10 to 20/25 users. Remember that you can always try with MS Access and later upgrade to a MS SQL database in a couple of hours.
If your front-end application can link to a 2016 Access database, it will do that without installing MS Access to the clients that will run your App, i.e. the vb.net compiled App will install all needed drivers. If you develop your App within MS Access 2016 (Access Form and reports, some VBA) you can run it with the free runtime version of MS Access, but this only when no older version of Access is installed on the running workstation.
Please check with your client the real reasons for a file-based database...
To answer the questions as asked:
You might run into an issue with this, as access was really designed as a personal use database. Having anything more than a small handful of users hitting against it at once will in fact cause problems, as it's not really well designed for that purpose...
This should in theory be fine, as the application itself is interfacing with the database, not the end user...
It seems like you're taking a step backwards using access for this, and SQL might very well be better suited for this purpose. This isn't me trying to just bash access either, this comes from personal experience. Going with this sort of design is likely to cause you more headaches than good.
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.
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.