TOOL更新_ver0.2開発開始。DB内容からselectを作成。SUB画面を作成。
TOOL更新_ver0.2開発開始。DB内容からselectを作成。SUB画面を作成。
2011/05/14 15:00-15:10 ver0.2は「SUB画面」の自動作成◎自動生成をやらないようにした。(やはりロジックが難しいので。)よってここに書いた内容は全てボツとする。
・DB内容からselectを作成して値を設定する。SUB画面を作成し検索して値を設定するロジックを入れる。
■定義エクセルの設定方法を決めた。
・「コード一覧」シートにこんな風に登録する。エレメントの一つと考えることにした。
「コード一覧」シートアクティブ、非アクティブ時に動くVBA修正。このロジックにより「★ツール用コンスタント★」シートに自動的にコード一覧ができる。
Module2の Public Sub コードID一覧定義更新(DUMMY) <<追加後>> 284行目 ' Ver 0.2 追加start Dim コード一覧表№, コードID, str_wk コード一覧表№ = "" コードID = "" ' Ver 0.2 追加end <<修正前>> 302行目 Do While (Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表№列) <> "END") 'ENDになるまでループ If Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表№列) <> "" And _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列) <> "" Then Dst1.Cells(y + cnt, x) = Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表№列) & "." & _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列) cnt = cnt + 1 kuhakuCnt = 0 Else kuhakuCnt = kuhakuCnt + 1 If kuhakuCnt > 300 Then 'MsgBox ("「コード一覧表」の№行の最後はENDにしてください。") Exit Do End If End If i = i + 1 Loop <<修正後>> 308行目 Do While (Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表№列) <> "END") 'ENDになるまでループ ' Ver 0.2 修正start ' Ver 0.2 修正start If (Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表№列) <> "" And _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列) <> "") Or _ (Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 6) <> "" And _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 7) <> "") Then ' コード一覧表コードID列が入っている時は固定エレメントと考える。 If Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列) <> "" Then コード一覧表№ = Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表№列) コードID = Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列) If Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 6) = "SUB画面" And _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 7) <> "大分類" Then MsgBox ("「コード一覧表」の" & (constコード一覧表開始行 + i) & "行目:「コード一覧表」のH列に「SUB画面」を設定したときはI列に「大分類」を設定してください。") End If ' I列(大分類/中分類/小分類)が入っている時はVer0.2:DBデータからデータを取得する場合と考える。 If Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 6) <> "" Or _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 7) <> "" Then If Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 2) = "" Then Dst1.Cells(y + cnt, x) = コード一覧表№ & "." & _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 6) & "." & _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 7) & "." & _ コードID Else MsgBox ("「コード一覧表」の" & (constコード一覧表開始行 + i) & "行目:「コード一覧表」のI列(大分類/中分類/小分類)を設定したときはD列(値)を設定しないでください。") End If Else Dst1.Cells(y + cnt, x) = コード一覧表№ & "." & _ コードID End If ' I列(大分類/中分類/小分類)が入っている時はVer0.2:DBデータからデータを取得、エレメントIDがある。 ElseIf Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 7) <> "" And コード一覧表№ <> "" Then str_wk = Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 7) If str_wk = "大分類" Or str_wk = "中分類" Or str_wk = "小分類" Then Dst1.Cells(y + cnt, x) = コード一覧表№ & "." & _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 6) & "." & _ Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 7) & "." & _ コードID Else MsgBox ("「コード一覧表」の" & (constコード一覧表開始行 + i) & "行目:「コード一覧表」のI列(大分類/中分類/小分類)は。「大分類」「中分類」「小分類」のいずれかにしてください。") End If ' I列(大分類/中分類/小分類)が入っている時はVer0.2:DBデータからデータを取得、エレメントIDがない。 ElseIf Dst2.Cells(constコード一覧表開始行 + i, constコード一覧表コードID列 + 7) <> "" And コード一覧表№ = "" Then MsgBox ("「コード一覧表」の" & (constコード一覧表開始行 + i) & "行目:「コード一覧表」のI列(大分類/中分類/小分類)のためのコードIDが指定されていないみたいです。") Else コード一覧表№ = "" コードID = "" End If cnt = cnt + 1 kuhakuCnt = 0 Else kuhakuCnt = kuhakuCnt + 1 If kuhakuCnt > 300 Then 'MsgBox ("「コード一覧表」の№行の最後はENDにしてください。") Exit Do End If End If i = i + 1 ' Ver 0.2 修正end Loop
・「★ツール用コンスタント★」シートに自動的にコード一覧ができる。入力チェック条件を追加した。値を入力するのは「半角英数字」固定にした。(バリエーションは作らないので、数字だけのときなどは、自動作成◎自動生成後に手作業で直すという考え)
・「大中小とSUB画面情報」テーブル。実際にselect、SUB画面を使用する例
2011/03/24 18:00-22:00 今日までで定義エクセルの登録方法を決めたことになる。さらにver0.2とすることにした。簡単なことを簡単に登録して簡単に自動作成◎自動作成できたら最高なんだけど。、、、これでも1年以上考え抜いた結果なわけで。、、あしたからロジック自動作成◎自動作成だ。
今現在、開発途中が「ver0.1zd」、「kaz_PHP自動作成◎自動生成お助けTOOL_仕様書」と「ver0.2」の3つになってしまった。。。食べたいとこからかじっている感じの開発。ちょっと荒っぽいがこれもいい。
2011/05/14 15:00-15:10 ver0.2は「SUB画面」の自動作成◎自動生成をやらないようにした。(やはりロジックが難しいので。)よってここに書いた内容は全てボツとする。