<!--#include file="kenshu.inc"-->
<%
Dim intKenshuCode, strKenshuName, strTime, strPlace
Dim strYearFrom, strMonthFrom, strDayFrom
Dim strYearTo, strMonthTo, strDayTo
Dim strYearShime, strMonthShime, strDayShime
Dim strMax, strShainCode, strNameKanji, strNameKana, strDetail, strToroku, strCheck

If Request.Cookies("kenshu")("CODE") = "" then
    '---- クッキーがなければ認証エラー画面表示 ----
    Call DispError("","")

Else
    intKenshuCode = Request.Form("KenshuCode")
    strToroku = Request.Form("Toroku")

    '---- 共通ヘッダ表示 ----
    Call DispHeader ("研修内容の登録・変更", "")

    If intKenshuCode = "" Then
        intKenshuCode = 0
        strNameKanji = " "

    ElseIf strToroku = "1" Then
        '---- パラメータの取得 ----
        Call GetValues

        '---- 入力チェック ----
        strCheck = CheckValues
        If strCheck <> "0" Then
            response.write "<B><FONT color=""#FF0000"">" & strCheck & "</FONT></B>"
        Else
            '---- 研修データの新規登録・更新 ----
            Call ExecuteSQL()

            Response.Write "以下の通り登録・変更しました。"
        End If

    ElseIf intKenshuCode > 0 Then
        '---- 研修データから取得 ----
        Call GetRecords
    End If

    '---- 研修内容の表示 ----
    Call DispValues

    '---- 研修一覧へ戻るボタン ----
    Call DispButton

    '---- 共通フッタ表示 ----
    Call DispFooter("1")

End if


'**************************************
'パラメータの取得
'**************************************
Sub GetValues()

    strKenshuName = Request.Form("KenshuName")
    strYearFrom = Request.Form("YearFrom")
    strMonthFrom = Request.Form("MonthFrom")
    strDayFrom = Request.Form("DayFrom")
    strYearTo = Request.Form("YearTo")
    strMonthTo = Request.Form("MonthTo")
    strDayTo = Request.Form("DayTo")
    strYearShime = Request.Form("YearShime")
    strMonthShime = Request.Form("MonthShime")
    strDayShime = Request.Form("DayShime")
    strTime = Request.Form("Time")
    strPlace = Request.Form("Place")
    strMax = Request.Form("Max")
    strShainCode = Request.Form("ShainCode")
    strDetail = Request.Form("Detail")

End Sub


'**************************************
'入力チェック
'**************************************
Function CheckValues ()

    On Error Resume Next
    CheckValues = "0"

    If strKenshuName = "" Then
        CheckValues = "「研修名称」は必ず入力して下さい。"
    ElseIf LenB(strKenshuName) > 200 Then
        CheckValues = "「研修名称」は200バイト以内で入力して下さい。"
    ElseIf strYearFrom = "" Or strMonthFrom = "" Or strDayFrom = "" Then
        CheckValues = "「日程自」は必ず入力して下さい。"
    ElseIf IsDate(DateSerial(strYearFrom, strMonthFrom, strDayFrom)) = False Then
        CheckValues = "「日程自」に適切な日付を入力して下さい。"
    ElseIf IsDate(DateSerial(strYearTo, strMonthTo, strDayTo)) = False Then
        If strYearTo & strMonthTo & strDayTo <> "" Then
            CheckValues = "「日程至」に適切な日付を入力して下さい。"
            Exit Function
        End If
    ElseIf strYearShime = "" Or strMonthShime = "" Or strDayShime = "" Then
        CheckValues = "「申込締切日」は必ず入力して下さい。"
    ElseIf IsDate(DateSerial(strYearShime, strMonthShime, strDayShime)) = False Then
        CheckValues = "「申込締切日」に適切な日付を入力して下さい。"
    ElseIf strPlace = "" Then
        CheckValues = "「場所」は必ず入力して下さい。"
    ElseIf LenB(strPlace) > 100 Then
        CheckValues = "「場所」は100バイト以内で入力して下さい。"
    ElseIf strTime = "" Then
        CheckValues = "「時間」は必ず入力して下さい。"
    ElseIf LenB(strTime) > 100 Then
        CheckValues = "「時間」は100バイト以内で入力して下さい。"
    ElseIf LenB(strDetail) > 1000 Then
        CheckValues = "「内容詳細」は1000バイト以内で入力して下さい。"
    End If

    If IsNumeric(strMax) = False Then
        If strMax = "" Then
            strMax = Null
        Else
            CheckValues = "「定員」は数字を入力して下さい。"
        End If
    End If

    strSQL = "SELECT * FROM 社員マスタ WHERE 社員コード = '" & strShainCode & "'"
    objRec.Open strSQL, objDBCon

    If objRec.EOF And objRec.BOF Then
        CheckValues ="「講師コード」は適切な社員コードを入力して下さい。"
    Else
        strNameKanji = objRec.Fields("氏名漢字").Value
        strNameKana = "(" & objRec.Fields("氏名カナ").Value & ")"
    End If

    objRec.Close

End Function


