English

Killer ValuesWalk Custom Function

Discovering ways to make software faster and more efficient brings a great amount of joy to developers. The reason behind this is simple: with enough experience, you come to realize that straightforward and simple code is much easier to maintain than complex and hard-to-maintain code. Self-contained code with fewer dependencies is both easier to understand and refactor.

In this video, I share one of my all-time favorite functions in Claris/FileMaker development, the Custom Function named CustomList. Although this function has served me well, it has now been surpassed in terms of speed and optimization by a newer method - the ValuesWalk function. This video demonstrates how you can utilize FileMaker's calculation engine to calculate the results you need and then seamlessly display those results within your user interface using the ValuesWalk function.

Moreover, the ValuesWalk custom function extends far beyond the simple use case presented. It can be employed to process any type of data, from generating ad-hoc delimited text files to processing simple lists. The ValuesWalk function is absolutely a valuable tool that every developer should be familiar with. With built-in performance testing, you can determine the optimal chunk size for processing the data you are working with. This knowledge is essential for advanced Claris/FileMaker development and is a must-know piece of information for developers aiming to optimize their solutions.

Tags:
AttachmentSize
03-Invoice Solution-ValuesWalk.zip3.44 MB

Custom Dynamic Value Lists

Within the realm of FileMaker development, there are a number of key techniques which allow you to do the types of things you'd normally expect in any development environment. Many of these have been around for many years. In this case, this one, a decade. The unfortunate thing is that some of these obscure methods and techniques just aren't that easy to replicate from memory. Some are hidden in the corners of FileMaker development because they feel like they're "hacks". But, at least they get the job done.

For FileMaker, the fact that you can derive a value list from a related set of values is extremely valuable. If you have a class of cars and you need a value list with a sublist of models, then getting a related value list is really easy and useful.

But, what if you need a bit more control? You want to specify the exact values used. They need to be custom and you want to include calculated values which are dynamic in nature. You also want them in some type of fixed order and separated with dividers. Doing this is "almost" impossible unless you know the special "hacks" which allow you to achieve the desired result. This video and technique file will show you how to take full control of value lists and use Custom Dynamic Value Lists in the exact way you think you should be able to!

Tags:
AttachmentSize
CustomDynamicValueLists.zip1.59 MB

Better Drop-down Lists

Oh the pain of a slow rendering layout! The other day I came across a painfully slow layout which was literally CRAWLING. It reminded me of one of my own situations where I needed to create a solution for some type of creative data input. This, of course, was based on FileMaker's input limitations between two types of fields.

The choice of using a Drop-down list over a Pop-up menu field style was based on the type of input being managed. I didn't want the forced interaction of having to click, as is the case with a Pop-up menu. I also didn't want the whole menu of options, which were a lot, covering the whole screen. I liked the shortened option list presented with a Drop-down list.

I didn't, however, like the fact that a Drop-down list allows the user to simply input arbitrary data. I HAD to have the user make a selection from the list and wanted the shorter Drop-down list presentation. So, I set about the task of addressing the biggest issue first.

That issue was that normalized data uses your primary and foreign keys (id values) and NOT what you typically want to display. You want to display the associated human-readable value. In FileMaker, this almost always requires the use of two layout elements. One to store the data and another to display the data. The trick was figuring out how to make the Drop-down list do this - and make it fast! Hence the solution you're going to be viewing and experiencing in this video and technique file.

Tags:
AttachmentSize
BetterDrop-downLists.zip1.59 MB

Mutually Exclusive Values

Value lists are one of the fundamental building blocks of any good UI built on top of a database system. Providing users with a preselected list of options to choose from helps the data entry process go faster and - is - just easier.

When using value lists, there are times when you need to limit the number of selections of any given value to being used just once. You may also need to enforce that one of each of all possible values is used.

In this video, we tackle both situations by enforcing mutually exclusive values. The user can pick any given value only once and they must use all possible values. While this is what's implemented in the technique file, it's not the limit of how you can use what is taught. You can, of course, modify the technique file to accomplish whatever you need regarding the selection of unique values. It's the tips and tricks you learn along the way that improve your FileMaker development skills.

Tags:
AttachmentSize
MutuallyExclusiveValues.zip1.66 MB

Reducing Available List Options

Whether you're just starting out with FileMaker Pro or you've been hovering in the intermediate zone for a little while, it's always a good thing to have a solid understanding of how to structure data and use the Relationship Graph in order to accomplish the end objective.

When it comes to presenting a reducing set of available options, you have to understand how to get at what isn't being used in order to present it. The steps you need to take to show what isn't being used requires you to, first, know what IS being used.

In this example technique file and video, we take a look at breaking down the individual parts which make it easier to understand how to present a list of reducing available options. Once you know how to create dedicated filtering keys and how to construct your value list, it should be pretty easy to present the data you want to present.

Tags:
AttachmentSize
ReducingAvailableOptions.zip1.66 MB

Ultimate Value List Control

People like to have things their own preferred way. Wasn't there some slogan for 40 years somewhere that said "Have it your way."? If people - developers in particular - can control the output, then life is good.

Within FileMaker, value lists are one of those areas where you may feel like you simply don't have the amount of control you should have. It's neither obvious nor inherently possible to control the order in which values are presented in anything other than an explicit value list. You know, the one where you type in the literal values.

The problem is, most value lists are not static. They're typically coming from the data within your solution. It's either all values from a given field or related values through a relationship.

FileMaker only provides you with one type of output, an ascending sorted value list according to the index of the field.

You can't programmatically add to it, nor can you subtract from it. You also can't control the sort order. At least not intuitively!

In this video, I show you a simple solution which provides all of the functionality missing above. You can combine both dynamic and static values and you can also control the order in which they are presented. Need more control over your value lists? This video and technique file will provide the answers!

Tags:
AttachmentSize
UltimateValueListControl.zip279.84 KB

Interdependent Value Lists

Back in October of 2012, I provided a video titled User-based Value Lists. Earlier in May of that same year, I presented Cascading Value Lists, which uses the new ExecuteSQL to generate the value list options. This video provides yet more information and another way of providing the same feature - plus many great tips along the way.

The method presented within this video does not use ExecuteSQL and may be easier to implement and manage if you're not quite ready for SQL.

As with most any software project, the goal is to provide the most power with the least amount of stuff (code) to manage. Any FileMaker solution can easily grow beyond it's maintainer's ability to understand every aspect of what they did before. If you consider a single master value list and one single script a powerful way of managing all value lists within the whole solution then you're in for a treat!

Tags:
AttachmentSize
InterdependentValueLists.zip68.12 KB

User-based Value Lists

FileMaker provides a wonderfully easy interface for adding values to a value list. You simply type in values to be presented within your Pop-up, Drop-down, Radio or Checkbox field. Set the field to use the value list and you're good to go.

The problem, however, is being stuck with those values and then scripting an entire solution around them. If you know for 100% sure - of course, who's ever 100% sure - they will never change, and you're only EVER going to work in that one database within that one single language, then you'll need little of what this video presents. Of course, you'll miss out on some great tips.

If, however, you relish in flexibility and control, this video will present some of the most useful information you may discover about value lists. The video will show you how to account for user specific values and how to centralize your control over these values and how they are presented.

You'll even learn how to precisely control the presentational order of the values within the user interface. We're talking about centralized, multi-lingual, permissions-based, full developer sorting controlled value lists.

Tags:
AttachmentSize
UserbasedValueLists.zip57.9 KB