MS Access 2007:在“代码打开”表单后无法更改字段

时间:2010-11-10 14:40:51

标签: forms ms-access-2007

我正在努力在MS Access 2007中创建多个表单。 我完成了以下工作:我有患者表单,我可以在其中创建/编辑患者记录。当按下 save 按钮时,我打开另一个表单,其中包含输入属于2个表的信息的任务。该表上的表格为1-1关系,并且都使用外键(来自患者表的patiendID)。

我设法使一切工作正常 - 当我更新/保存新病人时,我打开了一个新表格,其中输入了大量实验室结果。一些结果属于一个表,另一个属于另一个表。 patientID字段,在第二个表单上也可见,按原样设置。但是,当我尝试在该窗体上的任何字段中输入任何值时 - 我在状态栏上收到以下警告:“此Recordset不可更新”。 我认为这与我在单个表单上实际打开2个表的事实有关,但我可能会非常错误。

以下是我用来打开第二张表格的代码:

Private Sub save_Click()
  Dim m_query As String
  m_query = "INSERT INTO labresults (patientID) VALUES (" & Me.ID & ")"
  If Me.Dirty = True Then
     Me.Dirty = False
  End If
  If DCount("patientID", "labresults", "patientID = " & Me.ID) = 0 Then
      CurrentDb.Execute m_query, dbFailOnError
  End If
  m_query = "INSERT INTO par14MO (patientID) VALUES (" & Me.ID & ")"
  If DCount("patientID", "par14MO", "patientID = " & Me.ID) = 0 Then
      CurrentDb.Execute m_query, dbFailOnError
  End If

  If CurrentProject.AllForms("labresults").IsLoaded = True Then
      Forms![labresults]![patientID] = Me.ID
      Forms![par14MO]![patientID] = Me.ID
  Else
      DoCmd.OpenForm "labresults", acNormal, , "idPAcijenta = " & Me.ID, acFormEdit, acWindowNormal, Me.ID
  End If

End Sub

任何想法发生了什么???

一堆! 我还在谷歌上搜索...如果我能解决问题,我会发布我的发现!

1 个答案:

答案 0 :(得分:0)

事实证明,这真的无法完成:)。关闭这个,并假设这是一个答案。

编辑:有人向我建议我的最后陈述不是真的。但是,我“手动”解决了问题,现在一切正常。我会继续接受这个答案,以便让我的回答达到很好的水平。