Hi Neil
I'm guessing your lcAction variable went out of scope and maybe you have an error handler suppressing a possible warning.
Try this instead
>
>SELECT vwmactions
>lcaction = vwmactions.event
>
>SET FILTER TO event = &lcaction.
>LOCATE
>
>thisform.pageframe1.page1.grid1.Refresh()
>thisform.refresh()
>
>
As to coming at it the wrong way, I'd say you are. I strongly recommend you consider using SPT or cursor adaptors instead of SET FILTER. Set filter and grids are not a good combination - when the number of records displayed in the grid is very few of a large number of records in the table. SQL also let's you create cursors from multiple tables more easily than the corresponding SET RELATIONS/SET FILTER etc. Keep it in mind.