Я борюсь с созданием нескольких форм в MS Access 2007.
Я выполнил следующее: у меня есть форма пациентов , где я могу создавать / редактировать записи пациентов. Когда нажата кнопка save , я открываю другую форму, в задачу которой входит ввод информации, принадлежащей двум таблицам. Таблицы в этой форме находятся в отношении 1-1, и обе используют внешний ключ (PatiendID из таблицы пациентов).
Мне удалось заставить все работать нормально - когда я обновляю / сохраняю нового пациента, у меня открывается новая форма с кучей лабораторных результатов, которые нужно ввести. Некоторые результаты принадлежат одной таблице, а другие - другой таблице. Поле PatientID, которое также отображается в этой 2-й форме, устанавливается в порядке. Однако, когда я пытаюсь ввести ЛЮБОЕ значение в ЛЮБОМ поле в этой форме - я получаю следующее предупреждение в строке состояния: «Этот набор записей не обновляется».
Я думаю, что это связано с тем, что я на самом деле открыл 2 таблицы в одной форме, но я могу быть очень неправ.
Вот код, который я использую для открытия 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
Есть идеи, что происходит ???
Большое спасибо!
Я все еще гуглюсь и пытаюсь ... Я опубликую свои результаты, если мне удастся разобраться!