첫 번째 문제는 당신이 C를하지 않았다는 사실에서 오는 이상 무엇을 넣어 잘 모르겠어요 당신이 언급 한 링크의 코드를 잘 읽으십시오. 당신이 당신의 파일을 저장할 테이블
rstCurrent
오픈 레코드 :
AddAttachment(ByRef rstCurrent As DAO.Recordset, _
ByVal strFieldName As String, _
ByVal strFilePath As String)
이가 3 개 필수 매개 변수가 있다는 의미로
AddAttachment
서브 루틴이 정의된다. 파일이 레코드 세트의 현재 레코드에 추가됩니다.
strFiledName
파일이 저장 될 첨부 파일 이름입니다. Access에서 만든 tblAttach
테이블에는 하나 이상의 첨부 파일 필드 (문서 이름, ID, 문서의 원래 경로 등 찾을 수있는 첨부 파일 관련 정보가 들어있을 수 있음)가 있어야합니다. 기타).
strFilePath
첨부 할 파일의 절대 경로.
Public Function SelectFile() As String
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
.AllowMultiSelect = False
.Title = "Please select file to attach"
If .show = True Then
SelectFile = .SelectedItems(1)
Else
Exit Function
End If
End With
Set fd = Nothing
End Function
호출이 기능 SelectFile()
은 사용자가 파일을 선택할 수 있도록 :
두 번째 문제는 사용자가 파일 대화 상자를 통해 원하는 파일을 선택하도록하는 것입니다. 이 함수는 작업이 취소되었거나 파일을 선택하지 않은 경우 파일의 전체 경로 또는 빈 문자열을 반환합니다. 그들은 첨부 파일을 저장할 때 사용자가 파일의 이름과 위치를 선택셔서
이 코드는 유사하다 : 인스턴스가 첨부 파일의 이름을 제안하고,하자 할
Public Function SelectSaveAs(initialName As String) As String
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogSaveAs)
With fd
.Title = "Save Attachment"
.InitialFileName = initialName
If .show = True Then
SelectSaveAs = .SelectedItems(1)
Else
Exit Function
End If
End With
End Function
전화 SelectSaveAs("toto.xls")
사용자는 저장 위치를 선택합니다 (이름도 변경할 수 있습니다). 이 함수는 첨부 파일을 저장할 파일의 전체 경로를 반환합니다.
이제 모든 것을 조합 할 수 있습니다.
Files
필드가있는 tblAttach
을 작성했다고 가정 해보십시오., 레코드를 열고 파일을 포함하는 레코드로 이동 :
Dim dbs As DAO.database
Dim rst As DAO.RecordSet
' Ask the user for the file
Dim filepath As String
filepath = SelectFile()
' Check that the user selected something
If Len(filepath) = 0 Then
Debug.Assert "No file selected!"
Exit Sub
End If
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tblAttach")
' Add a new row and an attachment
rst.AddNew
AddAttachment rst, "Files", filepath
rst.Update
' Close the recordset
rst.Close
Set rst = Nothing
Set dbs = Nothing
가 비슷한 일을 할 것, 사용자가 파일을 다시 저장하게하려면 :
우리는 당신이 같은 언급 링크에서 테스트를 다시 작성할 수 있습니다 저장하려면 사용자에게 파일 이름을 묻고이 정보를 SaveAttachment
서브 루틴으로 전달하십시오.