我正在努力在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
任何想法发生了什么???
一堆! 我还在谷歌上搜索...如果我能解决问题,我会发布我的发现!
答案 0 :(得分:0)
事实证明,这真的无法完成:)。关闭这个,并假设这是一个答案。
编辑:有人向我建议我的最后陈述不是真的。但是,我“手动”解决了问题,现在一切正常。我会继续接受这个答案,以便让我的回答达到很好的水平。