Question and bug on choices/clairvoyance

I am using code in one field to set the choices for the next field, depending on what is entered for the first field. Imagine three consecutive fields, A, B and C.

Code for A starts with “field B” and then a setfieldproperties.

This works, if one finishes the first field with return. However, if tab is used instead, Panorama sets the choices for C instead of B. I believe this is a bug.

My question is it is possible to restrict the fields on which clairvoyance operates to achieve a similar result?

You can’t use the field statement in code that is triggered by data entry. Panorama itself is manipulating what field is current, and that conflicts with you doing so in your code. So if you want to change the order in which fields are tabbed, you can’t use the field statement to do that. Fortunately Panorama X 10.1 added a method for doing that.

Unfortunately, this doesn’t help for what you want to do. Currently there is no way to set the field properties of a field that is not the current field, and you can’t change the current field in the code that is triggered by data entry. I’ve added this as a proposal in the issue tracker.

However, I don’t think this is what you want to do anyway. What if you just double clicked on a cell in field B, you would want to set the choices right then based on what is in field A, even if that was entered a year ago. However, that isn’t currently possible to do either.

So I’m sorry, but I’m afraid dynamically changes the choices like this simply isn’t possible with the current version of Panorama X, at least not in the data sheet. You should be able to do this in a form using a pop-up menu or text list for field B – or in the data sheet you can make a customizable pop-up menu appear when you click on field B, see Running Code when a Field is Clicked on this page.

I don’t understand what this question means. However, Clairvoyance isn’t customizable, so I’m guessing the answer is no.

Presumably Clairvoyance operates on the entire column of data. I wanted a way to restrict it via a query based on the contents of “A”…

That’s an interesting idea that I don’t think has ever been suggested before. I can definitely see the potential usefulness that could have, so I’ve put it into the issue tracker for future implementation. Thanks @jbb, I’m glad I asked for clarification!

Maybe it could be generalized by having the option of having Clairvoyance work on either a field or an array.

I have run into problems with Choice fields making them unusable in Panorama X, and have been using Clairvoyance instead, and using Clairvoyance on an array that I define would solve many problems that I have. For instance, I used to buy something which is no longer available, but starts the same as the replacement, and I do not want to remove the old entries in the field. I could make an array and eliminate the old item, and it would be much easier to use,

It would also allow me to replace one of the deficiencies in Choice fields, adding a new choice, as any new entry could be added to the array.