Future of Access

Source control is only part of the problem. I don't know how this tool works, it's been years since I last tried a source control addin. At that time, the process was abysmally slow but more important was that you had to remember to "check out" BEFORE you started modifying an object. Modifying an object should have automatically initiated the "check out". If you don't "check out", your changes didn't get logged. I would hope that newer versions are better.

The real issue is that if Bob makes a bad change and checks it back in, I may not be able to work on my piece if Bob's change broke something I needed.

Working as a team requires a build manager and the build manager should be the only person who can check objects in and he has to thoroughly check them as well as all other objects before the new changes can be incorporated into the current build.

I've tried a few times to have other developers work on isolated objects and that can work but again, you need one person who incorporates changes made by any team member. That meant me in all the times I tried this method since who can afford an extra developer who just handle's the build?
Using Git Hub, Bob is working on a fork as are you, there is no checkout. The changes are merged back into the main after testing and can always be rolled back.

I am working with a large FE, the add-in exported the original in a matter of minutes, changes take seconds. After working with source control I have been refactoring the code in a more vertical orientation to work better with side by side comparison.
 
Source control is only part of the problem. I don't know how this tool works, it's been years since I last tried a source control addin. At that time, the process was abysmally slow but more important was that you had to remember to "check out" BEFORE you started modifying an object. Modifying an object should have automatically initiated the "check out". If you don't "check out", your changes didn't get logged. I would hope that newer versions are better.

The real issue is that if Bob makes a bad change and checks it back in, I may not be able to work on my piece if Bob's change broke something I needed.

Working as a team requires a build manager and the build manager should be the only person who can check objects in and he has to thoroughly check them as well as all other objects before the new changes can be incorporated into the current build.

I've tried a few times to have other developers work on isolated objects and that can work but again, you need one person who incorporates changes made by any team member. That meant me in all the times I tried this method since who can afford an extra developer who just handle's the build?
I am a team member of four Access developers. Each of us has exclusively designated customers. I am my customer's BFF (or Best Friend Forever!) – that’s exactly what it sounds like and means I have worked closely with them throughout the years. Our four member team has rarely worked simultaneously on the same projects. If the need should arise to do so, each of us checks out a copy of the current build, none of us changes the same objects, each team member returns a new accdb that only contains the changes they made, the changes are imported into a copy of the current build, the team tests that copy, the customer tests that copy, and if all is well, the current build gets updated.
 
Last edited:
Last edited:
One of the big benefits of using Access is the way it integrates with Office and that is also why MS put Access into Office to begin with.
 
By forcing us to use "New" Outlook, MS has also forced us to remove any email process from using Outlook. At least there are other options. No matter how many times I tell Outlook to revert to old Outlook and how emphatic my associated comments are, it persists in reinstalling "New" Outlook every time updates are pushed.

New Outlook sucks big time. I'm beginning to seriously dislike MS.
 
Microsoft announced the removal of Salesforce ODBC driver from Access, effective October 2025:
[...]
Which are the next ODBC's Microsoft will remove?
I don't think there are any other ODBC drivers built into Microsoft Access.
Does this answer your question?
 
I don't know how this tool works, it's been years since I last tried a source control addin. At that time, the process was abysmally slow but more important was that you had to remember to "check out" BEFORE you started modifying an object.
There was such an issue with Microsoft's own SCC plug-in for Access. And, I agree, this was a major nuisance.
AFAIK, all current source code control add-ins do not require to explicitly check out before making changes. For Git based version control, the Check Out step is generally no more part of the SCC process.

The real issue is that if Bob makes a bad change and checks it back in, I may not be able to work on my piece if Bob's change broke something I needed.
This is neither specific to Access nor to source code control. If someone breaks code in your project, there will be a problem.
Source code control just makes it easier to add or modify code, be it good or bad, in a shared project.


Working as a team requires a build manager and the build manager should be the only person who can check objects in and he has to thoroughly check them as well as all other objects before the new changes can be incorporated into the current build.
I strongly disagree with having a human person (=bottleneck) as gatekeeper to validate all check-ins to a system. This will slow down the development process to a crawl.

