|
' *********************************************************
' 修正・新規更新
' *********************************************************
Private Sub btn更新_Click()
Dim TargetMDB, Query
' -------------------------------------------------
' 更新用フィールドチェック
' -------------------------------------------------
If IsNull(Me.txt番号.Value) Then
MsgBox ("番号は必須入力です")
Me.txt番号.SetFocus
Exit Sub
End If
' -------------------------------------------------
' マスタの該当コードの存在チェック
' -------------------------------------------------
If IsEmpty(objCn) Then
Set objCn = CreateObject("ADODB.Connection")
End If
If IsEmpty(objRs) Then
Set objRs = CreateObject("ADODB.Recordset")
End If
TargetMDB = Application.CurrentDb.TableDefs("T_マスタ").Connect
TargetMDB = Replace(TargetMDB, ";DATABASE=", "")
Call MDB_DBConnect(objCn, TargetMDB)
Query = "select * from T_マスタ where コード = " & Me.txt番号.Value
If DBGet(objCn, objRs, Query, True) Then
MsgBox ("既に " & Me.txt番号.Value & " は存在します")
Call DBClose(objRs)
Call DBClose(objCn)
Me.txt番号.SetFocus
Exit Sub
End If
Dim strKey1, strKey2
If MsgBox("更新しますか?", vbOKCancel Or vbDefaultButton2 Or vbQuestion) = vbOK Then
' -------------------------------------------------
' 新規用事前処理 @@ 要変更
' -------------------------------------------------
If cmb処理モード = 1 Then
strKey1 = Me.cmbコード.Value
Me.cmbコード.ControlSource = "受付番号"
Me.cmbコード.Value = strKey1
End If
' -------------------------------------------------
' マスタの新規登録
' -------------------------------------------------
Dim i
objRs.AddNew
For i = 0 To objRs.Fields.Count - 1
objRs.Fields(i).Value = Me.Recordset.Fields(i).Value
Next
objRs.Fields("コード゙").Value = Me.txt番号.Value
objRs.Fields("区分").Value = Me.cmb区分.Value
objRs.Fields("クラス").Value = Me.cmbクラス.Value
objRs.Fields("携帯電話番号").Value = Me.txt携帯電話番号.Value
objRs.Fields("更新区分").Value = Empty
objRs.Fields("更新日付").Value = Date
objRs.Update
' -------------------------------------------------
' 元テーブルのみの更新用編集
' -------------------------------------------------
Me.更新日付.Value = Date
' -------------------------------------------------
' 更新実行
' -------------------------------------------------
bUpdate = True
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
If Err.Number <> 0 Then
MsgBox (Err.Description)
End If
On Error GoTo 0
' -------------------------------------------------
' 新規用後処理
' -------------------------------------------------
If Me.cmbコード.ControlSource <> "" Then
Me.cmbコード.ControlSource = ""
End If
' -----------------------------------------------------
' 現在のキーでリセット
' -----------------------------------------------------
cmbコード_AfterUpdate
End If
Call DBClose(objRs)
Call DBClose(objCn)
End Sub
| |