項目属性ダイアログ,データオブジェクト属性ダイアログ
項目属性ダイアログは,表またはビュー表の項目のさまざまな属性を設定・変更します。データオブジェクト属性ダイアログは,カードのデータオブジェクトの属性を設定・変更します。
- 目次
- 項目属性ダイアログの共通部分
- 項目属性ダイアログの基本ページ
- 選択肢ページ
- 入力ページ
- 条件ページ
- データオブジェクト属性ダイアログの相違点
- 項目番号
- 表の最初の項目を1として項目に付けられた連続番号が表示されます。右側の増減ボタンによって増減し,それに伴なってこのダイアログが対象とする項目が移動します。この増減ボタンによって対象項目を移動する場合,それまでの項目の属性を変更しているとその変更が確定します。
- 項目名
- 設定対象項目の項目名が表示されます。この項目名を変更すると,対象項目の項目名が変更されます。機能ガイド:表:項目属性:項目名
- コンボボックスのリストの中から他の項目名を選ぶと,設定対象項目がその項目に移動します。そのとき,それまでに行なった対象項目への属性変更が確定します。
- データ型
- 設定対象項目のデータ型が表示されます。基本ページでデータ型を変更すると,このデータ型表示も変わります。
- 項目挿入ボタン
- このボタンを押すと,現在の設定対象項目の直前に新しい項目が挿入されます。項目名を入力し,各属性を設定してください。
- 項目削除ボタン
- 現在の設定対象項目が表から削除されます。
- 表示形式ボタン
- 表示に関する属性を指定するために表示形式ダイアログが開きます。表示形式ダイアログでは,初期状態として<標準>表示形式が選ばれ,項目属性ダイアログで編集中だった項目の属性が表示されます。
- データ型
- 項目のデータ型をリストボックスの中から選びます。機能ガイド:データ型と定数
- 項目種別
- 表の場合,次から選びます。機能ガイド:表:項目属性:項目種別
基本項目 | 通常の項目です。キーボードなどから値を入力します。 |
計算項目 | 他の項目の値や組込み関数などにより,自動的に値が計算されます。 |
仮想項目 | 計算項目と同じですが,表ファイル中に値が格納されず,レコードが参照されるたびに計算されます。 |
ビューの場合,次から選びます。
元表項目 | 元表の項目を単独で参照する項目です。 |
元表計算項目 | 元表の項目名を含む式で表現される項目です。ビュー評価時に値が設定された後は,基本項目と同じ動きになります。 |
基本項目 | 元表とは関係ない項目です。 |
計算項目 | 元表の項目名を含まない式で表現される項目です。 |
仮想項目 | 計算項目と同様に,元表の項目名を含まない項目で通常の仮想項目と同じ動きになります。 |
- 初期値評価時機
- [項目種別]が基本項目の場合に,[初期値式]と共に指定できます。次の場合に初期値式が自動的に評価されて,項目に値が設定されます。ただし,これらの指定とは無関係に,[編集]-[入力補助]-[初期値/選択入力]を実行した場合にはいつでも初期値式の再評価が行なわれ,項目の値が再設定されます。
- 初期入力時のみ
- レコードを新たに挿入して,その項目に初めてカーソルが移動したとき,あるいはその項目に一度もカーソルが行かなかった場合はそのレコードの確定時に,一度だけ初期値式が評価されて項目の値が設定されます。
カードのデータオブジェクトの場合の「初期入力時のみ」とは,カード編集ウィンドウが開かれたときを意味します。したがって,カード編集ウィンドウが開かれる都度,データオブジェクトが初期化されます。
- 指定時のみ
- 自動的に初期値式が評価されることはありません。[編集]-[入力補助]-[初期値/選択入力]を実行した場合にだけ初期値式が評価されて項目に値が設定されます。レコード挿入時であっても[初期値/選択入力]を実行しなければ項目の値はナルのままです。初期値式に対話表引きを設定している場合に,必要になるまでは選択のための表を表示して欲しくないときなどに指定します。
- ナルのとき常に
- 初期入力時に加えて,レコード挿入時であれ,訂正時であれ,その項目にカーソルが移動したときに項目の値がナルであったら必ず初期値式が評価されます。
- 常に評価
- レコード挿入時であれ,訂正時であれ,文字列編集モードでその項目にカーソルが移動したときは必ず初期値式が評価されます。
「常に評価」を指定した場合には,もはや“初期値”というよりは限りなく計算項目に近い性格の項目になります。計算項目との違いは,文字列編集モードでその項目にカーソルを移動しない限りはたとえ参照項目が更新されても再評価が起きないこと,[表操作]-[再計算]コマンドでは再計算されないことなどです。
- 参照項目更新時のみ再計算
- [項目種別]が計算項目の場合に,[計算式]と共に指定できます。
これを指定しておくと,レコードを訂正しても,[計算式]で参照している項目を更新しない限りは計算項目の再計算が行なわれません。
一般には,参照項目更新時のみ再計算するようにしておきます。特に,計算項目の式中で #表引き のような他のファイルを参照するような関数が書かれている場合は,常に再計算させるようにすると速度が低下してしまいます。
ただし,レコードの最終更新日を自動的に記録するための計算項目などでは,レコード更新時にはいつでも再計算するように,[参照項目更新時のみ再計算] はオフにします。
- 注:
- 仮想項目ではレコードを再表示するたびに(DPL実行中などではレコードを参照するたびに)必ず再計算されるので,この指定は意味をもちません。
- 初期値式/計算式/対応項目
- 項目種別に応じてそれぞれ次を指定します。
項目種別 | 指定する式 | オプション |
基本項目 | 初期値式 | 指定時のみ初期値入力 |
計算項目 | 計算式 | 参照項目更新時のみ再計算 |
仮想項目 | − |
元表項目 | 対応項目 |
元表計算項目 | 計算式 |
右下の[...]ボタンを押すと式入力ダイアログが開き,項目名や組込み関数ひな形をリストから選んだり,表引きのパラメータを設定したりすることができます。
表定義ウィンドウ,ビュー定義ウィンドウで項目属性を表形式で表示させた場合,初期値式は独立した欄に表示されますが,計算式と対応項目はどちらも同じ欄:[計算式/対応項目]に表示されます。これは,表ファイル,ビュー定義ファイル中での構造が反映されたものであり,初期値式と計算式(または対応項目)は両方が保存されていますが,計算式と対応項目はどちらか一方しか保存されません。
- ナル値の扱い
- 未入力の数値項目や日時間隔項目などをゼロとして扱うか,ナルとして扱うかを指定します。ナルとして扱うと,未入力の項目を対象としたすべての演算結果もナルになります。機能ガイド:表:項目属性:ナル値の扱い
「表の既定値」を選ぶと,表属性ダイアログで指定してある [ナル値の扱い] に従います。
- 起動プロセス
- 他のアプリケーション,またはDBProの他のファイルをオープン・実行するためのコマンド文字列を指定します。[...]ボタンを押すとファイル選択ダイアログが開き,実行させるファイルを選ぶことができます。機能ガイド:表:項目属性:起動プロセス
- ヒント1
- セルカーソルがこの項目にあるときに,項目の説明としてステータスバーに表示される文字列を指定します。カード編集ウィンドウの場合,オブジェクトのヒントが指定されているときは,そちらが優先されます。
- ヒント2
- 表編集ウィンドウの項目名領域またはカード編集ウィンドウの項目オブジェクトに一定時間マウスポインタを静止させた場合に,マウスポインタの位置に小さなポップアップウィンドウが出て,そこに表示されます。ただし,カード編集ウィンドウの場合,オブジェクトのヒントが指定されているときは,そちらが優先されます。
- 注釈
- 項目注釈を指定します。注釈は,定義印刷のときに印刷対象になるくらいで,特に利用される場面はありません。表作成者の覚書などにご利用ください。
- 注:
- DBPro V3 までは注釈がステータスバーに表示されていましたが,V4 では補助情報として画面表示するための文字列は[ヒント]に移されました。V3 で作成した表を V4 用に変換すると,注釈属性の先頭行はヒント1にも移されます。
項目値を選択入力するための選択肢や選択ウィンドウの形を指定します。選択肢リストに選択肢を一つでも設定すると,この項目に対する選択入力が有効になります。
機能ガイド:表:項目属性:選択肢とその関連オプション
- 選択肢
- 選択肢の値とそのガイド文字列が対となって並びます。このリストでの順序が選択肢ウィンドウでの表示順序になります。
- 値
- [選択肢]リストに追加するために,新しい選択肢の値を入力します。
- ガイド
- [値]に入力した選択肢に対する説明のための文字列を入力します。ここで指定したガイド文字列は,[ウィンドウの形] を「ポップアップ」にした場合に選択肢と共に表示されます。
[ガイド表示]を「しない」にしたときは無効です。
- 追加ボタン
- [値]と[ガイド]の組を[選択肢]に追加します。追加される位置は,そのとき選ばれている要素の直前です。
- 削除ボタン
- [選択肢]の現在選ばれている要素を削除します。削除されたデータは,いったん[値]と[ガイド]に置かれます。
- 上へ/下へボタン
- [選択肢]リストで選択されている選択肢とガイドの組を1行ずつ上下に移動します。選択肢ウィンドウに表示される選択肢の順序を変更したいときに利用します。
- ウィンドウの形
- 選択肢を選ぶときのウィンドウの形を次から選びます。
- ドロップダウン
ドロップダウンリストボックス(選択入力後の編集不可の場合)またはドロップダウンコンボボックス(選択入力後に編集可能の場合)が表示されます。DBPro V3 までの選択入力と同じ形です。
この形を選んだ場合,[ウィンドウオープン]と[ガイド表示]は無効になり,文字列編集モードになったときには常に選択用のウィンドウが表示されます。
- ポップアップ
項目のセルの下に選択肢が並んだウィンドウが開きます。DBPro V3 までの対話表引きのウィンドウと同じです。
この形を選んだ場合,[選択入力後の編集不可] は無効になります。選択後の編集は常に可能になります。特定の値しか許さないようにするには条件ページで [選択肢に設定した値のみ] を指定してください。
- 選択入力後の編集不可
- 値を選択した後に訂正することができるか否かを指定します。これをチェックすると選択肢として指定されている値以外は入力できなくなります。
[ウィンドウの形]が「ドロップダウン」のときだけ指定できます。「ポップアップ」のときはいつでも編集可能です。
- 注意
- 選択入力後の編集を不可にした場合,編集ウィンドウから手入力で選択肢以外の値を入力することはできなくなりますが,これは項目値として選択肢以外が許されないということではありません。クリップボードからの貼付けや他のファイルからの読込みによって,選択肢以外の値も入力できます。
- 項目値として一定の値以外は許さないようにしたい場合は,検査条件を指定してください。条件ページ
- 選択肢 <なし> を表示する
- 何も入力しない(ナルを入力する)選択肢 <なし> をリスト中に含めるか否かを指定します。ただし,条件ページで [入力必須] を指定した場合,ドロップダウンでは<なし> は常に非表示です。ポップアップでは空欄が表示されますが,選択すると条件違反になります。
- ウィンドウオープン
- [ウィンドウの形]として「ポップアップ」が指定されたときに,選択入力用のウィンドウをどのタイミングで表示するかを指定します。[ウィンドウの形]が「ドロップダウン」のときは無効です。ただし,ここでの指定とは無関係に,[編集]-[入力補助]-[初期値/選択入力]コマンドが実行されたときはいつでも選択肢ウィンドウが開きます。
- 初期入力時のみ
レコード挿入時に初めてカーソルが行ったときのみウィンドウが開きます。
- 指定時のみ
自動的に選択肢ウィンドウが開くことはありません。[編集]-[入力補助]-[初期値/選択入力]コマンドが実行されたときのみ選択肢ウィンドウが開きます。
- ナルのとき常に
初期入力時に加えて,訂正時であっても文字列編集モードでそのセルにカーソルが行ったとき,その項目の値がナルであった場合は選択肢が表示されます。
- 常に表示
文字列編集モードでそのセルにカーソルが行けば,訂正時であっても常に選択肢が表示されます。
- ガイド表示
- [ウィンドウの形]が「ポップアップ」のときに,[選択肢]で値と共に指定したガイド文字列をどのように表示するかを指定します。
- しない
ガイド文字列は表示されません。
- 右
選択肢ウィンドウの左に値,右にガイドが表示されます。
- 左
選択肢ウィンドウの左にガイド,右に値が表示されます。
- ガイド表示幅
- ガイド文字列を選択肢ウィンドウの幅の何%を使って表示するかを指定します。
- かな漢制御
- データ入力中に,かな漢字変換システムのオン/オフ,かな/カナ/英数,全角/半角を項目ごとに自動的に切り替えることができます。機能ガイド:表:項目属性:かな漢制御
- 入力システム
- この項目の入力に使う入力システムを項目ごとに切り替えることができます。Windowsにインストールされている入力システムが表示されるので,この項目の入力に使うものを選びます。特に指定しないと「標準」の入力システムが使われます。
前項の[かな漢制御]は,[入力システム]として日本語入力システムが指定されている場合にだけ有効です。(日本語入力システム以外の入力システムが指定されている場合,[かな漢制御]の動作は保証されません。)機能ガイド:表:項目属性:入力システム
- 加工式
- 項目に入力された値に一定の加工を加えたうえで表に格納することができます。機能ガイド:表:項目属性:加工式
加工式エディットボックスに項目と同じデータ型の式を書くと,その式の値が項目の値として格納されます。このとき,入力されたままの値は [ ] または [項目名] で参照できます。[...] ボタンを押すと式入力ダイアログが開きます。
文字列型項目の場合,以下のうち実施したい加工をチェックして [設定] ボタンを押すと,上のエディットボックスに加工のための式が設定されます。
- 空白削除
入力された文字列の中から空白を取り除きます。実行させる場合は [全角]/[半角] から少なくとも一つ,かつ [前の空白]/[間の空白]/[後の空白] から少なくとも一つが指定されていないとなりません。
- 全角に統一
指定した字種または特定の文字を全角に統一します。[特定文字] には全角,半角の両方に存在する文字だけが指定できます。
- 半角に統一
全角に統一と同様です。
- 長音をマイナス記号に置換
かな漢字変換システムを使っていると,マイナス記号を入力するつもりで長音が入力されてしまうことがたびたびあります。このような誤入力をマイナスに戻すために使います。ただし,住所データなどのように,正しい文字として長音がありうるような項目に対しては使えません。
加工式による加工は,検査条件のチェックと同じタイミング(検査時機)で条件式が検査される直前に行なわれます。したがって,加工式を書く場合,その値が検査条件を満たすように注意しなければなりません。加工した結果が検査条件に違反した場合,項目は確定されずに同じ項目の文字列編集モードに戻ります。このとき,入力した文字列は入力したときの状態には戻りません。加工式の値に対する文字列編集モードになります。
また,検査時機を「レコード確定時」にした場合,レコードが確定されるまでは入力したままの値が項目の値として保持されています。この項目を他の項目の初期値式などで参照していると加工前の値が参照されてしまいます。加工式を設定した項目の検査時機は「項目ごと」にしておくことを強くお勧めします。
加工された結果に同じ加工式を適用したときに値が変わるような加工式は書けません。すなわち,加工式は検査条件がチェックされるタイミングと同様に,項目の値が変更されたときや,表の再構成が起きたときなどにも加工されるので,繰り返し適用されて値が変化する式では次々と値が変わってしまいます。
- 入力必須
- 項目に必ず値が入力されなければならないことを指定します。入力必須を指定した項目がナルであるレコードは,表に挿入することができません。
- 検査条件
- この項目に入力された値が満たすべき条件を論理式として記述します。機能ガイド:表:項目属性:検査条件とその関連オプション
以下の各ボタンにより,良く使う条件を簡単に入力することができます。これらのボタンでは入力できない条件を指定する場合は,[...]ボタンを押して式入力ダイアログで入力することができます。
- 範囲
項目値の範囲を指定します。データ型に応じた比較式のひな形が入力されるので,範囲の下限値と上限値を補ってください。下限値または上限値だけを指定したり,比較演算子を < に変更したりしてもかまいません。
- 文字数
文字列型項目およびファイル型項目のときだけ意味をもち,項目値の文字数の範囲を指定します。文字数をチェックする比較式の一部「≦#文字数([項目名])≦」が検査条件エディットボックスに入力されるので文字数を示す数値を補ってください。
- 選択肢のみ
選択肢ページで指定している選択肢のうちの一つだけしか入力できなくなります。このボタンで入力される検査条件は,その時点で選択肢ページに設定されている選択肢だけを許すようになるので,あらかじめ選択入力の設定を行なってから[選択肢のみ]ボタンを押してください。
- 注:
- この条件を指定しない場合,たとえ選択肢ページで[選択入力後の編集不可]を指定していても,読込みや貼付けによって選択肢以外の値も入力できます。
- 字種
文字列型項目またはファイル型項目に入力できる字種を指定します。ボタンの右に並ぶ二つのリストボックスから下記のいずれかを選んでから[字種]ボタンを押します。
左側のリストボックス
右側のリストボックス
- 空白を含まない
- 数字のみ
- 英字のみ
- 英小文字のみ
- 英大文字のみ
- 英数字のみ
- 英小文字数字のみ
- 英大文字数字のみ
- 英数記号のみ
- 英小文字数字記号のみ
- 英大文字数字記号のみ
- カタカナのみ
- カタカナを含まない
- ひらがなのみ
- ひらがなカタカナのみ
- 任意の文字
- 参照
他の表ファイルに同じ値があるか否かチェックします(参照制約)。対象表を指定して項目リストボックスのプルダウンボタンを押すと項目名一覧が表示されるので(ファイルから情報を取り出すので時間が掛かることがあります),照合する相手の項目を指定します。右端のリストボックスからは「ある」か「ない」を選びます。
複数のボタンを押して二つ以上の式を入力したときは,それらを論理演算子(通常は AND,場合によっては OR)でつなぐ必要があります。
- 違反メッセージ
- 条件に違反した場合に表示されるメッセージを指定します。ただし,入力必須違反は,システム的に異なる場所で検査されるのでシステム固定のメッセージになります。
- 検査時機
- 検査条件のチェックを項目値の入力直後に行なうか,レコード全体を入力した後で行なうかを指定します。
「項目ごと」を指定すると,その項目からカーソルが抜けるときに正しい値が設定されていない限り他の項目へ移ることができなくなります。特に,入力必須を指定した項目の検査時機を「項目ごと」に指定した場合は項目をナルにしても抜けられませんので注意してください。
他の表を参照する参照制約が指定されている検査条件を項目ごとにチェックすると(索引の作成状況にもよりますが)遅くなることがあるので注意してください。
項目ごとに検査したい条件とレコード確定時の検査で良い条件との両方がある場合,項目ごとの検査条件は項目属性として指定し,レコード確定時に検査したい条件は表属性として指定することができます。表属性として指定した条件は,常にレコード確定時の検査になります。表属性ダイアログ:条件ページ
データオブジェクトは,表の項目とほぼ同じ属性をもっています。したがって,データオブジェクト属性ダイアログは項目属性ダイアログとほとんど同じですが,以下の点が異なっています。選択肢ページと入力ページについてはまったく同じです。
- ダイアログ中で対象を別のデータオブジェクトに変えることはできません。したがって,ダイアログ上部には,[項目名]リストボックスの代わりに対象となっているデータオブジェクトの名前が固定で表示されています。
- ダイアログ中で新しいデータオブジェクトを作成したり,既存のオブジェクトを削除することはできません。したがって,[項目挿入]ボタンや[項目削除]ボタンに相当するボタンはありません。
- カードに表示形式は関係ありませんので[表示形式]ボタンもありません。
- 基本ページ中で有効な属性は,上の図にあるものだけです。次の各属性はデータオブジェクトでは指定できません。これらのうちの多くは,データオブジェクト属性ダイアログを呼び出したオブジェクト属性ダイアログの方で指定します。
- データ型(オブジェクト属性ダイアログ:基本ページ)
- 項目種別(無意味です)
- 説明(オブジェクト属性ダイアログ:他ページ)
- ヒント(オブジェクト属性ダイアログ:他ページ)
- 注釈(オブジェクト属性ダイアログ:基本ページ)
- [初期値評価時機]を「初期入力時のみ」と指定した場合,そのデータオブジェクトではカード編集ウィンドウを開くときに初期値式が評価されます。
- 条件ページの[入力必須]と[検査時機]は指定できません。