>>>>>Also, you're hurting yourself needlessly using ALLTRIM() in WHERE clauses; it ensures that the expression will not be Rushmore-optimizable, and depending on the SET environment, may result in unexpected matches using the
= operator.
>>>>>>Thanks in advance for your help!
>>>>
>>>>Hi Ed,
>>>>Yes, the brackets are working fine.
>>>>With the ALLTRIM(), I once had problems to match the values, if I don't use ALLTRIM. Is there another way to be sure, that the values match?
>>>
>>>Assuming that you don't have leading spaces as an issue, I'd use:
>>>
>>>cMyVar = 'MyTable.MyField == [" + PADR(this.Value, LEN(MyTable.MyField)) +']'
>>>
>>>Which uses the exactly equal comparator, and ensures that the length ofd the compare string is the same as the length of the field.
>>
>>Hi Ed,
>>A good idea! I have a similar problem somewhere else:
>>SCAN
>> REPLACE This WITH That FOR !EMPTY(THAT)
>>ENDSCAN
>>I suppose, this also is not Rushmore optimizable, but using LEN(That)>0 does not solve it: I would have to say again LEN(ALLTRIM(That)>0, which throws me back again. Do you have a suggestion??
>
>Well, one thing that may be slowing down that particular piece of code is the SCAN...ENDSCAN. It's totally unnecessary since the REPLACE...FOR spins thru the entire table also and shouldn't be put inside a SCAN loop.
>
>Bonnie
Hi Bonnie,
Isn't that REPLACE ALL what you mean? If I REPLACE ... FOR I will only replace one record IMHO?
Christian Isberner
Software Consultant