Lotus Approach is a database development tool that was first released in 1992. It won many awards for its simplicity and ease of use and, in a form not very different from the original, it is still in use around the world by enthusiastic users. We at Meadowlark write a broad range of applications in a broad range of languages, many of them are databases, but we still use our trusty Lotus Approach databases on a daily basis. Why pension them off for something "more modern" when what we have is perfectly fit for purpuse? We believe it still has a role as a fast, robust, capable database development option.
Databases are everywhere. Of all the different types of applications, they are the most widely used, and possibly the most useful. They, possibly more than any other type of application, justify money spent on computing hardware.
The simplest example of a database application is that of the contacts app (that stores your telephone numbers), present in nearly all mobile phones. The app stores contact information, it can be searched, updated, and even shared. How useful would a mobile phone be without this amazing resource? Just out of interest, how many telephone numbers can you remember? If the list is short, perhaps you are already aware how useful this simple database application is?
Mastering a simple database like this is an important step toward mastering computer technology generally, but what if you understood databases sufficiently that you could create your own, for your own purposes, that would run on your PCs, laptops, and tablets? It is really not that hard with something like Lotus Approach, and this website is intended to make that journey as easy as possible.
Firstly, Lotus Approach is still in use around the world by a large number of users who are adamant they will not move to anything else. It runs happily on Windows 10, Windows 8.1 Window 8, 7, Vista, XP, 2000, ME, 98, and 95. At Meadowlark, We use Approach on a daily basis to manage our customers and jobs. We make this choice despite having spent more time, and earnt more from, say Microsoft Access development. We could have favoured Access or Filemaker Pro for daily use, or MYSQL, MSSQL, or SQLite, but they would entail more development time and support, effort and expense. We run a business, and need to make money from our work. When we write software for ourselves for example, time is money, and we want it completed as quickly as possible whilst still being fit for purpose. We want software, that does not need regular upgrades, or costly renewal fees, it needs to just work, and work well, and Lotus Approach has offered us this advantage over the twenty five years we have been using it.
Approach does not need a powerful computer. Anything made in the last twenty years should do. I.T. has to deliver its many promises, and sometimes Lotus Approach is the best for that purpose even in 2019.
If the thought of writing source code in any language fills you with dread, then take comfort from the fact that you can produce outstanding database applications in Approach without any code at all. See our page later in this series for more details. Of course if you wish you may use Lotusscript to enhance your application, but it is not strictly necessary. You can also use macros. Macros in Approach are in fact a doddle. They are easier to use than in for example Microsoft Access.
By far the biggest barrier to learning a new skill is that of access, or shall I say, a lack of it. Generally if you wish to learn how to create a database, some type of database development tool needs to be purchased, installed on your computer, and perhaps configured. Any of these tasks may not be possible or desirable for someone just wanting a simple route to learning. With Lotus Approach all these barriers are minimised. It can be freely downloaded as part of Lotus Smartsuite from https://archive.org/details/LotusSmartSuite99. Full instructions for installation are provided here
It is a quick painless process, more so than for most paid for database tools.
Because Lotus Approach runs on some very old hardware (the sort of computer that might have very little current commercial value, it is possible to re-purpose an old computer, too slow to run a modern operating system. Just install Approach and an Approach application to turn it into something genuinely useful.
Approach is odd in that it does not provide its own database format. This is an advantage. Approach can use any of the tried and trusted database formats that are already in use. With Approach the emphasis is on being a cross-database development tool. It is entirely feasible to create an Approach user interface to a database that was developed originally by some other means. For example, why not use Approach to develop a powerful user interface to some MSSQL database that accounting keep under wraps? It achieves this using something called ODBC (open dababase connectivity).
Perhaps a fairer comparison is between the Lotus Approach development tools and those of Microsoft Access. We have plenty of experience of writing Access applications, and Lotus Approach wins hands down for simplicity and ease. If however your database needs are complex (most are not), or you are obliged to use Microsoft technology, then Approach is not for you.
Lotus Smartsuite can be downloaded free of charge from https://archive.org/details/LotusSmartSuite99, and so there is no cost of investment other than your time, or the time of your chosen Approach developer. Because Lotus Approach is essentially simple, it is possibe for developers to be more productive with Approach than more mainstream database development tools. This equates to lower cost of development.
Because the cost of entry is so low, if you decide Approach development is not for you, you can abandon it without major financial outlay. The chances are that prior to abandoning Approach you will still have learnt a great deal about database technology.
Most databases fulfil four simple roles: they allow database records to be added, changed, deleted or located. As such Lotus Approach fulfils these basic requirements with ease. It is a relatively simple database development tool that contains everything you need for all the above roles and more. All software has limitations, and Approach's bugs we discuss later, but do not be detered. Lotus Approach is an amazing development tool.
Lotus Approach may not have an equal for the purposes of learning database technology. Everything is in one place, it is intuitive, it is complete, and simple, and if you look hard enough on the web, and elsewhere you will find plenty of material that will help you complete your project.
Software vendors like Microsoft, make their money from upgrades. Microsoft Access for example has had a number of major upgrades since it was first released in 1992. Some of those upgrades constitute a fundamental change to the way Access applications look and behave. It is fair to say that the current version of Access bares little resemblance to that first release. This upgrade policy has its implications.
Users and developers of Access applications need to re-learn and re-code their databases whether they want to or not far more regularly than they would like. In comparison, Lotus Approach has had fewer major upgrades since its first release, and none of those upgrades constitute major changes to the database itself. As such, users and developers can continue using their familiar Approach software with the confidence that comes with time. Most database users do not want to upgrade their software if what they have works fine. As an example, in 1997 we developed a customer relationship management system in Lotus Approach, and the customer is still using it, as are we, after over twenty years. How much software is still in regular use twenty years after it was first created? This is an exceptionally rare feat in I.T; software that is old but still in use. Old, but good software is outstanding value for money, and there is something to be learnt from this. Typically, the I.T. industry is pathalogically wasteful of resources. How many times have you had to upgrade your computer in the last fifteen years?
You might want to learn Lotus Approach for this reason. Customers often do not care what database development tool the developer uses to develop their software, or what programming language it utilises. They do not care how many PhDs the developers have, or how hard it was to write the software they have been sold. They do care however that the software does what you have promised, does what they need. Lotus Approach for all its advanced years and simplicity, might be the means by which you fulfil this need. If it is not, but you lash together a database that teaches you a lot, and provides a starting point for a more expensive and informed solution, then that is a success.
In its heyday, I would not have said a Lotus Approach database was particularly secure. However the world has changed and now users are happy to share their data on servers around the world, and provide extensive access to it to strangers. As such, Lotus Approach databases are now in fact very secure. They run after all on a single PC, or a local network, and any good I.T. professional can make them far more secure than the typical web based database. How many times over the last year have you heard of data breaches of web-based systems? It is most troubling.
The database development skills you learn on this site are transferable to any database platform. Lotus Approach lacks many of the heavy weight features of say MYSQL, but you will - after learning about database technology - be able to decide why you do, or do not need these features. In fact in many cases you do not need them as you will soon learn.
By the time users have followed this tutorial, they will be familiar with the concept of tables, of table joins, of records, of fields, of forms and reports, and searches. That is enough to provide a sound working knowledge of databases, and to permit the user to create very powerful database systems, just with Lotus Approach.
If you are one of the following, you may find that Approach is for you.
Lotus Approach is an excellent database technology learning tool. However, few I.T managers understand this or even know it exists, or that the skills you will learn from learning Approach are transferable to any database platform. They might not want you forging ahead and producing a corporate database with unfamiliar technology. In short, it is not something upon which to forge a new career in I.T.
Approach is a desktop database. It runs only on a local network, and will not support a large number of concurrent users. If you need something that connects remote users around the world, Lotus Approach is probably not the solution. Though I do not doubt there will be some bright spark out there who could challenge this idea with a working example.
If you are looking for an I.T. job as a database developer, most employers will not ask you for skills in Lotus Approach development. When I.T. managers think of small databases, typically they think of Microsoft Access or perhaps FileMaker pro. This is unfortunate as Lotus Approach can be used to develop simple database applications faster and far cheaper than either.
A database is typically a collection of structured data. It consists of a collection of records.
Each record corresponds to a chunk of related information comprised of fields. A record might store a person's address, or the specifications of a car, or a part description.
Records are made up of a number of fields which each have a strict data type (I said the data was structured), and these fields will mostly consist of data that is textual, numeric, or of date type. There are other data types which we will come to later. Let us look at a simple example of a record
A persons age will be stored in a field of numeric type, telephone numbers are usually stored as text quite simply because they are a string of integers, but start with a zero, and so are not really valid numbers. A persons name would be stored as text, but what does a field look like?
When you look at a computer screen showing a database, you are usually looking at a set of fields which collectively comprise the record. See "Basic Form Example"
Records typically have at least one field that can be guaranteed to have a unique value, not repeated anywhere else in all the records. It may be a field that has no relationship to the data in the other fields in the record. Often it is an integer, and this increments by one as new records are created. This field can be thought of as a key, that once chosen, identifies one an only one record.
Just as records can be thought of as collections of fields, databases consist of tables which are collections of records. The collection of all the tables in the database comprise the working data of the database in its entirety. In a very simple database application you might have two or three tables. More complex applications might have hundreds or thousands of tables. There is just one point I should stress.
Tables are related to each other. We think of them as joined by "joins" that tell us how they work together. This is a very important concept in database technology, but more of that later.
Lotus Approach is installed on a local PC (perhaps the one you are using now) and runs (usually) on the local network. As such the database is likely to be pretty secure as there is limited access to it. Cloud or web based databases provide wider access (perhaps access to the whole world via a browser), but can be less secure as it is web based, and the data moves across third party networks which cannot be controlled.
In short, with a cloud/web based database your are entrusting your data and systems to third parties and must have faith in their integrity and competence. You must trust in the entire supply chain of services. Of course if your objective is to share your data with others: perhaps geographically dispersed, then a cloud based solution may be ideal. Even then, there are ways to run Approach applications world-wide.
On the next page, we are going to show you how to install the database development environment.Next