Web-based equivalent of OpenOffice.org Base or Microsoft Access? - ms-access

I've currently been using Base/MS Access to create forms etc. that interface with a backend database, to save me writing a backend in PHP. Downside is that it only runs on the desktop. Is anyone aware of any web-based equivalent?
Edit: Should have done more research, I need it to interact with MySQL, not an Access DB.

Have you considered Access 2010 : Hosting an Access DB

Depending on Access version, you could use Data Access Pages (Can be used with Access 2007+ with some additional work.). The recommended usage for 2007+ would be within SharePoint.

Related

Microsoft Access and SharePoint

Microsoft announced that SharePoint will no longer support Access web apps. I am trying to build a relational database, and allow users to view and update the database through SharePoint.
Since I can't use Access anymore, what are my alternatives?
If all you require is the ability to make updates to the tables that comprise your database, you can still use SharePoint lists to do that and use the desktop Access client to achieve a relational database.

Embed MS Access Form To Website Oline

I have a website online with just HTML and I am not willing to use any other programming language apart from Javascript. All I need to do is connect my Microsoft Access database on my computer to a form hosted online so when information is submitted online it is updated on MS access the next time I open the file up. Is this possible and how can it be done?
Turns out, you can do this with zero code. If you use office 365, and publish an Access web forms.
Any information entered into the Access web form will automatic appear in your local database. The synchronizing of data from the web site and pulling down of the records to a local copy works automatic and without the need to write any code. In fact the sync starts automatic when you launch the client application. (it runs in disconnected mode). And any records you enter in the client application will also sync up and appear on the web site.
So, you can use Access and write zero code, and this two way sync feature is built in.
You need Access 2010, and either SharePoint 2010 (enterprise), or you can use office 365 and the $6 per month p1 plan which also does support Access web publishing.
However, I suspect issues of user logons and security may well be a greater issue here, and thus office 365 might not be correct from a user logon point of view. You can invite up to 50 users to that site for the basic $6 per month, but all users of the site will require a logon (which can be due to being invited to the site).
There are two videos of mine here showing this setup in action here:
http://www.youtube.com/playlist?list=PL27E956A1537FE1C5&feature=plcp
I think what you are trying to do is very impractical. You'll need to use Server Side Javascript to insert your data into a database, preferably SQL Server, and then you'll have to write some kind of code to sync the SQL Server Database to your Access database.
Alternately, you could setup your Access database so it connects to the same instance of SQL Server as your website using ODBC linked tables or ADO. I cannot really recommend this, especially if the data you have in your Access database is anything you wouldn't want to be public. Also, using MS Access to access a database across the WAN/Internet is really not recommended although it can certainly be done, as long as you aren't working with large amounts of data, large quantity of records, etc.
I am not willing to use any other programming language apart from Javascript.
And why aren't you willing to use something else? I don't think you're going to get anywhere if you don't open your mind to using the right tools for the right job.
Here's something that might help you get connected to SQL from Javascript:
How to connect to SQL Server database from JavaScript in the browser?

Any tools availabe to display Microsoft Access reports on the web?

