Hola.
Con un TDBGrid otra posibilidad es:
Código Delphi
[-]
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (TDBGrid(Sender).SelectedField.FieldName = 'Nombre_del_Campo') and
not(Key in [#8,#9,#13,'0'..'9']) then
begin
MessageBeep(MB_ICONERROR);
Key:=#0;
end;
end;
Saludos.