I have an access database (access 2010) where the data is being entered everyday by some people through forms. I am also working on it to develop new forms and new queries. The problem is that I am developing a form and by the time I put it on the current version of database, more data is being entered and so consistency is being lost. Is there a way in which I can deal with this problem.
An Access database should always be split into a back-end for data and a front-end for forms and so forth. The back-end tables are then linked to the front-end. ( How to split db, Reasons to split db )
Each user gets a copy of the front-end and the back-end resides on a computer that all have access to.
Develop on a copy of the front-end and when you are finished, relink the tables and distribute the new version to each user ( Front-end maintenance ).
Related
I have an access database that uses data pulled from an API, this data export is conducted hourly.
I would like the access database to automatically run an update module (which imports the exported data and cleans it up), based on the same schedule the API exports my data, so Access will be current at all times.
The database I designed is used company wide. The accde and backend are both located on a windows 2008 server.
I just wanted suggestions on the best way to automate this, without the need of human intervention, preferably nor my local machine.
From rough research (accompanied by my own ignorance and stupidity) I’m assuming I need to setup a task scheduler on the server to launch access and run the module on open if FOS username is the local machines user (administrator).
I highly welcome any feedback as again, I just taught myself access these past two months and am horribly unknowledgeable on the implementation side.
I have little experience working with servers and web applications. The objective is to create a web portal were users can enter employee data and be able to retrieve it later on to print etc.
I have created the html file(have also saved it as "hr_form.asp") that has the form: Input fields and submit button etc. I want to be able the information entered in the input fields stored in the access db when the user clicks the "Submit" button. I will be using Access 2007; I have the access db file with the fields corresponding to the web form (fname, lname, assignment, etc).
The access db is currently saved in my workstation but will need to be moved to a remote server.
My idea which consists of placing the connection string within the "hr_form.asp" to connect to the access db locally (before attempting to connect to the remote server), then finding a way to request the information from the form via the post method and saving the user input in the appropriate field in the access db.
But then I heard that Visual Studio Web Developer is a good tool and that the connection can be done through a wizard option...
Can someone please provide me with their personal approach to this and if you don't mind, a small step-by-step overview of the process ? I have searched and all the responses I've come across assume the has experience and skip some steps. Thank You
easier to obfuscate the connection string with a SQL Server than Access.
As well, should the need arise, connecting to a SQL Database is alot easier to connect to if you have an Intranet SharePoint Site Collection than an Access Database.
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?
I have an MS Access database on a network drive with a userform which has multiple users (All using at the same time)
The form runs an update-query which will add data into a raw data table.
Does anybody know how I can make this work if two(or more) users run the update query at the same time? I assume this has to be done using temporary tables...
Thanks,
James
Just to add some pages from my website to this discussion.
You want to split the MDB into a Front End MDB containing the queries, forms, reports, macros and modules with just the tables and relationships in the Back End MDB. The FE is copied to each network users computer. The FE MDB is linked to the tables in the back end MDB which resides on a server. You make updates to the FE MDB and distribute them to the users, likely as an MDE.
See the "Splitting your app into a front end and back end Tips" page for more info. See the free Auto FE Updater utility to make the distribution of new FEs relatively painless.. The utility also supports Terminal Server/Citrix quite nicely. Also visit my Access Performance FAQ page.
Access does not behave well if the entire database (front end forms plus backend database) is accessed by several users from a network share.
Try splitting into a front end (one on each client machine) and a single backend (tables) on the network share, and use linked tables in the front-end.
How to manually split a Access database in Microsoft Access
Information about query performance in an Access database
Microsoft Access Performance Tips to Speed up Your Access Databases
Tony Toews' Microsoft Access Performance FAQ is well worth reading.
I'm usually not working with Microsoft products. I have an MS Access 2007 project here, and I know that the MSSQL Server with the Database has some procedures. How can I make them visible? I can just browse trough tables and views...
Thanks and regards,
Jan Oliver
When you say access project, are using the term that you have a project you're working on, or you do specifically mean you're working with an access data project? (ADP). The ms access term ADP has an specific meaning that's very important in your context.
In ms access a good number of developers simply use ODBC linked tables to data is sitting on SQL server. There's also an option in ms access to create what is called a Access Data Project (ADP). When you choose to create an access data project then any view design services such as the relationships editor, table design etc. looks like you're developing inside of the access desktop client, but in fact behind the scenes access is sending DDL (data definition language) commands to SQL server to make those modifications on the server side object. So, you CAN modify server side objects inside of ms-access. No local tables can exist when you create a ADP.
What this means that the version of access and SQL server have to be more closely matched then if you're not using an access data project. If you open up the access database and look in the query table, you should see stored procedures appearing in the list. Access should let you modify them.
So take a look of the file extension, if this is actually an access data project, then the file extension for the access database will be *.adp.
If the file extension is mdb, or accDB, then this is not an access data project, but is a traditional access database in which linked tables to SQL server are being used. This this case of non ADP, then the views and tables you link to will only appear in the tables table. Furthermore ANY design changes you make will be done using the SQL server management tools and NOT the access client. So, changes to tables and views and procedures etc. are NOT made and CAN NOT be made inside of the access client like they can when you're using an access data project. Despite this limitation, most developers prefer using linked tables as opposed to an access data project because of the loose tie between the version of SQL server. In fact you can use even different database servers in these cases such as Oracle or MySql. The other significant advantage of linked (odbc) tables is that the linked tables allows multiple data sources from local files, server based etc. And, you also can have local tables (ADP does not allow local tables in the client).
So your ability to edit or not edit the server side objects inside of access will be determined by the above scenario IF you are in fact using a ADP or not.