サポート > PC-MAPPING ヒント集 > データベース > DBメニューの小技
DBメニューの小技
DBを扱う上で便利な機能をご紹介致します。
■ フィールド名表記高の変更
[属性データベース設定]ダイアログボックスの[データベースの設定]パネルの「フィールド名表記高」を変更する事でフィールド高を調整し、長いフィールドタイトルを改行させて複数行表示する事ができます。

  1. 例えば下のデータベースような、フィールド名称が長いものがあるとします。
    [データベース]-[表示]-[表示幅の最適化]を行うと、データ自体は短いにも関わらず横幅を取られ、DB画面スクロールが面倒になります。

  2. [設定]-[データベースの定義]から[属性データベース設定]ダイアログボックスを表示します。
    左下部の「フィールド名表記高」を「×2.0」と変更します。

  3. マウスでフィールド幅を変えると、その範囲内に収まるようにタイトルを改行させて表示します。

  4. 同様に、左下部の「データ表記高」を変更すると、ヘッダー行ではなくレコード部分の高さを変更する事もできます。

■ フィールド値のリストアップ
[データベース]-[表示]-[検索](ベクターメニュー:[選択]-[属性選択])から表示される[検索]ダイアログボックスで、フィールド値はソートされ、順にリストアップされます。
※リストに表示される順序は、「検索フィールド」レコードのソート(昇順)順です。
なお現状、240個を超える場合はリスト表示されません(★-「pcm.ini」ファイルで制御可能です。
→後述の【pcm.iniによる制限】を参照して下さい)。

  1. 例えば下のデータベースで、「利用現況」フィールド(文字型)に対し、検索を行います。

  2. [データベース]-[表示]-[検索]を実行すると、表示される[検索]ダイアログボックスの「フィールド値」に直接入力しなくても、プルダウンから選択して検索を行う事ができます。
    この時、リスト内に表示される「基準値/参照フィールド」は昇順に並べ替え(ソート)された結果が表示されている事が確認できます。
【pcm.iniによる制限】
フィールド値のリストアップで、表示されるパターンの上限を変更する事ができます。
現在デフォルトでは1,000(Ver.7では240)です。
[SystemEnvMgr]
MaxDbListupFieldData=50
と記述すれば、リストアップされるパターンの件数が50以上ある場合はプルダウンには表示されません。

例えば以下のような2つのDBで、(それぞれ「対応する内容」フィールドに重複なしで)
  • 「鉄道区分コードDB」は12レコード
  • 「運営会社種別コードDB」は177レコード
あります。
MaxDbListupFieldData=50で「鉄道区分コードDB」の「対応する内容」フィールドを検索対象とした場合
 = 12件なのでリストアップされます。

MaxDbListupFieldData=50で「運営会社種別コードDB」の「対応する内容」フィールドを検索対象とした場合
 = 177件なのでリストアップされません。

また、この時検索対象のレコードが10,000件以上の場合は、
[SystemEnvMgr]
MaxDbDicSearch=***** (*****は10,000以上)
と記述すれば、リストアップされます。
現在デフォルトでは10,000です。
検索や選択の条件ダイアログボックスで、「MaxDbListupFieldData」による条件の設定はクリアしていてもリストアップが表示されない場合は、このセクションを変更して下さい。

■ ソート(並び替え)・検索条件の保存
  • [データベース]-[表示]-[検索]
  • [データベース]-[レコード]-[レコード編集]-[レコードの並び替え]
で、条件の設定ファイルをファイルとして保存する事ができます。
また、内部データとして、各「SLOT1〜SLOT10」に保存する事もできます。

  1. 例えば下のデータベースで、
    • 管理者名:菊川市
    • 堤高:5m未満
    と設定し、検索を行います。

  2. [データベース]-[表示]-[検索]を実行すると表示される[検索]ダイアログボックスで、設定した上記の条件を「SLOT1:検索@」として保存します。
    <設定を保存>ボタンを押すと、1〜10のSLOTと、「ファイルへ保存」が選択できます。

    ※この時SLOTでなく、「ファイルへ保存」を選択すると[名前を付けて保存]ダイアログボックスが表示されますので、データベース検索設定ファイル(*.dbsr)としてファイル保存する事ができます。
    また、[データベース]-[レコード]-[レコード編集]-[レコードの並び替え]から表示される[レコードの並び替え]ダイアログボックスでも同様にSLOTへの登録、あるいはデータベース並び替え設定ファイル(*.dbst)としてファイル保存が行えます。

  3. このように条件設定を保存しておくと、再度検索する場合にはその条件を<設定を呼び出し>ボタンから呼び出す事ができます。

■ トリガー計算フィールド
データベースの計算フィールドの特殊な型として「トリガー計算フィールド」があります。

ONの場合、計算フィールドの設定同様、各種計算式の設定を行えますが、その結果は常に反映されるわけではなく、メニューの「トリガー計算フィールドの再計算(※)」を実行した時のみ反映され、その後は通常のフィールドとして編集も可能です。
※この再計算はフィールドの若い番号から行われるので、「トリガー計算フィールド」が別の「トリガー計算フィールド」を参照する際は注意が必要。

「トリガー計算フィールドの再計算」は、
  • DBメニュー:[データベース]-[設定]-[オプション]-[トリガー計算フィールドの再計算]
  • ベクターメニュー:[属性]-[その他]-[トリガー計算フィールドの再計算]
にあります。
[属性]-[その他]-[トリガー計算フィールドの再計算]の場合は、全てのレイヤーの内部属性に対して再計算されます。

  1. 例えば、同じ計算式を、通常の計算フィールド(「@注記用@」)とトリガー計算フィールド(「@注記用A」)に設定します。
    計算フィールドの場合は、式を設定して[属性フィールドの設定]ダイアログボックスを閉じると、すぐに結果が反映されます。

  2. トリガー計算フィールド(「@注記用A」)の場合は、[データベース]-[設定]-[オプション]-[トリガー計算フィールドの再計算]を実行しない限り、計算結果は表示されません。

  3. 計算で他フィールドを使用する際、その算出元フィールドの値が変更されても、再計算を行わない限り、計算結果は変更されません。