wazawaza
wazawaza
2024/01/31 (水) 09:04:24
一部を略しましたが、更新文です。
Private Sub btn_更新_Click()
Dim sqlList As Collection
Set sqlList = New Collection 'コレクションを作成
〜省略〜
Dim R As Long
For R = 1 To 10
If IsNull(Me("txt_詳細リンク" & R).Value) Then
Me("txt_詳細リンク" & R).Value = Nz((Me("txt_詳細リンク" & R).Value), "")
End If
Debug.Print "1"
If Not IsNull(Me("txt_特記ID" & R).Value) Then '「txt_特記ID」が空でなければ
strSQL = _
"UPDATE T_特記事項 " & _
"SET " & _
"口座番号 = '" & Me.txt_口座番号.Value & "', " & _
"特記事項 = '" & Me("txt_特記事項" & R).Value & "', " & _
"特記事項詳細 = '#" & Replace(Me("txt_詳細リンク" & R).Value, """", "") & "#' " & _
"WHERE ID = " & Me("txt_特記ID" & R).Value & ";"
sqlList.Add strSQL
ElseIf Not IsNull(Me("txt_特記事項" & R).Value) Then '「txt_特記事項」が空でなければ
strSQL = _
"INSERT INTO T_特記事項 (口座番号, 特記事項, 特記事項詳細) " & _
"VALUES" & _
"('" & Me.txt_口座番号.Value & "', " & _
"'" & Me("txt_特記事項" & R).Value & "', " & _
"'" & Me("txt_詳細リンク" & R).Value & "');"
sqlList.Add strSQL
End If
Next R
Dim Z As Long
For Z = 1 To 10
Debug.Print "2"
If IsNull(Me("txt_クレーム詳細リンク" & Z).Value) Then
Me("txt_クレーム詳細リンク" & Z).Value = Nz((Me("txt_クレーム詳細リンク" & Z).Value), "")
End If
If Not IsNull(Me("txt_クレームID" & Z).Value) Then '「txt_クレームID」が空でなければ
'実行
strSQL = _
"UPDATE T_クレーム履歴 " & _
"SET " & _
"口座番号 = '" & Me.txt_口座番号.Value & "', " & _
"発生年月 = '" & Me("txt_発生年月" & Z).Value & "', " & _
"クレーム内容 = '" & Me("txt_クレーム内容" & Z).Value & "', " & _
"是正処置 = '" & Me("txt_是正処置" & Z).Value & "', " & _
"クレーム詳細 = '#" & Replace(Me("txt_クレーム詳細リンク" & Z).Value, """", "") & "#' " & _
"WHERE ID = " & Me("txt_クレームID" & Z).Value & ";"
sqlList.Add strSQL
ElseIf Not IsNull(Me("txt_クレーム内容" & Z).Value) Then '「txt_クレーム内容」が空でなければ
'実行
strSQL = _
"INSERT INTO T_クレーム履歴 (口座番号, 発生年月, クレーム内容, 是正処置, クレーム詳細) " & _
"VALUES" & _
"('" & Me.txt_口座番号.Value & "', " & _
"#" & Me("txt_発生年月" & Z).Value & "#, " & _
"'" & Me("txt_クレーム内容" & Z).Value & "', " & _
"'" & Me("txt_是正処置" & Z).Value & "', " & _
"'" & Me("txt_クレーム詳細リンク" & Z).Value & "');"
sqlList.Add strSQL
End If
Next Z
Dim errMsg As String
errMsg = tryExecute(sqlList) 'SQLリストを実行してメッセージを受け取る
If errMsg <> "" Then 'メッセージが空ではない(エラーがあった)場合
MsgBox errMsg, vbCritical, "エラー" '受け取ったメッセージを出力
Exit Sub '終了
End If
Call loadForm '読込を呼び出す
MsgBox "更新しました", vbInformation, "完了" 'メッセージを出力
DoCmd.Close acForm, "F_作業標準入力", acSaveNo
End Sub
通報 ...