DBGrid内のセルをプロテクトかけるには?


しげ  2002-08-14 22:29:49  No: 1269

はじめまして。
DBGridを使って問い合せを作っているのですが、
入力項目以外を保護をかけれなくて困っています。
DBGridへのDataSetはTQueryを使用しています。

procedure TFjoken2.Qr_JokenBeforeEdit(DataSet: TDataSet);
begin
if (Fjoken2.DBGrid1.SelectedField.FieldName = '得意先CD' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '得意先名' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'メーカーCD' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'メーカー名' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '商品CD' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '商品名' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '規格' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '入数' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'ケース' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'バラ' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '基準単価' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '売価' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '補償差額' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '金額' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'メーカー補償不足単価') or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'メーカー補償不足金' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '補償金額' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '金額商品計' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '不足金商品計' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = '補償金額商品計' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'メーカー補償金額1' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'メーカー補償不足金1' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'メーカー補償金額2' ) or
(Fjoken2.DBGrid1.SelectedField.FieldName = 'メーカー補償不足金2' )
then
Abort;

end;

左端が"▲"の状態の時は、上記の記述でうまくプロテクトがかかりますが、
"]["の状態では全くプロテクトがかかっていません。
プロテクト部分も追加・変更で違います。
いい方法を教えて下さい。

TQueryのCachedUpdatesをTrue、TUpdateSQLで更新を行うようにしています。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加