'**************************************
'研修データの新規登録・更新
'**************************************
Sub ExecuteSQL()

    objDBCon.BeginTrans

    If intKenshuCode = 0 Then
        '---- 研修コードの採番 ----
        strSQL = "SELECT MAX(研修コード) AS 最大値 FROM 研修データ"
        objRec.Open strSQL, objDBCon
        intKenshuCode = objRec.Fields("最大値").Value + 1
        objRec.Close

        '---- 新規登録処理 ----
        strSQL = "SELECT * FROM 研修データ"
        objRec.Open strSQL, objDBCon, 1, 2
        objRec.AddNew
    Else
        '---- 更新処理 ----
        strSQL = "SELECT * FROM 研修データ WHERE 研修コード = " & intKenshuCode
        objRec.Open strSQL, objDBCon, 1, 2
    End If

    '---- レコードセットに入力値を設定 ----
    Call SetValues
    objRec.Update
    objRec.Close

    objDBCon.CommitTrans

End Sub


'**************************************
'レコードセットに入力値を設定
'**************************************
Sub SetValues()

    objRec.Fields("研修コード").Value = intKenshuCode
    objRec.Fields("研修名称").Value = strKenshuName
    objRec.Fields("日程自").Value = DateValue(DateSerial(strYearFrom, strMonthFrom, strDayFrom))
    If strYearTo <> "" Then
        objRec.Fields("日程至").Value = DateValue(DateSerial(strYearTo, strMonthTo, strDayTo))
    End If
    objRec.Fields("申込締切日").Value = DateValue(DateSerial(strYearShime, strMonthShime, strDayShime))
    objRec.Fields("時間").Value = strTime
    objRec.Fields("場所").Value = strPlace
    objRec.Fields("定員").Value = strMax
    objRec.Fields("講師コード").Value = strShainCode
    objRec.Fields("内容詳細").Value = strDetail
    objRec.Fields("更新者コード").Value = Request.Cookies("kenshu")("CODE")
    objRec.Fields("更新日").Value = Date()

End Sub


'**************************************
'研修データから取得
'**************************************
Sub GetRecords()

    strSQL = "SELECT * FROM 研修データ A, 社員マスタ B " & _
            "WHERE A.講師コード = B.社員コード " & _
            "AND 研修コード = " & intKenshuCode
    objRec.Open strSQL, objDBCon

    strKenshuName = objRec.Fields("研修名称").Value
    strYearFrom = Year(objRec.Fields("日程自").Value)
    strMonthFrom = Month(objRec.Fields("日程自").Value)
    strDayFrom = Day(objRec.Fields("日程自").Value)
    strYearTo = Year(objRec.Fields("日程至").Value)
    strMonthTo = Month(objRec.Fields("日程至").Value)
    strDayTo = Day(objRec.Fields("日程至").Value)
    strYearShime = Year(objRec.Fields("申込締切日").Value)
    strMonthShime = Month(objRec.Fields("申込締切日").Value)
    strDayShime = Day(objRec.Fields("申込締切日").Value)
    strTime = objRec.Fields("時間").Value
    strPlace = objRec.Fields("場所").Value
    strMax = objRec.Fields("定員").Value
    strShainCode = objRec.Fields("講師コード").Value
    strNameKanji = objRec.Fields("氏名漢字").Value
    strNameKana = "(" & objRec.Fields("氏名カナ").Value & ")"
    strDetail = objRec.Fields("内容詳細").Value

    objRec.Close

End Sub


'**************************************
'入力欄の表示
'**************************************
Sub DispValues()
%>
<form action="kenshu05.asp" method="post">
<input type="hidden" name="KenshuCode" value="<%=intKenshuCode%>">
<table border="0" bgcolor="<%=REDD%>">

<%    If intKenshuCode > 0 Then
%>    <tr>
        <th bgcolor="<%=REDH%>">研修コード</th>
        <td><%=intKenshuCode%></td>
    </tr>
<%    End If
%>
    <tr>
        <th bgcolor="<%=REDH%>">研修名称</th>
        <td><% Call DispKenshuNameText(strKenshuName)%></td>
    </tr>
    <tr>
        <th bgcolor="<%=REDH%>">日程</th>
        <td><% Call DispDateText2(strYearFrom, strMonthFrom, strDayFrom, _
                                strYearTo, strMonthTo, strDayTo) %></td>
    </tr>
    <tr>
        <th bgcolor="<%=REDH%>">申込締切日</th>
        <td><% Call DispDateShimeText(strYearShime, strMonthShime, strDayShime) %></td>
    </tr>
    <tr>
        <th bgcolor="<%=REDH%>">時間</th>
        <td><% Call DispTimeText(strTime)%></td>
    </tr>
    <tr>
        <th bgcolor="<%=REDH%>">場所</th>
        <td><% Call DispPlaceText(strPlace)%></td>
    </tr>
    <tr>
        <th bgcolor="<%=REDH%>">定員</th>
        <td><% Call DispMaxText(strMax)%></td>
    </tr>
    <tr>
        <th bgcolor="<%=REDH%>">講師コード</th>
        <td><% Call DispShainCodeText(strShainCode)%></td>
    </tr>
    <tr>
        <th bgcolor="<%=REDH%>">講師名</th>
        <td><%=strNameKanji & strNameKana%></td>
    </tr>
    <tr>
        <th bgcolor="<%=REDH%>">内容詳細<br>(HTMLのタグが<br>利用できます)</th>
        <td><% Call DispDetailText(strDetail)%></td>
    </tr>
</table>
<h3>上記内容で<input type="submit" value="登録">します。</h3>
<input type="hidden" name="ShoriCode" value="<%=Request.Form("ShoriCode")%>">
<input type="hidden" name="Toroku" value="1">
<input type="hidden" name="Disp" value="<%=Request.Form("Disp")%>">
</form>
<%
End Sub
%>