LaRetta Posted August 21, 2011 Posted August 21, 2011 I have attached a simple file. If I search for A...Z in these records, it is not finding two records that I thought it should find (I have changed these two records' text to red). Can anyone explain why these two records would not be found in this script? I keep trying to pin down the theory and I just don't get it. :idunno: AlphaRange.zip
LaRetta Posted August 21, 2011 Author Posted August 21, 2011 Actually it was the other text which was throwing the results. It is working as I would have expected ... finding up to Z but not including words that begin with Z(anything). To find all alpha, we would search for A...ZZ to include all Z entries. It was the test which was flawed. :crazy2:
joaocarlo Posted August 22, 2011 Posted August 22, 2011 Try "A*...Z*" Use "*" for all unknown characters more sources: Find Text and Characters
LaRetta Posted August 23, 2011 Author Posted August 23, 2011 Hi joaocarlo, Thank you for the suggestion! One thing ... if you search for "A*...Z*" then it does not find records with single 'A' so I would suggest instead "A...Z*". I would be inclined to use "≥a" instead of a range but they both work better than "A...ZZ" (what if, for once, a word began with 'ZZZ')? I would probably use "<a" to find words beginning with numbers. Regardless, there are records which could escape all three of these searches; characters such as dash, period, equal, dollar. It would then be business decision where these characters should be grouped. One might need to perform a search and then show omitted to get the desired record set. Interesting stuff! UPDATE: And, knock on wood, there may be other issues regarding these types of searches that I am completely missing. I have no idea, for instance, what would happen with lower ASCII or other types of invalid characters. I would assume they would be ignored as well because they couldn't be indexed (thinking out loud) ... 1
comment Posted August 23, 2011 Posted August 23, 2011 if you search for "A*...Z*" then it does not find records with single 'A' That's weird. The first wildcard is of course redundant, but it shouldn't make a difference. Interestingly enough, it does work as expected if you enclose the "A" in quotes.
LaRetta Posted August 23, 2011 Author Posted August 23, 2011 I was surprised as well. I am unable to replicate your suggestion of surrounding the A with quotes. I used "A" & "*...zzzzz". Would you tell me what you used for your test? Another surprise is search for "*...zzzzz". It finds everything except for special characters mentioned above. This makes no sense either, since these characters sort before alpha and appear in the index. In fact, $ appears AFTER .999 in index and .999 is found and dollar isn't. "≤zzzzzzz" produces the same results. And a rhetorical question, I suppose but: if you have all records showing on a text field and sort it ascending, shouldn't the order of the entries be the same as the index? Take equal, dash, underline and period, sort them, then compare. Sort produces: - = _ . Index produces: _ - . = I am unsure how these inconsistencies may affect our work but I think it important to know about them.
comment Posted August 23, 2011 Posted August 23, 2011 I am unable to replicate your suggestion of surrounding the A with quotes. I used "A" & "*...zzzzz". Would you tell me what you used for your test? I did this manually. if you want to script this, you must set your field to = "\"A\"...z*" or = Quote ( "A" ) & "...z*" The other thing is that even with a range find, Filemaker still searches for words that begin with… and no word can begin with $ for example, since it is a word delimiter.
LaRetta Posted August 23, 2011 Author Posted August 23, 2011 Word delimiters! Yes! You can view it by [CTRL-I] and then 'show individual words' which will take $minus and turn it to $minus (if indexing is set to auto or all); delimiters drop off. A relationship based upon 'field < a' relates and includes records beginning with (or only with) delimiters. That's about the only way I've used alpha ranges.
comment Posted August 23, 2011 Posted August 23, 2011 A relationship based upon 'field < a' relates and includes records beginning with (or only with) delimiters. Well, I'd be the last one to claim it's all perfectly consistent. But keep in mind that a relationship is paragraph-based, unlike a (default) find which is word-based.
joaocarlo Posted August 23, 2011 Posted August 23, 2011 I agreee with you LaRetta… "a*...z*" is not the best away… I try find with "≥a" with some words and single characters. the results are: A,Æ, Albert,Américo, Antonio, B, Bandeiras, Bento, Berthold, C, Charles, D, E, F, fl, G, H, I, J, João, K, L, M, N, O, P, Q, R, S, Silva, T, U, V, W, Wrestling, X, Y, Ypsilon, Z, Zacarias, Zest, Zeus, µ and omit the next: 123456, 2456, €, &, @, =, ?, #, ⁄, }, {, ≈, ©, ∏, ‡ Sorry my english,… LOL
Recommended Posts
This topic is 4842 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now