мог кто-либо возможно давать мне некоторые подсказки относительно соответствующего метода для использования здесь.
Править
У меня есть поля в форме, которые касаются пользователей 'адрес риска', и у меня есть флажок, который обновляет значения в этих полях что если выбранные загрузки детали 'контакта' (от таблицы tblInsPersDet) в эти поля. Если флажок не устанавливается, пользователь может ввести новые детали.
Я работаю ниже sub стандартной программы на выборе флажка. Для получения значений полей, я использую Dlookup, но я полагаю, что это неэффективно? Поскольку это запрашивает базу данных/таблицу каждый раз.
Public Sub sameAsContact(frm As Form)
frm.riskAddress1 = DLookup("[add1]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskAddress2 = DLookup("[add2]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskAddress3 = DLookup("[add3]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskAddress4 = DLookup("[add4]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskAddress5 = DLookup("[add5]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.cmbRiskCountry = DLookup("[country]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskDstToProp = DLookup("[distToProp]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskInsCompany = DLookup("[insCompany]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskPolNo = DLookup("[polNo]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskBldSi = DLookup("[bldSi]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskContSi = DLookup("[contSi]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskExcess = DLookup("[excess]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskOgLinkMort = DLookup("[linkMort]", "tblInsPersDet", "[ID] =" & frm.insuredId)
frm.riskOgAddOn = DLookup("[addOn]", "tblInsPersDet", "[ID] =" & frm.insuredId)
End Sub
Существует ли способ запросить базу данных однажды? Мог кто-либо давать мне подсказку относительно более соответствующего метода для получения данных из необходимой записи.
Заранее спасибо за любое Рождество Аплодисментов справки
Вы должны использовать подчиненную форму, которая имеет insuredId в качестве поля Link Master и ID в качестве поля Link Child.
РЕДАКТИРОВАТЬ примечание
Я все еще верю, что вы можете использовать подчиненную форму. Если флажок установлен, либо выберите соответствующую запись для подчиненной формы:
Me.MySubformControlName.Form.RecordSource="Select * From tblInsPersDet Where ID=" _
& Me.txtinsuredId
, либо введите значение в скрытое или видимое поле, например txtinsuredId.
Если флажок не установлен, вы можете перейти к новой записи в подчиненной форме.
ИЗМЕНИТЬ примечание № 2
Если вам нужно использовать что-то вроде DlookUp, используйте набор записей:
Set rs=CurrentDB.OpenRecordset("Select * From tblInsPersDet Where ID=" _
& Me.txtinsuredId)
For each fld in rs.Fields
frm("txt" & fld.name)=fld
Next
или около того.