7,763
社区成员
发帖
与我相关
我的任务
分享
Private Sub sub_UpData()
On Error GoTo Err_Proc
Dim strTemp As String
Dim intTemp As Integer
'cmdClose_Click()の初めで、MousePointerを設定
Screen.MousePointer = vbHourglass
'仕入先IDを取得する
mstrCmpyId = Left(Trim(txtCode.Text), InStr(Trim(txtCode.Text), ":") - 1)
'仕入先DはNullかどうか判断する
If strTemp <> vbNullString Then
intTemp = InStr(strTemp, ":")
'更新日付はNullかどうかを判断する
If intTemp <> 0 Then
mstrCmpyId = Left(Trim(strTemp), InStr(Trim(strTemp), ":") - 1)
gstrLastUpdTime = Right(Trim(strTemp), InStr(Trim(strTemp), ":") + 1)
Else
mstrCmpyId = strTemp
gstrLastUpdTime = vbNullString
End If
End If
'対象データ削除処理 共通機能:「メッセージ表示」を行い、メッセージBOXを表示する
'MSGID SN100111 「削除します。よろしいですか?」
If CF_MsgBox("SN1000111", vbYesNo) = vbNo Then
GoTo Exit_Proc
End If
'対象データ削除処理 <4> マスタの当該レコードを削除する
'対象データ削除処理 <4.1> トランザクションを開始する
If CF_ADOBgnTran(gcnnUPD) = gcintStatus_NG Then
GoTo Exit_Proc
End If
mstrKey = vbNullString
mstrData = vbNullString
mstrKey = mstrKey & "DLETE_FLG ='0' AND COMMODITY_COMPANY_ID ='" & CF_SqlCharEdit1(mstrCmpyId, gcintSqlNumType) _
& "' AND COMMODITY_ID ='" & CF_SqlCharEdit1(mstrCmmodityId, gcintSqlNumType) & "' "
mstrData = mstrData & "DLETE_FLG ='1',and SN_UPD_YMD_HMS='" & CF_SqlCharEdit1(Format(Now, "yyyy/mm/dd hh:mm:ss ms"), gcintSqlStrType) & "' "
mintRtn = CF_UpdData(gcstrComUpdKb_Upd, "COMMODITY_INFO", mstrKey, mstrData, vbNullString)
'戻り値を取得
Select Case mintRtn
Case gcintDbUpd_Status_OK
'対象データ削除処理 <4.3.3> 削除が正しく終了した場合
'2) 共通機能:「メッセージ表示」を行い、メッセージBOXを表示する
'3) 該当レコードをリストより削除する
If CF_ADOCommit(gcnnUPD) = gcintDbUpd_Status_OK Then
Call CF_MsgBox("SN1000113", vbOKOnly)
'終了の場合
mstrCmpyId = Trim(cboCompany.Text)
'仕入先情報コンボボックスのデータを確認する
If mstrCmpyId <> "" Then
'排他制御項目をセットする
If F_SelCOMPANYINFO(Left(mstrCmpyId, InStr(mstrCmpyId, ":") - 1)) = gcintStatus_NG Then
GoTo Exit_Proc
End If
GoTo Exit_Proc
Else
'コミットNGの場合、ロールバック
Call CF_ADORollBack(gcnnUPD)
Call CF_MsgBox("SN1000001", vbOKOnly)
GoTo Exit_Proc
End If
Case gcintDbUpd_Status_NG
'対象データ削除処理 <4.3.1> 対象レコードなしの場合
'2) 共通機能:「メッセージ表示」を行い、メッセージBOXを表示する
If CF_ADORollBack(gcnnUPD) <> gcintDbUpd_Status_OK Then
Call CF_MsgBox("SN1000001", vbOKOnly)
GoTo Exit_Proc
End If
Call CF_MsgBox("SN1000116", vbOKOnly)
GoTo Exit_Proc
Case Else
'対象データ削除処理 <4.3.4> それ以外のエラーが発生した場合はシステムエラーとする
If CF_ADORollBack(gcnnUPD) <> gcintDbUpd_Status_OK Then
Call CF_MsgBox("SN1000001", vbOKOnly)
GoTo Exit_Proc
End If
GoTo Exit_Proc
End Select
mstrSql = vbNullString
mstrSql = mstrSql + " select max(COMPANY_ID) + 1 as COMPANY_ID " '巇擖愭ID
mstrSql = mstrSql + " FROM COMPANY_INFO A "
' mstrSql = mstrSql + " WHERE A.DLETE_FLG = '0' "
'俢俛偺僇儗儞僩忬懺,奐偄偰偄傞偐
If mobjRs.State = adStateOpen Then
mobjRs.Close
End If
'堎忢廔椆偺応崌
If CF_ADOIssueSelect(mstrSql, gcnnRD, mobjRs) = gcintStatus_NG Then
GoTo Exit_Proc
End If
'摉奩儗僐乕僪偑懚嵼偟偨偐傪妋擣偡傞
If Not mobjRs.EOF Then
txtCode.Text = CF_GetDbDataFldNm(mobjRs, "COMPANY_ID")
End If
Exit_Proc:
Exit Sub
Err_Proc:
'共通エラー処理
Call CS_OnError(Me.Name & ".Form_Load", Err.Number)
Resume Exit_Proc
End Sub