シリーズ「開発の初めから順番に書いていってみる」の続きです。
現在プログラミングのDB入出力の自動生成をやっています。
自動生成は、ここでやってきたように、
・雛形ソース→サンプルソースから変形
・仕様書のExcelシート
をつくって、あとは、自動変換のシートの作業一覧シートに、それらを指定すれば出来ました。
サンプルソースに関しては、いままでの説明でおわりです。
ということで、今回は、仕様書のExcelシートについてです。
■雛形の仕様書
いままでのユーザーテーブルを仕様書にすると、こんなかんじ
以前、データベースのテーブルを自動生成する仕様書が、
ここ http://blog.goo.ne.jp/xmldtp/e/75a7baa84365b230b6841d445ee3138c
にあるかんじのようなものなので、増えたのは、「囲み文字」になります。
今回はそれを説明します。
(なお、「データベースのテーブルを自動生成する仕様書」のマクロについて書き忘れたことがあります。最後にそれも付け足して起きます)
■囲み文字とは
SQL文で、name=''などのように、値を書くとき、
文字の場合は、囲みます
数字の場合は、囲まずに値を、そのまま書きます。
そこで、型が文字関係のときだけ、囲み文字 ' をその欄に書き出すようにしています。
上記イメージで、getKakomiMoji(B8)とやっているところから分かるように、そこは、マクロで関数を作ってます。
■囲み文字の関数マクロ
こんなかんじです。
Function getKakomiMoji(kata As String) As String chk = UCase(kata) If (InStr(chk, "CHAR") > 0) Then getKakomiMoji = "'" Exit Function End If getKakomiMoji = "" End Function |
(上記< > ¥は本当は半角です)
型にCHARという文字があったら、囲むようにしています。
■で、この前書き忘れたこととか。。
この関数は、型の値を換えると、すぐに変わってくれます。
それに対し、以前の「データベースのテーブルを自動生成する仕様書」のマクロ、 getMainKeyは、値を書き換えても変わらないので、再度、その getMainKeyがある、セルB4にいって、リターンを入力しないと値が書き換わりません。
ということを、書き忘れてました。
ということで、仕様書については、おわりということにしておこう。