我在一箇舊的帖子中找到了一個完整的解決方案,它爲我的需求提供了一個完美的解決方案 - '使用Microsoft Access創建文檔數據庫',並以Renaud BomPuis以示例數據庫(https://dl.dropboxusercontent.com/u/52900980/StackOverflow/SO25044339.accdb)的形式提供答案。創建一個文檔數據庫
我已經能夠操作源代碼,以適應我的需要,併成功地將它插入我的主數據庫。我遇到的唯一問題是它爲我創造了一個新的記錄。當用戶單擊「上傳文件」時,將創建一條新記錄,並打開一個表單以便能夠使用文件對話框選擇文件。但是,如果用戶改變主意並單擊取消,則該記錄已創建,但是沒有文件路徑。
我想只能創建一個新的記錄,如果用戶確認,但我似乎無法操縱代碼到正確的順序,它的工作。
任何人都可以幫忙嗎?非常感謝。
編輯:代碼從評論
Private Sub btnUploadDoc_Click() ' Create a new record in the Documents table for the selected Works No
Dim DocID As Variant
Dim db As dao.Database
Dim rs As dao.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("tblDocuments", dbOpenDynaset, dbFailOnError)
With rs
.AddNew !WorksNo = cboWorksNo
.Update
.Move 0, .LastModified
DocID = !DocID
.Close
End With
Set rs = Nothing
Set db = Nothing
DoCmd.OpenForm "frmDocSelect", WhereCondition:="DocID=" & DocID
End Sub
您就可以在點擊按鈕上傳文件的代碼嗎?在我們的企業網絡我無法下載數據庫 –
私人小組btnUploadDoc_Click() '創建的文件表中選擇的作品沒有 昏暗的DocID爲Variant 昏暗的分貝新紀錄DAO.DATABASE 昏暗RS作爲dao.Recordset 設置DB = CurrentDb() 集RS = db.OpenRecordset( 「tblDocuments」,dbOpenDynaset,dbFailOnError) 隨着RS .AddNew !WorksNo = cboWorksNo .Update .Move 0,.LastModified 的DocID =!的DocID 。關閉 End With Set rs = Nothing Set db = Nothing DoCmd.OpenForm「frmDocSelect」,WhereCondition:=「DocID =」&DocID End Sub – Chris
我假設您的doc選擇代碼位於frmDocSelect窗體中。你也應該發佈它(但是編輯你的原始帖子並將代碼包裝在代碼標籤中 - 就像@Andre最後一次爲你做的那樣)。如果您在創建新記錄之前檢查上傳文件,並在當前表單上執行此操作,那麼在打開新記錄之前,我想這可能會更簡單 – dbmitch