TOOL更新_今週もToDoリスト・50−4.親画面から子TBLサブ画面編集を作り続けている
今週もToDoリスト「http://d.hatena.ne.jp/kazpgm/20090403」・「50−4.親画面から子TBLサブ画面編集」を作り続けている
「定義EXCEL]http://kazpgm.ddo.jp/kaz01u/upload/doc/dif.zip(zip圧縮771Kb)に新たに追加した「FOREIGN KEY設定」列から各テーブルの親子関係を調べるロジックを作った。これを「PHP作成◎自動生成お助けTOOL」の自動作成◎自動生成ロジック(VBA)に追加する予定。
<=自分用メモ。たぶん、自分以外の人が見ても”何がしたいのかな”っていうようなもの。・・・でも自分的にはFOREIGN KEYをシンプルに解決したと思っている。<=2009/10/14(水)未完了があるがここでVer0.1をFIX。よって次期バージョンで開発予定。
Public Const contFKEY_TBL略名 = 74 'BV列 Public Const contFKEY_項目日本語 = 75 'BW列 Public Const contFKEY_項目名 = 76 'BX列 Public Const contFKEY_入力サポート = 77 'BY列 dim tbl略名S(100) '作成するTBL略名たち dim tbl名S(100) '作成するTBL名たち dim tblキー順S(100, 20) '作成するTBLのPKeyたち dim tblキー順の親S(100, 20) '作成するTBLのPKeyの親たち dim tbl親略名S(100) '作成するTBLのPKeyの親たち dim tblシート名S(100) '作成するTBLのシート名たち '========================================================================== ' 「定義EXCEL」の各シートの親子関係を調査しWORKに設定する。 '========================================================================== '-------------------------------------------------------------------------- ' 略名S | 名S | キー順S | 親略名S | シート名S ' | | キー順の親S | | '========================================================================== ' テA | テーブルA | キー1,キー2 | | シートA ' | | | | '-------------------------------------------------------------------------- ' テB | テーブルB | キー1,キー2,キー3 | テA | シートB ' | | テA ,テA | | '-------------------------------------------------------------------------- ' テC | テーブルC | キー1,キー2,キー3,キー4 | テB | シートC ' | | テB ,テB ,テB | | '-------------------------------------------------------------------------- ' テD | テーブルD | キー1,キー2,キー5 | テA | シートD ' | | テA ,テA | | '-------------------------------------------------------------------------- ' '1.「略名S」 ' ・「テーブル略名」(F1カラム)を設定する。 ' '2.「名S」 ' ・「テーブル名」(D2カラム)を設定する。 ' '3.「キー順S」,「キー順の親S」,「親略名S」設定 ' ・「PK」(F列)に入っている順番で「キー順列S」(n,1〜)にいれる。 ' ・PK項目の「FKEY_TBL略名」(BV列)に設定されているTBL略名を「キー順の親S」(n,1〜)に設定する。 ' 「親略名S」にも設定する。 ' ・エラーのときはエラーを表示して読み飛ばし。 ' ・PKのすべてに「キー順の親S」(n,1〜)が設定されている場合(1:1のテーブル関係)エラー ' ”テーブル1:1の関係は1つずつPGMを作った物を手作業で1つのPGMにしてください。 ' 当FKEYは読み飛ばします。” ' ・「キー順の親S」(n,1〜)に入っているTBL略名の種類が1つでない場合エラー ' ”FOREIGNKEYは同一テーブルを指定してください。 ' 当FKEYは読み飛ばします。” ' '4.「シート名S 」 ' ・シート名を設定する。 ' '5.「略名S」、「親略名S」により自テーブルの親子関係がわかる。 ' 例) ' ・テーブルA ' ・親は「親略名S」=””(親はない) ' ・子は「略名S」=”テA”が「親略名S」に入っているものなので ' 「親略名S」=”テA”のテーブルBとテーブルDの2個 ' ・テーブルB ' ・親は「親略名S」=”テA” ' ・子は「略名S」=”テB”が「親略名S」に入っているものなので ' 「親略名S」=”テB”のテーブルC ' ・テーブルC ' ・親は「親略名S」=”テB” ' ・「略名S」=”テC”が「親略名S」に入っていないので子はない ' ・テーブルD ' ・親は「親略名S」=”テA” ' ・「略名S」=”テD”が「親略名S」に入っていないので子はない ' '========================================================================== ' 親子関係のために用意するPGMパターン '========================================================================== '1.親なし子ありのPGMパターン ' このPGMは親子関係のルーツとなるもの '2.親あり子ありのPGMパターン ' このPGMは親あり子なしのPGMパターンも含む。 ' '