Are you working in a customization? Or a VBTools (SDK) screen?
If it is a customization, a quick test shows that setting chkstrg to the new value appears to have no effect.
But this code worked. (in the cName control on the Customer Maintenance screen).
If LCase(Trim(ChkStrg)) = "abc" Then
serr1 = SetObjectValue("cname", "def")
End If
Obviously that code has the potential to cause an infinite loop, so you would need to be very careful to ensure your code prevents that.
Barry