

Now that I knew this was indeed a FoxPro database and that I could access its contents, I set my focus on analyzing the table structure to find the specific data I needed.

Everything seemed all too easy! Problems with Tables Having Memo Fields :-/ Being that my attention span for message and dialog boxes has shrunk to zero, I answered the first two or three, and then just clicked Cancel through the rest. Several prompts came up to indicate a unique identifier. I easily pulled up a table listing and decided to select all the tables to start off.

So I clicked over to the External Data ribbon, clicked New Data Source→From Other Sources→ODBC Database and configured a connection to the FoxPro data I wanted to get into.

It’s still a great tool to quickly test stuff like this. I know Microsoft Access isn’t an ideal tool for creating applications, but I sure saw and wrote plenty of them back in the day. Thankfully, it seems you can reliably find a link to the old Microsoft VFPODBC.msi file at the Visual FoxPro Wiki. You can find a page on Microsoft’s website that used to have a link to download of the driver, but it’s been removed since they no longer support it. Access apparently can’t create a linked table via OLE DB.Īs I mentioned above, if you’re on Windows 10 and Microsoft Access 2016, chances are good that your machine doesn’t have an ODBC driver for Visual FoxPro installed like earlier versions. I could use an OLE DB provider to get to tables with memo fields, but only via Excel or programmatically. Once I found one, I could easily link to all of the tables-except for the ones that included variable-width memo fields. This was harder than I expected because Windows 10 and Access 2016 no longer ship with a Visual FoxPro ODBC driver. TL DR: I fired up Microsoft Access to see if I could link to the external data. I looked under the hood and figured out that this thing uses a FoxPro database! Microsoft discontinued development of Visual FoxPro way back in 2007, and I hadn’t seen a working FoxPro database since the late 1990s…so I knew it might be tricky to get the data out. A while back, someone handed over some scheduling data in a somewhat clunky old application in desperate need of modernization.