We're looking for an easy way to display Access reports on the web. These reports have been written and viewed internally for years. They are not simple tables, but more complex charts and graphs. But, now people outside the organization need to see them. All of the data is in access. And, except for reporting everything else is working fine.
We have a web server that has permissions to see the Access database. However, the Access database server cannot be the webserver itself. So, the question is how do we view these reports on the web? This excellent solution, which I reference in case it helps others, (https://web.archive.org/web/20211020135306/https://www.4guysfromrolla.com/webtech/042600-1.shtml) does not apply, as it requires you to be on a company intranet . (Although, it may be possible to implement the solution outside of an intranet, so many security holes would be opened up that the developer leading this project would surely be fired.) If possible, we also do not want a solution that expects every client to install code, for example, the access runtime.
Is there a tool that can read the
access reports when requested? OR
Is there a tool that can upload the
data from the Access database on a
periodic basis and based on the last
retrieved data - it can display the
report that was written in access?
Other solutions ...
Thanks!
print the reports to pdf and then copy the pdf files to the webserver
Options:
output to PDF.
output to Access snapshot format and force users to use the snapshot viewer.
wait for Access 2010 with Sharepoint 2010 and Access Services and you're home free (as long as you can rewrite your reports to be full web reports, i.e., not VBA and only using the capabilities of web reports in A2010).
We deliver an Access app (and reports therefore) over a Terminal Server as a WebApp.

Using Microsoft Access in my application

I am writing a C++/MFC application that will use Microsoft Access to store data.
I hope using it will suit my purpose : small, lightweight way to keep application's data.
the question i'm asking myself is : if I use Access as DB, will the client's machine be required to install Microsoft Access to use my software ?
thanks.
Do you simply want to use Access files (*.mdb), or do you want to embed the Access Active Object in your application?
If you just want to use its file format, they just need to install the ODBC drivers, not the entire application.
But if you want to use ActiveX to embed Access UI inside your application, they need to have full Access installed.
Going by the Microsoft Data Access Components page on Wikipedia, it states in the table that from the initial release of Windows 2000, ODBC drivers for Microsoft Access are included by default. In other words, you should be safe to assume that your program should have no problems reading MS Access databases on any Windows PC nowadays.
The problem here is the promiscuous use of "Access" to mean "Jet MDB." If you've got an Access database, it's an Access application, with UI objects (forms/reports/etc.) and to run it you must have Access or the Access runtime installed.
It's pretty clear, though, that you're just using a Jet MDB to store your data, in which case everything you need is already installed on every version of Windows from 2000 on because Jet is installed as part of the OS.
Francis is correct, however you might want to take a look at more robust DB choices. SQLite, SQL Server Compact Edition, or Firebird are all good alternatives to MS Access for simple, light-weight, easy RDBMS needs.
You don't need Access to use a an Access database - you can use ODBC for that. However, if you are also considering XML, I suggest you have not analysed the problem you are trying to solve deeply enough - XML and databases like Access have almost nothing in common.

Password Protecting a MS Access file

I've got a MS Access database with a table and a form, but I want the user to only see the form. I don't want them to be able to edit any of the data. The user should only be able to use the form to query the table. Any suggestions??
There are a few ways to enforce some control over what users can do.
AutoExec
The most simple way is to use an AutoExec macro to initialise the user interface when the application starts.
That way to can make sure that only the form you want is displayed and hide everything else.
Runtime
A good complement to this approach is to compile your application and force the user to use the Access Runtime to use your application.
In the runtime, users don't have access to all the standard tools unless you explicitly code for it.
A good thing to know is that unlike previous versions, the Access 2007 Runtime is free, and that makes Access a very cheap platform to develop for.
Runtime emulation
With Access 2007, a simple way to ensure that the application will open as if only the runtime was installed is to change the extension of the database to .accdr.
You can also force a full Access installation to open a normal database in Runtime emulation by passing the /runtime command line switch.
Secure data-access
Note that short of encrypting the database (but then you have to manage the password), all you can do is make it hard for the user to open the tables manually.
A determined and knowledgeable user can always circumvent these protective measures and access the data.
If you need a really secure solution though, Access may not be the best choice: implementing fine grained security in Access is a greater challenge than the alternatives, say storing the data into a SQL Server database for instance where security is enforced.
Links to resources
Security Considerations and Guidance for Access 2007 on MSDN
A simple Microsoft Access User-Level Security Tutorial for older versions of Access.
FormSafe, a commercial product that helps enforce security on form controls.
I believe you want to use Access User-Level Security. Here's the documentation at Microsoft.
If you are using Access 2003 or earlier, you can use user level security, as mentioned. If you are using Access 2007 you are out of luck - Microsoft in their wisdom removed this ability. You will basically have to write your own login and set permissions on editing etc. using VBA code.