G'Day Robie,
Yes Robbie, I have experience in exactly what you propose.
Well done, I think your design is the best. I don't think it can be improved - apart from the field name.
I have done a lot of work with user fields over the years since Version 4 of Logic. I implemented a simlar thing for a friends operation, including "location", "equipment" and "antenna" data for the operation. But, we ran into problems - now largely eliminated.
Problem 1 - the USERFIELDS field in the log is limited in length - total 256 characters - and each and every userfield entry has an overhead - the name of the field, and two special characters to delimit the data. Logic also add things to USERFIELDS. Dennis recently changed the design to eliminate a couple of "blanks" in the overhead for each field. LOCATION:1 would be a bad choice, L:1 the most efficient. But, see problem 3.
Problem 2 - there used to be only 10 user fields on each log form. The display of the "location" data after all the other awards data was displayed was limited. But, that problem has been solved - there are now 20 user fields per log form. You can have hundreds of user fields defined, but can only display 20 at a time on a log form. You can use multiple open log forms to see more user fields - but, see problem 4.
Problem 3 - there is NO mechanism to put simple text onto the log form. One is stuck with the user field name or nothing by dragging the field name to the rubbish bin to hide it. Clealy L=1 is a great choice for the size issue, but is not so good for the display on the log form. But, I guess you do know what L is when you see it on the log form.
Problem 4 - one can overcome the 20 user fields display limit by opening multiple log forms - each with 20 user fields. But, there is no mechanism to synchronise the two log forms together to display the same QSO. One has to do that manually, and it does become a real pain.
The USERFIELDS size lmit is permanent - a restriction within Foxpro. When one wants to add "award" data, or CallBook data to the QSOs, space in USERFIELDS can be a big problem.
I am not sure what the current situtation is with the Logic code, but in the past - ver 4 through ver 8, if one approached the USERFIELD data size limit, user-field values could be quietly truncation. For example, after a contest, doing a call book batch update would silently add truncated user fields data.
The conclusion was - One needs to keep the user field name as short as absolutely possible, and the values appropriately small.
You seem to have done this.
To use the idea. First create your location in "list of valid values". Then when you work from that location, use Log, Setup to set the correct values under Defaults - then each QSO will have the correct value as you add the QSO to the log. If you use the same location often, create different log forms for each location from which you operate - each with appropriate values for the location - antennas, radios etc etc. Alternatively use the "carry forward" check box when you define the user field on the log form.
I take lots and lots of backup, and I periodically run a filter to show all QSOs where "LEN('USERFIELDS') > 200", to check what is happening in USERFIELDS in the Log.
There are tools in the Lists dialogue to assist in renaming, removing user-fields, and in the Log Fields dialogue to help manage the system. I often use "List all user-defined fields used in the Log" on the Log fields dialogue to check what actually is in the thousands of QSOs. Look for strange names you did not create.
A backup at each step that modifies your log is a good thing if you attempt this sort of work. It is very easy to trash your whole log when using Advanced Database commands. Extracting the data from the comment field of old QSOs would be relatively easy. See this
thread for an example.
Your design is optimum - great job. Now the issue is data entry/update.
Peter VK4IU
Peter VK4IU
You can help by posting images of
any errors and including your
Logic version.