チェック ボックスを使った論理型フィールド値の処理

提供: RAD Studio
移動先: 案内検索

単一レコードの表示 への移動


Vcl.DBCtrls.TDBCheckBox は、データベース対応のチェック ボックス コントロールです。これを使ってデータセット内の論理型フィールドの値を設定することができます。たとえば、顧客宛請求書フォームにチェック ボックス コントロールを配置して、オンにすると顧客を非課税扱いにし、オフにすると顧客を非課税扱いにしないようにできます。

データベース対応チェック ボックス コントロールでは、現在のフィールドの値を ValueChecked プロパティおよび ValueUnchecked プロパティの内容と比較して、オン/オフの状態を管理します。フィールド値が ValueChecked プロパティと一致すると、コントロールはオンになります。それ以外の場合に、フィールド値が ValueUnchecked プロパティと一致すると、コントロールはオフになります。

メモ: ValueCheckedValueUnchecked の値を同じにすることはできません。

ValueChecked プロパティには、ユーザーが別のレコードへ移動したときにコントロールがオンになっていた場合に、コントロールがデータベースに登録する値を設定します。この値はデフォルトで "true" に設定されていますが、必要に応じて任意の英数字の値に変更できます。また、セミコロンで区切った項目のリストを ValueChecked の値に指定することもできます。その項目のいずれかが現在のレコード内のそのフィールドの内容に一致すれば、チェック ボックスはオンになります。たとえば、ValueChecked の文字列は次のように指定できます。

 DBCheckBox1.ValueChecked := 'True;Yes;On';

現在のレコードのフィールドに "True"、"Yes"、または "On" の値が含まれていると、チェック ボックスはオンになります。フィールドと ValueChecked の文字列を比較するときには、大文字/小文字は区別されません。ValueChecked に複数の文字列が設定されているチェック ボックスをユーザーがオンにすると、最初の文字列がデータベースに登録される値になります。

ValueUnchecked プロパティには、ユーザーが別のレコードへ移動したときにコントロールがオフになっていた場合に、コントロールがデータベースに登録する値を設定します。この値はデフォルトで "false" に設定されていますが、必要に応じて任意の英数字の値に変更できます。また、セミコロンで区切った項目のリストを ValueUnchecked の値に指定することもできます。その項目のいずれかが現在のレコード内のそのフィールドの内容に一致すれば、チェック ボックスはオフになります。

データベース対応チェック ボックスは、現在のレコードのフィールドに含まれる値が ValueChecked プロパティまたは ValueUnchecked プロパティのどの値とも一致しない場合は、無効になります。

チェック ボックスが関連付けられているフィールドが論理フィールドの場合、フィールドの内容が True であればチェック ボックスは常にオンに、フィールドの内容が False であれば常にオフになります。この場合、ValueChecked プロパティおよび ValueUnchecked プロパティに指定された文字列は、論理型フィールドに影響を及ぼしません。

関連項目