Por favor, tenha paciência comigo, pois sou novo no Access VBA.
Tenho uma caixa de texto aqui no Form2 nomeada txtEID
com um Employee ID
valor que é passado de outro formulário.
Também tenho uma caixa de texto de exemplo chamada txtFullName
que deve preencher automaticamente o nome de uma pessoa da tabela tblEmployees
com campo de tabela EmployeeName
onde Form2.txtEID.value
é igual a EID
de tblEmployees
.
Não sei como fazer o preenchimento automático na caixa de texto, mas para meu teste, tentei em uma ComboBox com esta linha abaixo em sua propriedade Rowsource:
SELECT [tblEmployees].[ID], [tblEmployees].[EmployeeName] FROM tblEmployees WHERE [tblEmployees].[EID] = [txtEID];
Ele está mostrando o valor desejado (nome da pessoa com base no EID de txtEID) no ComboBox, mas apenas como uma lista suspensa.
Como posso definir o valor da caixa de texto txtFullName
para o nome de uma pessoa da tabela com base no EID exibido em txtEID
. Também não sei como configurá-lo na txtFullName
propriedade Control Source.
Esse tem sido meu problema por 6 horas. Sua ideia é muito apreciada.
Use DLOOKUP na Fonte de Controle para extrair as informações.
DLookUp("[Full_Name]","[Table1]","[EID]=" & [txtEID])
Eu o envolvi em uma instrução IIF, pois ela retorna um erro se o controle txtEID no formulário for nulo.
=IIf(IsNull([txtEID]),"",DLookUp("[Full_Name]","[Table1]","[EID]=" & [txtEID]))