OPTION 8

▶1:親子データベース

親子データベースでは、データベースからデータの読み書きを1つのレポートに親子の階層型リンクの設定ができます。
画像の説明

レポートに親となるテーブル1つに対し、子となるテーブルは複数設定することができます。
親子データベースでデータを読み書きできるレコード数は、親テーブルは、レコード1件に制限されます。子テーブルは複数件のレコード数を読み書きできます。
画像の説明

▶2:親子データベース作成手順

※ここでは、複数行の入力画面を作成する方法としています。

完成図親子データベースを使用した入力画面の完成図
手順1ひな型シートに入力画面を作成し自動生成する
手順2作成されたレポートを親テーブル用に変更する
手順3親テーブルのひな型の設定とひな型シートのセル位置を変更する
手順4子テーブルを追加する
手順5子テーブルにひな型の設定をする
手順6子テーブルと親テーブルのリンク設定をする
手順7入力画面の修正をします
手順8検索画面と入力画面をリンクする
手順9試してみましょう


▶3:親子データベースを使用した入力画面の完成図

画像の説明

▶4:手順1

ひな型シートに入力画面を作成し自動生成する
※デザインの作成、入力規則の設定、自動生成方法等は基本操作と同じです。
 操作方法は、基本マニュアルを参照してください。

【1】ひな型シートに入力画面を作成し自動生成します。
   ※ここでは下図としています。
画像の説明

【2】赤枠の項目に入力規則を設定ます。
   ※入力規則の設定により、データベースは下記のように作成されます。
画像の説明

【3】ブラウザに表示するため印刷範囲を設定します。

【4】追加したシートに「シート名」を付けます。
   ※ここでは「OYAKo」とします。 

【5】作成した入力画面を自動生成します。
   ※自動生成が終了すると下記のように入力画面が作成されます。 
画像の説明


▶5:手順2

作成されたレポートを親テーブル用に変更する

【1】自動作成されたレポートを右クリックし,メニューから「SQL変更」をクリックします。
   ※ここでは、レポートOYAkoを右クリックします。 
画像の説明

   SQL文の指定ウィンドウが開きます。
画像の説明

【2】「列名選択」ボタンをクリックします。
画像の説明

【3】開いた「元のテーブルの列名」ウィンドウから親テーブルにする列名を選択し、
  をクリックします。
画像の説明

【4】選択した列名が「SQLステートメントの列名」に追加されます。
  OKボタンをクリックします。  
画像の説明

【5】SQL文の指定ウィンドウに選択した列名が追加されました。
画像の説明

【6】SQL文に下記赤枠の文を追加しデータをグループ化します。
  実行ボタンをクリックしてウィンドウを閉じます。  
画像の説明

※SQL文「group by」を指定すると、指定した列名でグループ化されます。
画像の説明

【7】選択した列名のみとなります。  
画像の説明

▶6:手順3

親テーブルのひな型の設定とひな型シートのセル位置を変更する

【1】親テーブルを右クリックし「ひな型の設定」ウィンドウを開きます。
   ※ここでは、レポートOYAkoを右クリックします。

【2】ひな型の設定ウィンドウを下記赤枠に変更します。
画像の説明

【3】セル位置を下記の赤枠に変更します。
画像の説明

【4】続いて、ユニークキーの設定をします。
    赤枠の伝票番号のキー指定から「キー(必須)」を選択します。  
画像の説明

▶6:手順4

子テーブルを追加する

【1】子テーブルを追加します。レポート名を右クリックし「テーブル追加」をクリックします。
   ※ここでは、レポートOYAkoを右クリックします。 

【2】「テーブの選択」ウィンドウが表示されます。
    赤枠のテーブル名を選択し、「SQL作成」ボタンをクリックします。
画像の説明

【3】「SQL文の指定」ウィンドウが表示されます。
    赤枠に「Ko」と入力し、実行ボタンをクリックします。
   ※複数テーブルを追加する場合は同じ名では作成できません。
   ※ここでは、「Ko」としています。
画像の説明

子テーブルが追加されました。
画像の説明

▶6:手順5

子テーブルにひな型の設定をする

【1】子テーブルを右クリックし、「ひな型の設定」を開きます。
    赤枠の内容に変更しOKをクリックします。 
画像の説明

▶6:手順6

子テーブルと親テーブルのリンク設定をする

【1】子テーブルをクリックし、パネルの「セル位置」にひな型シートのセル位置を設定します。
画像の説明

青枠のように子テーブルに親テーブルと同じセル位置を設定すると、リンクが「Yes」に変わります。
これで親テーブルと子テーブルのリンク設定がされたことになります。
赤枠の子テーブルのセル位置の設定は、基本マニュアルを参考に設定しましょう。

【2】続いて、ユニークキーの設定をします。
    赤枠の伝票番号、行の各キー指定から「キー(必須)」を選択します。  
画像の説明

▶6:手順7

入力画面の修正をします

【1】入力画面の1行目に設定した入力規則を2行目~5行目にも設定します。
     ※入力画面で入力規則の設定されていないセルには、データ入力できません。
画像の説明
【2】金額と消費税の入力規則は削除します。
    ※金額と消費税は計算式を指定し入力はしないため入力規則を削除します。

【3】青枠の各ボタンのタイトルを上記のように変更します。

【4】行番号を入力させないようにする設定をします。
     セルR23C25~セルR27C25まで、="|TYPE=HIDDEN"と入力します。
    ※HIDDENは、入力規則設定のあるセルを編集不可にできます。
画像の説明

【5】データ入力のない行はデータベースへ書き込まない設定をします。
    1行目のセルR23C1~R27C1に=IF(RC[15]="","NOREAD","")と入力します。
    ※NOREADは、その指定のあるデータ行はデータベースへ書き込みしません。
画像の説明
続いて、上で指定した1行目のセルR28C1にDataEnd Koと入力し,R29C1にDataEnd OYAKoと入力します。
※DataEndは、読み込み最後の位置を指定しています。この指定より下のデータは読み込まれません。また、DataEnd テーブル名を指定することで、読み込み位置を明確にできます。
■NOREADを指定しない、した時
画像の説明

【7】青枠の「前画面へ」ボタンの戻り先を下記に変更します。
   ="|TYPE=BUTTON|ONCLICK=location.href='procgi.exe?P="&R1C5&"&WriteSheet=UriageList';"

▶6:手順8

検索画面と入力画面をリンクします

【1】入力画面のセルR2C8の設定を下記に変更します。
=IF(R18C16<>"","FILTER伝票番号=" & R18C16,"GONEXT")
     ※検索画面から選択した伝票番号が一致のデータを画面表示します。
     ※ここでは、伝票番号としています。

【2】検索画面のセルR15C22の設定を下記に変更します。
="<A HREF='procgi.exe?P="&R1C5&"&WriteReport=OYAKo&Set_R18C16="&RC9&"' >変更</A>"  

▶6:手順9

試してみましょう

【1】基本マニュアルを参考にブラウザ表示し試してみましょう。