Estou construindo um formulário onde há uma caixa de Combinação com nomes de instituições de ensino, que estão listadas numa tabela. Como faço para, caso a instituição de ensino não esteja presente na combo, ela seja incluída. Peguei o código abaixo mas não dá certo, pois dá um erro de identificação no formulário criado. Não sei se é pq não compreendi bem as relações entre o formulário a ser criado e a tabela já criada (a minha). Vejam o código abaixo:
Coloque no evento "se nao estiver na lista" o codigo abaixo:
Private Sub NOMEDOCOMBO_NotInList(NewData As String, Response As Integer)
On Error GoTo NOMEDOCOMBO_NotInList_Err
DoCmd.SetWarnings False ' Desativa avisos do Access
If msgbox("A NOMEDOCOMBO " & UCase(NewData) & " não existe. Cadastrar ?", vbQuestion + vbYesNo, "Cadastramento...") = vbNo Then
Response = acDataErrContinue ' Volta ao controle
GoTo NOMEDOCOMBO_NotInList_End
End If
DoCmd.OpenForm "NOMEDEUMFORMULARIO", acNormal, , , acFormAdd, acDialog, UCase(NewData) ' Abre o form para incluir
Response = acDataErrAdded ' <<= Faz a inclusão na combo e atualiza
NOMEDOCOMBO_NotInList_End:
DoCmd.SetWarnings True ' Ativa os avisos do Access
Me!NOMEDOCOMBO.SetFocus ' Volta o foco
Exit Sub
NOMEDOCOMBO_NotInList_Err:
msgbox Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
Resume NOMEDOCOMBO_NotInList_End
End Sub
- Depois faça um formulario neste caso "NOMEDEUMFORMULARIO" e la coloque o campo com o nome da combo, pode ser uma caixa de texto.
- Depois coloque no evento No cronometro assim:
DoCmd.Close
- Depois no evento intervalo no cronometro coloque : 1 (aqui significa que ele abrira 1 segundo e posteriormente fechara automaticamente.)
- na origem do registro do formulario "NOMEDEUMFORMULARIO" faça uma consulta onde esta apenas o campo que a combo pede, pronto é isso.
PS este codigo peguei com outra pessoa que não sabe o autor, se for de autoria de alguem se pronuncie que colocarei os créditos.