Код не работает для передачи значения из одной формы в другую в Access 2017 - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть форма с именем MortalityDataEntertyform4, содержащая поле GoatID.

Я хочу написать код, чтобы открыть форму Goatforsalelist3 и заполнить поле GoatID2 значением GoatID изформа MortalityDataEntertyform4.

Я попробовал приведенный ниже код, который открывает форму, но значения не передаются:

Private Sub Command189_Click()
    Dim strFrmName As String
    strFrmName = "GoatForSaleList3"
    DoCmd.OpenForm strFrmName
    With Forms(strFrmName)
        Text165.Value = Me.Text78.Value
    End With
End Sub

1 Ответ

1 голос
/ 23 сентября 2019

Требуется точка перед элементом управления:

.Text165 = Me.Text78

.Value не требуется, хотя использование не мешает.

Если форма связана сданные и текстовое поле, привязанные к полю и форме, не открываются в строке новой записи, код изменит значение в существующей записи.Поэтому либо установите для свойства DataEntry формы значение Yes, либо укажите acFormAdd в методе OpenForm:

DoCmd.OpenForm strFrmName, , , , acFormAdd

Затем, чтобы дополнительно убедиться, что существующие данные не изменены:

If .NewRecord Then .Text165 = Me.Text78

Другой подход - использовать OpenArgs для передачи значения во вторую форму, а затем код второй формы использует OpenArgs для установки значения поля / элемента управления.

...