[AccessD] MS Access and Python

Borge Hansen pcs.accessd at gmail.com
Thu Mar 19 01:01:01 CDT 2020


Hi listers and Bill,
Please excuse me but the following is just some free styling and with
a request towards the very end - any one can just press delete at any
time ...

Well - believe me Bill, I find energy and concentration very wanting
as I 'dabble' into these new areas.

Since late December I have been in Shanghai along with my wife
visiting our daughter and son-in-law and welcoming their firstborn,
Elias, on 16 January.
(We used to live here from 2011 to 2017 - a wonderful experience!)
With no restaurants, shopping malls open during these special times
the five of us have had a 'stay at home' life for the past eight weeks
which has afforded me the opportunity to 'dabble' a bit.
It's been a long journey. Back in the 80's I got into Dbase and later
on DataEase. When I went to Australia in '88 I had the opportunity to
develop a complete cost accounting system for a large real estate
development project - all  based on DataEase on DOS and running on a
Novell network - and using what I had learning while 'dabbling' with
financial and cost accounting systems within the oil and gas industry
back in Norway (I am a Dane with 12 years in Norway). I thought I
could carve out a living doing DataEase development in Australia (a
lot of finance, banks and insurance were using DataEase at that time.
In '93 our longest time client ever (since '94 based in US and still
our client) contacted me to help them with an Event Management System
written in DataEase and with reports being further processed in
WordPerfect (anyone remember WordPerfect?).
In '95 Microsoft Windows became so widespread that we had to consider
to move away from DOS based development. In '98 I contacted one of the
beta testers of MS Access who was living in my area and was running a
successful little developer shop and asked if I could come and work
and assist for free (I guess this is what we call an 'intern' in
contemporary lingo - I was 47 at that time). And so I did. It was like
climbing a vertical wall - think El Capitan).
But I dabbled and learned and was mentored enough to be confident in
converting the Event Management System from DataEase to MS Access 97.
What was especially an issue for me to get used to was the "event"
based nature of Access and the fact that all objects were spun up in
one big cocoon like .mdb file.
With DataEase it had been so easy to send - on a slow dial up modem -
an update to a report or two. (Major updates and new features required
15 DOS floppy disks and Federal Express! : - )) )
So, in December '99 I went three weeks to Washington DC for face to
face meetings and final development and conversion of all data from
DataEase to MS Access 97.
Since then I have been 'devoted' to MS Access and been engaged with
our own MS Access development shop with a stint of 'consultant / paid
employee by my old mentor in '07-'09 and never looked back on DataEase
( - well not quite true, every few years I would look at their website
to see what they were up to and as recent as today I had a look to see
if Dbase was still in existence - and lo and behold current version is
Dbase 2019!).
To follow on with our client from back in '93 we upgraded to MS Access
2003 a couple of years after issue, likewise for Access 2010 while
skipping 2007 and 2013 versions. In 2007 we had upgrade path and
proposal to MS SQL Server ready for the client but it took another 8
years and their transition to a cloud based MS Server 2012 with remote
terminal access to finally come around to doing the transition.
(Meanwhile every year - besides adding many new features to the
application  - at least once a year we would have to sort out a
corruption issue in the MS Access backend - sounds familiar?).
So in June 2015 we finally did the transition to MS SQL backend and in
2018 to the MS Access 365 subscription based version.
No corruption issues with SQL backend - running flawlessly.
Only two times since 2015 has the system come to a halt - and both
times caused by Microsoft issuing upgrades prematurely.
The IT people of the cloud server platform has finally agreed to turn
off automatic upgrades to their MS Office 365.
But back to 2003: Dot Net came out and javascript was maturing and
there was this buzz about developing rich responsive web based
applications.
But like Bill I thought let me stick to what I know and wait for the
next "MS Access wonder"  in the world of web application development.
I have been waiting ever since - reading about Model View Controller
development, separation of concern, middleware, Java, ORMs, Single
Page Web applications or SPAs, how javascript has matured to handle
both web server and front end development with creation of javascript
development platforms such as Angular, React and Vue.
I looked into and even purchased a developer version of Alpha Anywhere
( a big hello to Arthur Fuller - wherever you are - who I know was
also a 'dabbler' with this platform) only to find it was overall too
closed a platform for my liking.
I have been reading for a while about the increasing popularity of
Python for use in science, math, big data, web development and how MS
SQL Server is now providing driver for Python and I think has provided
even closer linked features in their latest version of SQL Server. And
Microsoft has incorporated its use in Visual Studio Code very nicely.
And Python is totally open source but in good hands.
So fast forward to about eight weeks ago: Without good mentors - any
dabbling in new languages and platforms would be impossible for most
of us I guess.
I've come across some excellent youtube instructional videos by Corey
Schafer and Miguel Grinberg when it comes to an introduction to
Python, using it on Visual Studio Code or Sublime Text IDE and web
application development using Flask (which itself is written in
Python).
I find the Python development especially appealing due to the one
feature of 'virtual environment'. Once you have installed the latest
version of the Python programming language itself, for whatever you
want to do with it you will most likely depend and download a number
of 'python-packages' - pieces of software that handles various tasks
from creating a web development server or reading / writing http
requests; handling CRUD to a database of your choice (SQLalchemy with
ORM access or direct access to many different data stores), Flask as a
lightweight web development platform (recommend what Miguel Grinberg
has to offer here re introduction to Flask). I also came across the
"Read The Docs" and "Sphinx" web sites featuring apps for creating
software and API manuals and other technical documentation. Sphinx has
Python as the engine for developing these static hypertext html pages.
(For this to happen you also need to be a little bit familiar with
Mark Down code or reStructured Text code - a way to mark up plain text
files for final formatting in html or pdf that may also include
figures, photos, mathematical formulas, etc. without having to use a
graphical user interface like Word or Scrivener (the latter being an
authoring / film - theater script creation piece of software that I
used for setting up the PDF and ePub versions of a book that my wife
had written while in China). Yes, it takes effort to master and get
used to something like reStructuredText and it has annoyed me quite a
bit over the past few days - wiping the "build" folder with all the
static html pages with one terminal command -  pages created by the
underlying Sphinx python software based on some simple .rst text files
- and quickly re-creating a new set of static html pages based on
changes to the mark up in the .rst text files using another high level
Sphinx python-package command in the integrated terminal of Visual
Studio Code. ...  So with this 'virtual environment' feature you keep
each of your projects totally separate: You have the main Python core
language in one area; for each project you start in an empty
directory, with a few simple commands your create your virtual
environment to hold any 'python-packages'  - extensions that enhances
the functionality and capability of the core python language, and your
own functions, classes, objects you have separate again from your
"venv" directory holding your python extension packages necessary for
your project.

Well, this rambling has to come to an end. If you are no longer here
... I understand!

If you are :
The Event Management System I talked about above is in need of a
Contingency Plan in order to achieve a sustainable operation into the
2020's.
I recently turned 70 and although I plan to stick around for a bit
longer, no one knows what tomorrow will bring.

I am in the process of putting forward the scope for such a plan and
development of necessary documents and work flow procedures.

One part of such a plan obviously will deal with who will continue to
take charge of further maintenance and development of the application,
should I no longer be available.

ANY one who would be interested to be on a MS Access developer list
for the client to contact if and when such a step becomes necesary?

I plan to have a proper technical manual prepared during the coming
months, so anyone who may be contacted by the client to take over will
not walk into this app totally in the wild.

I can provide you with a high level overview of the data objects
making up the app and how the app hangs together (startup - linking of
tables to SQL - Forms - reporting structure etc.)

If the client agrees I also plan to streamline (refactor I think is
the parlance word) the vba code this coming year. Yes, the vba code is
what it is - not shiningly beautiful - but it's been solidly working
this many years.

Any one interested?

And thanks for reading this far!

Stay safe!

/borge

On Wed, Mar 18, 2020 at 1:14 PM Bill Benson <bensonforums at gmail.com> wrote:
>
> I have nothing to add but a WOW! "Began dabbling with [three] new
> languages". You're just what this day and age needs. I can't find the
> energy or concentration to dabble in anything I don't know already. Good on
> you Borge!
>
> On Tue, Mar 17, 2020 at 9:08 PM Borge Hansen <pcs.accessd at gmail.com> wrote:


More information about the AccessD mailing list