双击MS Access列表框将打开窗体到特定记录,但无法编辑
问题描述:
我有一个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,但无济于事。
答
DoCmd.OpenForm "frm_Procedure", , , "[ProcedureID] = " & ProcID
用现有记录打开表单。您正在使用OpenForm
的参数WhereCondition
。 https://msdn.microsoft.com/en-us/library/office/ff820845.aspx
因此,不需要以打开的形式设置Me.ProcedureID
。只需删除Dirty
事件过程。我想ProcedureID
是主键和一个自动编号?
自动编号值不能更改。