TOOL更新_”バグ情報など”を一つづつ修正している。つづき(1月20日からの)
TOOL更新_”バグ情報など”を一つづつ修正している。つづき(1月20日からの)
[0]小数点なし及びカンマあり数値、小数点あり及びカンマあり数値の範囲指定の検索条件のView用HTMLの自動作成◎自動生成ロジックを修正する。
■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\hinagata\View\hinagata_ListSrch_数字項目FromTo01.txt を新規に作成した。
■kaz_PHP自動作成◎自動生成お助けTOOL\hinagata\View\hinagata_ListSrch_数字項目FromTo01.txt を新規に作成した。
<!-- suji01 Fromto --> <tr> <th width="18%" nowrap ><label for="■{ITEM_NAME}■_from">■{ITEM_NAME_KANJI}■</label></th> <td class="<?=($err['■{ITEM_NAME}■_from']=='' && $err['■{ITEM_NAME}■_to']=='')?'none':'error' ?>"><input name="■{ITEM_NAME}■_from" ■{CLASS_NAME}■ id="■{ITEM_NAME}■_from" type="text" size="■{ITEM_SIZE}■" maxlength="■{ITEM_MAX_SIZE}■" value="<?= stz($o['■{ITEM_NAME}■_from'])?>"> から <input name="■{ITEM_NAME}■_to" ■{CLASS_NAME}■ type="text" size="■{ITEM_SIZE}■" maxlength="■{ITEM_MAX_SIZE}■" value="<?= stz($o['■{ITEM_NAME}■_to'])?>"> まで ■{ITEM_ZOKUSEI}■ <?= $err['■{ITEM_NAME}■_from']?><?= $err['■{ITEM_NAME}■_to']?></td> </tr>
1、VBAの修正
「hinagata_ListSrch_通常項目FromTo01.txt」を使用している箇所で、小数点なし及びカンマあり数値、小数点あり及びカンマあり数値の範囲指定の検索条件の箇所を「hinagata_ListSrch_数字項目FromTo01.txt」に変更する。
■『201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正
■『kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正
<<修正前 start>> Private Function JSP項目値作成(j, SRCH区分, KBN)を修正 ・・・ For i = 1 To cy If Cells(j, cont項目チェック内容列) = Rng.Cells(i, 1) Then 'Range1列 項目チェック内容と同じか JSP雛形名 = Rng.Cells(i, 8) If Rng.Cells(i, 9) = "△" Then C_CLASS_NAME = " class=""form-eng"" " ElseIf Rng.Cells(i, 9) = "○" Then C_CLASS_NAME = " class=""form-jpn"" " End If Exit For End If Next i ・・・ 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) ・・・ 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) ・・・ 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), "", "") <<修正前 end>> <<修正後 start>> Private Function JSP項目値作成(j, SRCH区分, KBN)を修正 ・・・ Dim C_NUMERIC_ITEME ・・・ C_NUMERIC_ITEME = "" For i = 1 To cy If Cells(j, cont項目チェック内容列) = Rng.Cells(i, 1) Then 'Range1列 項目チェック内容と同じか JSP雛形名 = Rng.Cells(i, 8) If Rng.Cells(i, 3) = "○" or Rng.Cells(i, 4) = "○" Then C_NUMERIC_ITEME = "○" End If If Rng.Cells(i, 9) = "△" Then C_CLASS_NAME = " class=""form-eng"" " ElseIf Rng.Cells(i, 9) = "○" Then C_CLASS_NAME = " class=""form-jpn"" " End If Exit For End If Next i ・・・ if C_NUMERIC_ITEME = "○" then 変換後data = 変換後data & hinagata_数字項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) else 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) end if ・・・ if C_NUMERIC_ITEME = "○" then 変換後data = 変換後data & hinagata_数字項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) else 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) end if ・・・ if C_NUMERIC_ITEME = "○" then 変換後data = 変換後data & hinagata_数字項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), "", "") else 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), "", "") end if <<修正後 end>>
■『201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module3』 修正
■『kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module3』 修正
<<追加 start>> Function hinagata_数字項目FromTo01(KBN, ITEM_NAME_KANJI, ITEM_HISSU, ITEM_NAME, ITEM_SIZE, ITEM_MAX_SIZE, ITEM_ZOKUSEI, ITEM_KETA, ITEM_LIKE) Dim 変更内容Array(10, 2) 変更内容Array(1, 1) = "■{ITEM_NAME_KANJI}■" 変更内容Array(2, 1) = "■{ITEM_HISSU}■" 変更内容Array(3, 1) = "■{ITEM_NAME}■" 変更内容Array(4, 1) = "■{ITEM_SIZE}■" 変更内容Array(5, 1) = "■{ITEM_MAX_SIZE}■" 変更内容Array(6, 1) = "■{ITEM_ZOKUSEI}■" 変更内容Array(7, 1) = "■{ITEM_KETA}■" 変更内容Array(8, 1) = "■{ITEM_LIKE}■" 変更内容Array(9, 1) = "■{MENU_DIR}■" 変更内容Array(10, 1) = "■{CLASS_NAME}■" 変更内容Array(1, 2) = ITEM_NAME_KANJI 変更内容Array(2, 2) = ITEM_HISSU 変更内容Array(3, 2) = ITEM_NAME 変更内容Array(4, 2) = ITEM_SIZE 変更内容Array(5, 2) = ITEM_MAX_SIZE ITEM_ZOKUSEI = 項目属性変換(ITEM_ZOKUSEI) 変更内容Array(6, 2) = ITEM_ZOKUSEI 変更内容Array(7, 2) = ITEM_KETA ITEM_LIKE = 条件変換(ITEM_LIKE) 変更内容Array(8, 2) = ITEM_LIKE 変更内容Array(9, 2) = C_MENU_DIR 変更内容Array(10, 2) = C_CLASS_NAME If KBN = "AV" Then hinagata_数字項目FromTo01 = hinagata変換("hinagata_AmendView_通常項目FromTo01.txt", 変更内容Array) ElseIf KBN = "DV" Then hinagata_数字項目FromTo01 = hinagata変換("hinagata_DetailView_通常項目FromTo01.txt", 変更内容Array) ElseIf KBN = "LS" Then hinagata_数字項目FromTo01 = hinagata変換("hinagata_ListSrch_数字項目FromTo01.txt", 変更内容Array) ElseIf KBN = "LV" Then hinagata_数字項目FromTo01 = hinagata変換("hinagata_ListView_通常項目FromTo01.txt", 変更内容Array) Else hinagata_数字項目FromTo01 = "" End If End Function <<追加 end>>
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
★★ Vectorに載せた今回修正内容(201101122100のTOOL修正内容.txt)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
201101122100のTOOL修正内容.txt 【0】『kaz_PHP自動作成◎自動生成お助けTOOL』に以下の修正を行いました。 a.『バグ情報など』(http://kazpgm.ddo.jp/bugInfo.html)の5.をツールに反映しました。 『AppCheckUtil.php』のcheckIUPPhotoメソッド修正 内容:『初期データアップロード管理』の画像、ファイル名のチェック処理の間違い修正。 補足ですが当システムでの、画像名は”英字項目名.拡張子”例:map.gifです。 保存場所もプライマリーキーのフォルダの下ということに決まっています。 ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.kazphp\common\AppCheckUtil.php 修正 ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.システムphpBasePgm\common\AppCheckUtil.php 修正 ■kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.システムphpBasePgm\common\AppCheckUtil.php 修正 <<修正後>> // 初期UPLOAD時のファイル名チェック function checkIUPPhoto(&$vars, &$errorMessages, $typeNm, $result, $data, $inputCheck, $elementsIdx = '0', $exts = array( "jpg", "jpeg", "gif", "png" )) { // 未入力をエラーとするかしないかの切り分け(未入力時は処理終了) if (empty($vars[$data])) { if ($inputCheck == true ) { // 未入力をチェック // ?を入力してください。 if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』を入力してください。'; } else { $errorMessages[$data] = 'Please input "' . $data . '"'; } return false; } return $result; } if (mb_strlen($data) < mb_strlen($vars[$data])) { if (($data . '.') != mb_substr($vars[$data], 0, mb_strlen($data)+1)) { if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』のファイル名は『' . $data . '.』で始めてください。'; } else { $errorMessages[$data] = 'Please input "' . $data . '"file name start "' . $data . '."'; } return false; } } else { if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』のファイル名は『' . $data . '.』で始めてください。'; } else { $errorMessages[$data] = 'Please input "' . $data . '"file name start "' . $data . '."'; } return false; } chkExtension( $vars[$data], $exts, $errorMessages[$data] ); if (''!= $errorMessages[$data]) { return false; } return $result; } b.『バグ情報など』(http://kazpgm.ddo.jp/bugInfo.html)の7.をツールに反映しました。 定義エクセルのK列(項目チェック内容)に ”シーケンス(同一親キー内SEQ数字)”を選んだとき使用している雛形に 足りない部分があった。 (「db_functions.php」で同一親キー内SEQ数字を取得すると ALIASがないというSQLエラーになります。) ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ hinagata\Model\db_functions_getdbseq_case_03.txt 修正 ■kaz_PHP自動作成◎自動生成お助けTOOL\ hinagata\Model\db_functions_getdbseq_case_03.txt 修正 7行目 <<修正前>> WHERE ■{WHERE_DOITSU_KEY_NAI_STRING}■) <<修正後>> WHERE ■{WHERE_DOITSU_KEY_NAI_STRING}■) a c.『バグ情報など』(http://kazpgm.ddo.jp/bugInfo.html)の7.をツールに反映しました。 「小数点なし及びカンマあり数値」も属性=BIGINTで使うと maxlength=0とかに自動作成◎自動生成されて使えないバグを修正した。 ■『PHP作成マクロ(お助けTOOL).xls』のVBA『module1』 修正 Private Function 入力値チェック作成(j, SRCH区分) ・・・ <<修正前>> If UBound(桁数指定項目内容) = 0 Then 桁数 = 桁数指定項目内容(0) ElseIf UBound(桁数指定項目内容) = 1 Then min = 桁数指定項目内容(0) max = 桁数指定項目内容(1) ElseIf UBound(桁数指定項目内容) = 4 Then min = 桁数指定項目内容(0) max = 桁数指定項目内容(1) 整数 = 桁数指定項目内容(2) 少数 = 桁数指定項目内容(3) End If <<修正後>> If UBound(桁数指定項目内容) = 0 Then 桁数 = 桁数指定項目内容(0) ElseIf UBound(桁数指定項目内容) = 1 Then min = 桁数指定項目内容(0) max = 桁数指定項目内容(1) 桁数 = (Log(max) / Log(10)) + 2 ElseIf UBound(桁数指定項目内容) = 3 Then min = 桁数指定項目内容(0) max = 桁数指定項目内容(1) 整数 = 桁数指定項目内容(2) 少数 = 桁数指定項目内容(3) 桁数 = (Log(max) / Log(10)) + 2 桁数 = 桁数 + 少数 + 1 End If Private Function JSP項目値作成(j, SRCH区分, KBN) ・・・ <<修正前>> If UBound(桁数指定項目内容) = 0 Then 桁数 = 桁数指定項目内容(0) ElseIf UBound(桁数指定項目内容) = 1 Then min = 桁数指定項目内容(0) max = 桁数指定項目内容(1) ElseIf UBound(桁数指定項目内容) = 4 Then min = 桁数指定項目内容(0) max = 桁数指定項目内容(1) 整数 = 桁数指定項目内容(2) 少数 = 桁数指定項目内容(3) End If <<修正後>> If UBound(桁数指定項目内容) = 0 Then 桁数 = 桁数指定項目内容(0) ElseIf UBound(桁数指定項目内容) = 1 Then min = 桁数指定項目内容(0) max = 桁数指定項目内容(1) 桁数 = (Log(max) / Log(10)) + 2 ElseIf UBound(桁数指定項目内容) = 3 Then min = 桁数指定項目内容(0) max = 桁数指定項目内容(1) 整数 = 桁数指定項目内容(2) 少数 = 桁数指定項目内容(3) 桁数 = (Log(max) / Log(10)) + 2 桁数 = 桁数 + 少数 + 1 End If ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.kazphp\common\AppCheckUtil.php 修正 ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.システムphpBasePgm\common\AppCheckUtil.php 修正 ■kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.システムphpBasePgm\common\AppCheckUtil.php 修正 <<削除>> function checkCommaNumeric(&$vars, &$errorMessages, $typeNm, $result, $data, $min, $max, $inputCheck, $elementsIdx = '0') { return true; } <<追加>> function checkNumeric(&$vars, &$errorMessages, $typeNm, $result, $data, $min, $max, $inputCheck, $elementsIdx = '0') { $vars[$data] = trim($vars[$data]); // 未入力をエラーとするかしないかの切り分け(未入力時は処理終了) if ('' == $vars[$data] ) { if ($inputCheck == true) { // 未入力をチェック // ?を入力してください。 if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』を入力してください。'; } else { $errorMessages[$data] = 'Please input "' . $typeNm . '"'; } return false; } return true; } if (!preg_match('/^-?[0-9]+$/', (string)$vars[$data]) ) { if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』の文字種が違っています。'; } else { $errorMessages[$data] = 'The character kind is different. "' . $typeNm . '"'; } return false; } else { if ((($vars[$data] + 0) < ($min + 0)) || (($vars[$data] + 0) > ($max + 0))) { if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』の数値範囲に入っていません。'; } else { $errorMessages[$data] = 'Not in the range of numbers. "' . $typeNm . '"'; } return false; } } return true; } <<修正前>> function checkDotNumeric(&$vars, &$errorMessages, $typeNm, $result, $data, $min, $max, $up, $down, $inputCheck, $elementsIdx = '0') { return true; } <<修正後>> function checkDotNumeric(&$vars, &$errorMessages, $typeNm, $result, $data, $min, $max, $up, $down, $inputCheck, $elementsIdx = '0') { $vars[$data] = trim($vars[$data]); // 未入力をエラーとするかしないかの切り分け(未入力時は処理終了) if ('' == $vars[$data] ) { if ($inputCheck == true) { // 未入力をチェック // ?を入力してください。 if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』を入力してください。'; } else { $errorMessages[$data] = 'Please input "' . $typeNm . '"'; } return false; } return true; } if (!preg_match('/^-?([0-9]+)(.?)([0-9]*)$/', (string)$vars[$data], $matches )) { if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』の文字種が違っています。'; } else { $errorMessages[$data] = 'The character kind is different. "' . $typeNm . '"'; } return false; } else { if ((($vars[$data] + 0) < ($min + 0)) || (($vars[$data] + 0) > ($max + 0))) { if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』の数値範囲に入っていません。'; } else { $errorMessages[$data] = 'Not in the range of numbers. "' . $typeNm . '"'; } return false; } else { if (strlen($matches[2]) == 0) { // 小数点がない場合 if (strlen($matches[1]) > $up) { // 整数部 if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』の整数部桁数が違っています。'; } else { $errorMessages[$data] = 'Different from the integer digits. "' . $typeNm . '"'; } return false; } } else { // 小数点がある場合 if (strlen($matches[1]) > $up || strlen($matches[1]) == 0) { if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』の整数部桁数が違っています。'; } else { $errorMessages[$data] = 'Different from the integer digits. "' . $typeNm . '"'; } return false; } if (strlen($matches[3]) > $down || strlen($matches[3]) == 0) { if ($elementsIdx == '0') { $errorMessages[$data] = '『' . $typeNm . '』の小数部桁数が違っています。'; } else { $errorMessages[$data] = 'Different from the number of decimal places. "' . $typeNm . '"'; } return false; } } } } return true; } d.『バグ情報など』(http://kazpgm.ddo.jp/bugInfo.html)の8.をツールに反映しました。 ・T列、V列に値を入れたらW列に値が入っていなくてもエクセルマクロで落ちないように修正した。 ・AA列、AC列に値を入れたらAD列に値が入っていなくてもエクセルマクロで落ちないように修正した。 ■『201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正 ■『kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正 Private Function JSP項目値作成(j, SRCH区分, KBN) ・・・ <<変更前>> If KBN = "LV" Then <<変更後>> '--20110119 テスト 変更 start------------ 'If KBN = "LV" Then If KBN = "LV" Or j > UBound(C_TDインデントデータ) Then '--20110119 テスト 変更 end------------ e.『バグ情報など』(http://kazpgm.ddo.jp/bugInfo.html)の9.をツールに反映しました。 「★TOOL用コンスタント★」シートの以下項目が空の場合、 マクロ(『PHP作成マクロ(お助けTOOL).xls』の)実行時にエラーを表示するようにしました。 『C_SYSTEM_TITLE_KANJI = 』 『C_BASE_USER_DIR_THE_SAME_SERVER_DIR = 』 『C_BASE_ADMIN_DIR = 』 『C_SEQ_GET_TIMING = 』 『C_LIST_NUMBER_DISP = 』 『C_CSV_CODE_VALUE = 』 『_LIST_ASC_DESC_ADMIN = 』 『_LIST_ASC_DESC_USER = 』 『C_ROOT_DIR = 』 『C_HISSU_RED_DISP = 』 『C_DB_TABLE_TYPE = 』 『C_TEL_HYOUJI = 』 『C_HISSU_HYOUJI = 』 『C_COPYRIGHT_STR = 』 ■『201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正 ■『kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正 <<追加 start>> Private Function TOOL用コンスタント必須項目チェック() TOOL用コンスタント必須項目チェック = True If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_SYSTEM_TITLE_KANJI") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_SYSTEM_TITLE_KANJI = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_BASE_USER_DIR_THE_SAME_SERVER_DIR") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_BASE_USER_DIR_THE_SAME_SERVER_DIR = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_BASE_ADMIN_DIR") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_BASE_ADMIN_DIR = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_SEQ_GET_TIMING") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_SEQ_GET_TIMING = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_LIST_NUMBER_DISP") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_LIST_NUMBER_DISP = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_CSV_CODE_VALUE") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_CSV_CODE_VALUE = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_LIST_ASC_DESC_ADMIN") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_LIST_ASC_DESC_ADMIN = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_LIST_ASC_DESC_USER") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_LIST_ASC_DESC_USER = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_ROOT_DIR") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_ROOT_DIR = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_HISSU_RED_DISP") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_HISSU_RED_DISP = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_DB_TABLE_TYPE") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_DB_TABLE_TYPE = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_TEL_HYOUJI") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_TEL_HYOUJI = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_HISSU_HYOUJI") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_HISSU_HYOUJI = 」項目が空白です。指定してください。") End If If "" = ActiveWorkbook.Sheets("★TOOL用コンスタント★").Range("C_COPYRIGHT_STR") Then TOOL用コンスタント必須項目チェック = False MsgBox ("「★TOOL用コンスタント★」シートの「C_COPYRIGHT_STR = 」項目が空白です。指定してください。") End If End Function <<追加 end>> ・・・ Public Sub DDL文作成Otaasuke() ' DDL文を戻す。 <<追加 start>> If TOOL用コンスタント必須項目チェック() = False Then MsgBox ("エラー項目を修正した後マクロを実行してください。") Exit Sub End If <<追加 end>> ・・・ Public Sub writeLbiなどOtaasuke() <<追加 start>> If TOOL用コンスタント必須項目チェック() = False Then MsgBox ("エラー項目を修正した後マクロを実行してください。") Exit Sub End If <<追加 end>> ・・・ Public Sub writePgmOtasuke() <<追加 start>> If TOOL用コンスタント必須項目チェック() = False Then MsgBox ("エラー項目を修正した後マクロを実行してください。") Exit Sub End If <<追加 end>> f.『バグ情報など』(http://kazpgm.ddo.jp/bugInfo.html)の10.をツールに反映しました。 ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.kazphp\config.php ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.システムphpBasePgm\config.php ■kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.システムphpBasePgm\config.php config.php <<修正前>> if (strncmp(PHP_OS, 'WIN', 3)) { if (strncmp(PHP_OS, 'WIN', 3)) { define('DSN', 'mysql://uxxx:uxxx@localhost/dbxxx'); } <<修正後>> if (substr(PHP_OS, 0, 3) == 'WIN') { if (substr(PHP_OS, 0, 3) == 'WIN') { define('DSN', 'mysql://uxxx:uxxx@localhost/dbxxx'); } g.数字のFromToチェックとして、AppCheckUtilにcheckNumericCompareToメソッド作った。 ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.kazphp\common\AppCheckUtil.php 修正 ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.システムphpBasePgm\common\AppCheckUtil.php 修正 ■kaz_PHP自動作成◎自動生成お助けTOOL\ 作成先フォルダ\.システムphpBasePgm\common\AppCheckUtil.php 修正 <<追加 start>> function checkNumericCompareTo(&$vars, &$errorMessages, $typeNm, $result, $dataFrom, $dataTo, $elementsIdx = '0') { if (''!= $vars[$dataFrom] && ''!= $vars[$dataTo] && $vars[$dataFrom]+0 > $vars[$dataTo]+0) { // From <= Toで入力してください。 if ($elementsIdx == '0') { $errorMessages[$dataFrom] = '『' . $typeNm . '』はFrom <= Toで入力してください。'; } else { $errorMessages[$dataFrom] = 'Please input From <= To "' . $typeNm . '"'; } return false; } return true; } <<追加 end>> h.定義EXCELのK列(項目チェック内容)で『小数点あり及びカンマあり数値』を選んで、 From、 To検索項目を自動作成◎自動生成した検索条件入力値のチェックが、 こんな風になってしまっている。 (View は"srch_item47_from""srch_item47_to"の2項目できているが、 チェックロジックが1個のまま2つになっていない) // 小数点あり及びカンマあり数値 $result = AppCheckUtil::checkDotNumeric($vars, $errorMessages, "小数点あり及びカンマあり数値", $result, "srch_item47", 1, 10000, 5, 2, false,'0'); これを、これになるように修正した。 // 小数点あり及びカンマあり数値 $result = AppCheckUtil::checkDotNumeric($vars, $errorMessages, "小数点あり及びカンマあり数値", $result, "srch_item47_from", 1, 10000, 5, 2, false,'0'); $result = AppCheckUtil::checkDotNumeric($vars, $errorMessages, "小数点あり及びカンマあり数値", $result, "srch_item47_to", 1, 10000, 5, 2, false,'0'); $result = AppCheckUtil::checkNumericCompareTo($vars, $errorMessages, "小数点あり及びカンマあり数値", $result, "srch_item47_from", "srch_item47_to",'0'); ■『201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正 ■『kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正 Private Function 入力値チェック作成(j, SRCH区分) ・・・ ElseIf InStr(Cells(j, cont項目チェック内容列), "小数点あり及びカンマ") > 0 Then If UCase(SRCH区分) <> "SRCH" And Cells(j, contPK列) <> "" Then '主キーのチェックは追加のときのみ行う。 ・・・ Else '---20110121 追加 start If UCase(SRCH区分) = "SRCH" And Cells(j, C_検索項目一致条件) = "FromTo" Then wkStr = wkStr & Chr(9) & Chr(9) & "$result = AppCheckUtil::checkDotNumeric($vars, $errorMessages, """ & 項目名日本語取得(j) & "(from)"", $result, """ & _ 編集後項目名 & From文字 & """, " & _ "" & min & ", " & max & ", " & 整数 & ", " & 少数 & ", " & 必須 & ",'" & C_ELEMENTS_IDX & "');" & Chr(13) & Chr(10) wkStr = wkStr & Chr(9) & Chr(9) & "$result = AppCheckUtil::checkDotNumeric($vars, $errorMessages, """ & 項目名日本語取得(j) & "(to)"", $result, """ & _ 編集後項目名 & To文字 & """, " & _ "" & min & ", " & max & ", " & 整数 & ", " & 少数 & ", " & 必須 & ",'" & C_ELEMENTS_IDX & "');" & Chr(13) & Chr(10) wkStr = wkStr & Chr(9) & Chr(9) & "$result = AppCheckUtil::checkNumericCompareTo($vars, $errorMessages, """ & 項目名日本語取得(j) & """, $result, """ & _ 編集後項目名 & From文字 & """, """ & _ 編集後項目名 & To文字 & """,'" & C_ELEMENTS_IDX & "');" Else '---20110121 追加 end wkStr = wkStr & Chr(9) & Chr(9) & "$result = AppCheckUtil::checkDotNumeric($vars, $errorMessages, """ & 項目名日本語取得(j) & """, $result, """ & _ 編集後項目名 & """, " & _ "" & min & ", " & max & ", " & 整数 & ", " & 少数 & ", " & 必須 & ",'" & C_ELEMENTS_IDX & "');" g_wk0_SET_VARS = g_wk0_SET_VARS & SET_VARSを作成(編集後項目名, g_wk0_Count_Item, j) g_wk0_Count_Item = g_wk0_Count_Item + 1 End If '---20110121 追加 start End If '---20110121 追加 end ■201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL\ hinagata\View\hinagata_ListSrch_数字項目FromTo01.txt を新規に作成した。 ■kaz_PHP自動作成◎自動生成お助けTOOL\ hinagata\View\hinagata_ListSrch_数字項目FromTo01.txt を新規に作成した。 <!-- suji01 Fromto --> <tr> <th width="18%" nowrap ><label for="■{ITEM_NAME}■_from">■{ITEM_NAME_KANJI}■</label></th> <td class="<?=($err['■{ITEM_NAME}■_from']=='' && $err['■{ITEM_NAME}■_to']=='')?'none':'error' ?>"><input name="■{ITEM_NAME}■_from" ■{CLASS_NAME}■ id="■{ITEM_NAME}■_from" type="text" size="■{ITEM_SIZE}■" maxlength="■{ITEM_MAX_SIZE}■" value="<?= stz($o['■{ITEM_NAME}■_from'])?>"> から <input name="■{ITEM_NAME}■_to" ■{CLASS_NAME}■ type="text" size="■{ITEM_SIZE}■" maxlength="■{ITEM_MAX_SIZE}■" value="<?= stz($o['■{ITEM_NAME}■_to'])?>"> まで ■{ITEM_ZOKUSEI}■ <?= $err['■{ITEM_NAME}■_from']?><?= $err['■{ITEM_NAME}■_to']?></td> </tr> ■『201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正 ■『kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module1』 修正 <<修正前 start>> Private Function JSP項目値作成(j, SRCH区分, KBN)を修正 ・・・ For i = 1 To cy If Cells(j, cont項目チェック内容列) = Rng.Cells(i, 1) Then 'Range1列 項目チェック内容と同じか JSP雛形名 = Rng.Cells(i, 8) If Rng.Cells(i, 9) = "△" Then C_CLASS_NAME = " class=""form-eng"" " ElseIf Rng.Cells(i, 9) = "○" Then C_CLASS_NAME = " class=""form-jpn"" " End If Exit For End If Next i ・・・ 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) ・・・ 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) ・・・ 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), "", "") <<修正前 end>> <<修正後 start>> Private Function JSP項目値作成(j, SRCH区分, KBN)を修正 ・・・ Dim C_NUMERIC_ITEME ・・・ C_NUMERIC_ITEME = "" For i = 1 To cy If Cells(j, cont項目チェック内容列) = Rng.Cells(i, 1) Then 'Range1列 項目チェック内容と同じか JSP雛形名 = Rng.Cells(i, 8) If Rng.Cells(i, 3) = "○" or Rng.Cells(i, 4) = "○" Then C_NUMERIC_ITEME = "○" End If If Rng.Cells(i, 9) = "△" Then C_CLASS_NAME = " class=""form-eng"" " ElseIf Rng.Cells(i, 9) = "○" Then C_CLASS_NAME = " class=""form-jpn"" " End If Exit For End If Next i ・・・ if C_NUMERIC_ITEME = "○" then 変換後data = 変換後data & hinagata_数字項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) else 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) end if ・・・ if C_NUMERIC_ITEME = "○" then 変換後data = 変換後data & hinagata_数字項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) else 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), 文字桁表示取得(桁数, 桁固定名), srchLike条件) end if ・・・ if C_NUMERIC_ITEME = "○" then 変換後data = 変換後data & hinagata_数字項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), "", "") else 変換後data = 変換後data & hinagata_通常項目FromTo01(KBN, ITEM日本語名, IIf(必須 = True, 必須表示取得(), ""), 編集後項目名, _ 入力桁取得(桁数), 桁数, Cells(j, cont項目チェック内容列), "", "") end if <<修正後 end>> ■『201101122100_からの作成例\kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module3』 修正 ■『kaz_PHP自動作成◎自動生成お助けTOOL』のVBA『module3』 修正 <<追加 start>> Function hinagata_数字項目FromTo01(KBN, ITEM_NAME_KANJI, ITEM_HISSU, ITEM_NAME, ITEM_SIZE, ITEM_MAX_SIZE, ITEM_ZOKUSEI, ITEM_KETA, ITEM_LIKE) Dim 変更内容Array(10, 2) 変更内容Array(1, 1) = "■{ITEM_NAME_KANJI}■" 変更内容Array(2, 1) = "■{ITEM_HISSU}■" 変更内容Array(3, 1) = "■{ITEM_NAME}■" 変更内容Array(4, 1) = "■{ITEM_SIZE}■" 変更内容Array(5, 1) = "■{ITEM_MAX_SIZE}■" 変更内容Array(6, 1) = "■{ITEM_ZOKUSEI}■" 変更内容Array(7, 1) = "■{ITEM_KETA}■" 変更内容Array(8, 1) = "■{ITEM_LIKE}■" 変更内容Array(9, 1) = "■{MENU_DIR}■" 変更内容Array(10, 1) = "■{CLASS_NAME}■" 変更内容Array(1, 2) = ITEM_NAME_KANJI 変更内容Array(2, 2) = ITEM_HISSU 変更内容Array(3, 2) = ITEM_NAME 変更内容Array(4, 2) = ITEM_SIZE 変更内容Array(5, 2) = ITEM_MAX_SIZE ITEM_ZOKUSEI = 項目属性変換(ITEM_ZOKUSEI) 変更内容Array(6, 2) = ITEM_ZOKUSEI 変更内容Array(7, 2) = ITEM_KETA ITEM_LIKE = 条件変換(ITEM_LIKE) 変更内容Array(8, 2) = ITEM_LIKE 変更内容Array(9, 2) = C_MENU_DIR 変更内容Array(10, 2) = C_CLASS_NAME If KBN = "AV" Then hinagata_数字項目FromTo01 = hinagata変換("hinagata_AmendView_通常項目FromTo01.txt", 変更内容Array) ElseIf KBN = "DV" Then hinagata_数字項目FromTo01 = hinagata変換("hinagata_DetailView_通常項目FromTo01.txt", 変更内容Array) ElseIf KBN = "LS" Then hinagata_数字項目FromTo01 = hinagata変換("hinagata_ListSrch_数字項目FromTo01.txt", 変更内容Array) ElseIf KBN = "LV" Then hinagata_数字項目FromTo01 = hinagata変換("hinagata_ListView_通常項目FromTo01.txt", 変更内容Array) Else hinagata_数字項目FromTo01 = "" End If End Function <<追加 end>>
2011/2/15 21:00-1:30 検索項目FROM、TOでチェックのやり方がテキスト、日付、数字でちょっと違ってしまったが。気になるようなら自動作成◎自動生成後修正してください。という感じです。本日今回の修正をVectorの登録依頼した。ver0.1(201101122100)。<−2011/02/18 vectorからOKがきた。