Julio Lustosa 18/7/2013, 13:35
Bom! Meu exemplo mais simples é o de inserir na tabela tblRespContratacao, o nome do usuário, chave de acesso e perfil de contratação.
Utilizo a seguinte sintaxe:
DoCmd.RunSQL "INSERT INTO tblRespContratacao (ChaveDeAcesso, RespContratacao, Perfil, Ramal) VALUES ('" & Me.ChAcesso & "', '" & Me.RespContratacao & "', " & Me.Perfil & ", " & Nz(Me.Ramal, 0) & ")"
Forms!Contratador!frmSubContratador.Refresh
Insert Into -> Insere um registro na tabela
tblRespContratacao => É a tabela destino. Onde serão inseridos os novos registros. Também é a tabela que fornece os dados para o subformulário.
A primeira parte entre parenteses são os campos da tabela que receberão os dados inseridos no formulário.
VALUES => São os valores a serem cadastrados
A segunda sequência é os dados a serem inseridos. Como estou inserindo a partir de um formulário, coloquei para ele puxar direto dos controles. Mas aí você tem que fazer concatenação, lembrando que se tiver algum campo do tipo texto, você terá que colocar aspa simples, igual ao Me.ChAcesso.
A linha Forms!Contratador!frmSubContratador.Refresh, vai atualizar o subformulário do outro formulário que você quer inserir os dados. Assim, quando a instrução SQL terminar a execução, os dados já poderão ser exibidos no sub.
Use os comando DoCmd.SetWarnings (False) ou (True) para desabilitar e habilitar as mensagens do Access no momento em que a SQL for executada. Assim, se você quiser, você pode ver a mensagem de confirmação ou não dos dados a serem inseridos. Faça o teste.
Abraços.