With Git any developer would usually check in into a local copy of the repository first, and only later will these changes be incorporated into the common shared source code in a "central" repository. - This would be were you could insert the human gatekeeper into the process, without creating too much of a drag. Nonetheless, I still discourage that.

Automated testing is the key to reduce the risk of someone checking in bad code into a project and breaking it for everybody else.
For larger projects we have an automated process in place, that after each check-in will ....
- create the project's Access file from source,
- (try to) compile the code,
- run our code quality checks (powered by MZ-Tools),
- run all Unit/Integrations tests for the project.
If any of these fail, the automation process will alert the offending developer and optionally other team members of the problem.

As this happens after the check-in operation in our process, it does not prevent bad code from being checked into the repository. But the alert to the relevant developers allows for a quick fix of the problem.
One could also change the process to automatically roll back such a bad check-in and thus prevent bad code from entering the repository.
 
I don't think there are any other ODBC drivers built into Microsoft Access.
Does this answer your question?
None of the ODBC drivers are built into Access. Access does have Data Connectors that are integrated with 3rd party API's.
 
This is neither specific to Access nor to source code control. If someone breaks code in your project, there will be a problem.
This is more of a problem with Access due to the single container. If the bad code is in the container, I may not be able to work on my part of the project without finding and disabling the bad code.
 
Salesforce must have been paying for this. So now you'll need to get the license directly from Salesforce and pay for it yourself like you do with other products.
I think it's a 3rd party ODBC. I wouldn't be surprised if MS starts charging for Access runtimes 😳
 
I think it's a 3rd party ODBC. I wouldn't be surprised if MS starts charging for Access runtimes
I would be.

Non SQL Server ODBC drivers are generally created by the company that owns the proprietary data source. Oracle creates the Oracle ODBC driver. IBM creates the one for DB2. Quickbooks creates their ODBC driver, etc.

Microsoft creates the ODBC drivers for Jet and ACE and their desktop database engine.
 
This is more of a problem with Access due to the single container. If the bad code is in the container, I may not be able to work on my part of the project without finding and disabling the bad code.
With an add-on like joyfullservice which exports each Access object to a text file, the single container is not an issue. A new ACCDB FE is generated with each build much like you would do with a .NET project. The process is develop in your copy of the FE, export the changes to your repository then push to the central repository. Other developer's changes are pulled from the central repository allowing you to build a new version the the FE. The ACCDB FE becomes a deliverable just like a DLL or EXE from .NET or Java or Python.
 
I think the difficult thing with web software is enforcing the time-sequential nature of things. The very way web sites work makes ensuring the logic flow of a commercial (database) application is awkward. Not sure what the technical terms are.
 
With an add-on like joyfullservice which exports each Access object to a text file, the single container is not an issue.
It is an issue if the person who installs the new code into the .accdb doesn't do the proper regression testing. I understand how the source code manager works. I use the export to/import from text feature for my own personal backups.
 
I think the difficult thing with web software is enforcing the time-sequential nature of things. The very way web sites work makes ensuring the logic flow of a commercial (database) application is awkward. Not sure what the technical terms are.
That's random async. The Access DotNet interop apps I have worked on had those issues, so we added time delays after each API call to provide enough time for the http requests to put/get stuff, and verify completion, or continue looping until verified before moving on to the next step in the flow.
 
It is an issue if the person who installs the new code into the .accdb doesn't do the proper regression testing. I understand how the source code manager works. I use the export to/import from text feature for my own personal backups.
All development environments have the same problem if you release without proper testing. You can get daily example on the Daily WTF site.

Moving to source control made it much easer to track changes and undo mistakes. I need to get much better at Git but the basic feature I use are very powerful.

By the way joyfullservice use the add-on and is available on Git Hub, you can fork it, build your own copy and modify your copy. I did that when I saw something, after making my edits and testing, I posted back and the changes were added to the main branch.
 

Users who are viewing this thread

Back
Top Bottom