Calculated field from memo.

Using D2 with W95.
I'd like to display the first (eg) 30 characters of a memo field as a
column in a DBGrid. I've defined a calculated field in my TQuery, and set
the value in the OnCalcFields event.
The problem is that it doesn't always show the correct value, and records
are repeated in the grid.
Any suggestions (preferably by e-mail) appreciated.