One of CiviCRM’s strengths is the ability to add custom fields to hold specific information about your contacts. One thing it doesn’t offer (yet) is a calculated field type that will present the results of calculations of other fields. While calculated fields are generally discouraged in relational database design, they are sometimes necessary within a…
Category: Programming
MySQL User Defined Function Example: Data Cleanup
(Updated June 9, 2016) The Challenge One of my current projects involves migrating a large amount of data away from an old custom Borland Paradox application into a new CiviCRM system. As with too many quickly-constructed apps, this old Paradox database wasn’t especially well designed and, among other the other challenges in salvaging the data, there were…
Coding Basics – Deceptively Simple Programming
In my last post on coding basics, I talked about turning an algorithm into code and used Euclid’s Algorithm as an example of programming a sequence of steps. There’s an even simpler type of algorithm that I want to look at this time. A formula, such as the one for converting Fahrenheit to Celsius, is also…
From Algorithm to Code
In previous articles, I’ve talked about the importance of finding the right algorithm, or series of steps to follow, when coding a solution. Efficiency in terms of the amount of memory used and the amount of time taken by the operation are key factors for the program. Sometimes an appropriate algorithm is already available and in…
Adding Passswords to Microsoft Access Switchboard Options
The Switchboard Manager in Microsoft Access makes it easy to create a system of menus that will enable your users to navigate through your application. It also relieves you of the need to manage multiple menu forms and macro calls. Sometimes, however, you might want to keep all but a few users out of specific…
Fixing the Orange (or Red) Status Icon in WampServer
As part of my latest project, I decided to try out WampServer, the Windows development environment for developing web applications with Apache web server, MySQL database and PHP scripting (Windows, Apache, MySQL, PHP – WAMP). Packages like WampServer and EasyPHP are simplified ways to create a testing environment on your PC without spending a lot…
What is Recursive Programming?
When writing programs, it’s often necessary to perform repeating operations on collections of items such as customer orders or invoices. Often, you can just iterate through the collection or count the items to determine how many times to perform the operation. When working with a hierarchy of items such as a directory structure where you have…
Using Visual Studio to Manage Your Data
(This article was updated in August 2018 for use with Visual Studio 2017.) Moving Beyond Microsoft Access I’ve written a lot about Microsoft Access over the years and still believe it’s a great training ground for people who want to learn to design database applications. Its user-friendly interface provides an easy learning curve and introduction…
Long Term Strategies for a Software Development Career
Part of the Getting Started in Software Development series. Reviewed – July 2023 In the last chapter, I talked about some of the current options when it comes to getting started in the programming field. I mentioned several development tools that you can get familiar with to decide what path you want to take as…
What You Should Know About Programming Technologies
Part of the Getting Started in Software Development series. Reviewed – July 2023 So far, I’ve given you some general ideas of what it takes to start and maintain a career in software development but you’re probably still wanting some direction as to the actual first steps of learning how to program. In this chapter,…