|
有名な魔界の仮面弁士さんからご回答頂けるとは光栄です。 その後、試行錯誤を繰り返し、下記の通り、実施したい処理を完成させることができました。 この度は、本当にありがとうございました。
Private Sub cmdAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click
'ダイアログボックスを表示する If OpenFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim node As TreeNodeEx = frmMain.tvCategory.SelectedNode Dim de As New DBEngine() Dim db As Database = de.OpenDatabase("C:\test\sample.accdb", False)
Dim rs1 As Recordset = db.OpenRecordset("SELECT * FROM T_SME WHERE ID ='" & node.Name.ToString & "'")
rs1.Edit() Dim rs2 As Recordset2 = DirectCast(rs1.Fields("File").Value, Recordset2) Dim fld2 As Field2 fld2 = DirectCast(rs2.Fields("FileData"), Field2)
Do Until rs2.EOF 'データベース内に保存されているファイル名と新規に追加しようとしているファイル名が同一かチェック If rs2.Fields("FileName").Value.ToString = OpenFileDialog.SafeFileName Then '選択したファイルの保存 Dim intAns As Integer intAns = MsgBox("同名のファイルが存在しています。上書きしますか?", MsgBoxStyle.YesNo, "確認") If intAns = vbYes Then '既存のファイルを削除 rs2.Delete() Me.ListBoxMain.Items.Remove(OpenFileDialog.SafeFileName) Exit Do Else Exit Sub End If End If rs2.MoveNext() Loop
'選択したファイルの追加 rs2.AddNew() fld2.LoadFromFile(OpenFileDialog.FileName) rs2.Update() Me.ListBoxMain.Items.Add(OpenFileDialog.SafeFileName)
rs1.Update() db.Close() MsgBox("ファイルを追加しました。", MsgBoxStyle.Information, "完了") End If End Sub
|