2017-01-10 172 views
0

我有一個Access數據庫,其中有一個患者入院表單,列表框中列出了患者所有的過程。列表框中包含了ProcedureID,ProcedureDate和ProcedureTitle。列表框被綁定到1或procedureID。雙擊MS Access列表框將打開窗體到特定記錄,但無法編輯

我有打開過程窗體的列表框的雙擊事件。該表格具有標籤子表格,其中包含與該程序有關的各種數據位。

窗體打開正確的記錄並在窗體和子窗體中顯示相關數據。問題是,當我嘗試編輯那就是程序的形式出現以下錯誤信息上的數據..

you can't assign a value to this object 

錯誤指向我的程序表上髒事件。這只是一個問題,如果我試圖編輯父窗體中的數據,子窗體工作正常,任何編輯都被接受。

我在列表框

Private Sub lst_Procedure_DblClick(Cancel As Integer) 

    'double click to open procedure form to the selected record 

    Dim ProcID As Long 

    ProcID = Me!lst_Procedure 

    DoCmd.Close acForm, "frm_Admission" 
    DoCmd.OpenForm "frm_Procedure", , , "[ProcedureID] = " & ProcID 

End Sub 

的雙擊事件的代碼和程序的形式在這個代碼開到正確的記錄

Private Sub Form_Dirty(Cancel As Integer) 

    'open Procedure form to record selected in procedure list 
    Me.ProcedureID = Me.OpenArgs 

End Sub 

任何建議將不勝讚賞。我試過在onLoad上接收openargs而不是onDirty,但無濟於事。

回答

0
DoCmd.OpenForm "frm_Procedure", , , "[ProcedureID] = " & ProcID 

用現有記錄打開表單。您正在使用OpenForm的參數WhereConditionhttps://msdn.microsoft.com/en-us/library/office/ff820845.aspx

因此,不需要以打開的形式設置Me.ProcedureID。只需刪除Dirty事件過程。我想ProcedureID是主鍵和一個自動編號?
自動編號值不能更改。

相關問題