Today, I was thinking more about using AI and Access. Particularly VBA, but I’d also like to be able to see if AI can understand my exported Access object files (I’m using OASIS SVN to export the Access objects currently, but there are other apps that can do that). Since Access exports forms, reports, queries, and modules, then theoretically, I could work with an AI that could figure out how to modify these exported files so I could work with the AI to request particular changes or suggestions, save it to the file and import it into my Access database.
Here’s what I’m finding so far:
- ChatGPT Team – My brother is using this to take an existing .Net app and use components from it to create a phone app for iPhones. He’s connected it to his repository and makes the changes it recommends manually. It’s helped him considerably and seems to have some promise. The particular license is for at least 2 people though, so it doesn’t make as much sense for a single person. One of the main benefits is the ability to have a persistent code base uploaded to the ChatGPT system.
- SDOpenAI – This is a plugin for Access using the OpenAI API. This has lots of promise. You can program this AI directly to do whatever you want and create ribbons and functions you can utilize in your apps for your users if you want. It has access to many of the OpenAI models. It is a pay as you go system. No subscription, you have to charge up an account which the API calls deduct from every time you do something with it. This does not have persistent knowledge you can load into it, but you can upload context with your requests. This allows you to upload a bunch of different functions to the API with a particular request, but you have to keep doing so. It can modify your code directly in the Access VBA IDE.
- SDOpenAI Assistants – This is a plugin for multiple Office apps and allows you to connect with OpenAI assistant APIs. These have persistent data vectors you can upload (meaning I could upload the exported database) and they will be available by that agent to use at any time for any request. So you don’t need to keep uploading the same data over and over. It can also perform some tasks, similar to the way connectors work in Microsoft Flow (or whatever they call it now). I don’t believe it could directly modify the database, but perhaps you could build a custom workflow of some kind that would be able to import changed files into your database… This could be a potential solution that could do everything. Not 100% sure yet.
- Copilot (free version in Edge) – I was able to upload a file to Onedrive and Copilot was able to look at it and analyze it. It was able to figure out what the database was running when it opened and give me tips on optimizing it. The main problem here is that the data you upload does not persist. You have to upload it with each session. It could however give me updated code which I could plug back in via the VBE editor or re-import it into the database. I am not aware of any pay versions that persist data. Copilot said there were not any, but I have found that sometimes it is just unaware as well. Another limitation of all the Copilot versions is that the models it uses are very limited and it does not use some of the newer advanced learning models (although that may be outdated info at this point… I do see in Copilot Chat the ability to go slower and think deeper…)
- I also just briefly started looking into Github Copilot and found that it is available via Visual Studio Code (Not Visual Studio) and that Visual Studio Code has plugins to work with VBA. I’m not sure about how one might use this. It may offer some similar features to SDOpenAI Assistants in being able to work with a GitHub repository (persistent data) and also it could potentially update the code in your VS Code window which you could save to the GitHub repository. Perhaps you could also set up some kind of workflow to automatically import that new code into your Access database.