I posted this question on another v9 thread I had found earlier. (no response)
http://msgboard.alphasoftware.com/al...l=1#post597286
Ironically, for the FORM.find() function/method to work, it seems that you have to pass this function a numeric value by using eval() even when the record you're looking for is indexed, auto-incremented, and designated as type C. ex: "00101" versus 101 - Where in effect you have to send the numeric value 101 to find record "00101" in order for FORM.find() to work.
It appears that the FORM.find() method presumably searches all indexed fields, which is presumably both risky and inefficient/slow to use. And in doing so, it somehow magically converts all indexes to a numeric field type prior to searching for a match..... Actually, I wonder whether all .dbf indexes are somehow internally stored as numeric values (regardless of actual field type), which could explain why FORM.find(vGoToRecord) needs to be passed a numeric variable??????
Is there a better function that allows you to explicitly specify the indexed field (in a form based on a set) you're trying to search.....
(IE: lookup button on an invoice ~ I've found workarounds, but no single line function that can do this.)
Maybe this is one of those situations where writing a function and storing it in the code library is the only solution....
http://msgboard.alphasoftware.com/al...l=1#post597286
Ironically, for the FORM.find() function/method to work, it seems that you have to pass this function a numeric value by using eval() even when the record you're looking for is indexed, auto-incremented, and designated as type C. ex: "00101" versus 101 - Where in effect you have to send the numeric value 101 to find record "00101" in order for FORM.find() to work.
It appears that the FORM.find() method presumably searches all indexed fields, which is presumably both risky and inefficient/slow to use. And in doing so, it somehow magically converts all indexes to a numeric field type prior to searching for a match..... Actually, I wonder whether all .dbf indexes are somehow internally stored as numeric values (regardless of actual field type), which could explain why FORM.find(vGoToRecord) needs to be passed a numeric variable??????
Is there a better function that allows you to explicitly specify the indexed field (in a form based on a set) you're trying to search.....
(IE: lookup button on an invoice ~ I've found workarounds, but no single line function that can do this.)
This is what I'm looking for. (It's obviously "pseudo-pseudo code", and won't work): topparent.find_by_key(key_name,key_type,key_value)???
Maybe this is one of those situations where writing a function and storing it in the code library is the only solution....
FUNCTION = apply a filter (query) based on an xdialog lookup, and then issue a FORM.show_all() after record is found, so all records in the form are still navigable.) ~ pseudo code: query one record and go to it, then remove all filters (query) without navigating off the record....
Comment