Prezados, bom dia.
Acredito que estou cometendo um erro (ou meio erro), embora a coisa esteja funcionando bem.
Tenho quatro formulários. Um form de envio de exames (com campos não acoplados) de nome PRÉ_CADASTRO que, após clicar em um botão, abre de forma invisível (acHidden) outros três Form e lança algumas informações em cada um deles.
FORM1 = Baseado na tabela EXAMES
FORM2 = Baseado na tabela EXAMES_ASO
FORM3 = Baseado na tabela EXAMES_Visão
FORM4 = Baseado na tabela EXAMES_Audio
(Há quase uma centena de exames possíveis, e são armazenadas na tabela EXAMES somente as informações comuns a todos os exames; se for um exame ASO, complementam-se as informações na tabela EXAMES_ASO; o mesmo se aplica se for um exame Visão e/ou Audio)
Meu código (mais ou menos assim -- é bem mais complexo, mas a base é esta):
Private Sub BotãoSalvar_Click()
' Abre os forms -- invisíveis
DoCmd.OpenForm "FORM1", acNormal, "", "", , acHidden
DoCmd.OpenForm "FORM2", acNormal, "", "", , acHidden
DoCmd.OpenForm "FORM3", acNormal, "", "", , acHidden
DoCmd.OpenForm "FORM4", acNormal, "", "", , acHidden
'Envia os dados do PRÉ_CADASTRO para o Form1
Forms!FORM1!Campo1 = Forms!PRÉ_CADASTRO!Campo1
Forms!FORM1!Campo2 = Forms!PRÉ_CADASTRO!Campo2
Forms!FORM1!Campo3 = Forms!PRÉ_CADASTRO!Campo3
Forms!FORM1!Campo4 = Forms!PRÉ_CADASTRO!Campo4
Forms!FORM1!Campo5 = Forms!PRÉ_CADASTRO!Campo5
'Envia os dados do PRÉ_CADASTRO para o Form2
Forms!FORM2!Campo1 = Forms!PRÉ_CADASTRO!Campo1
Forms!FORM2!Campo2 = Forms!PRÉ_CADASTRO!Campo2
'Envia os dados do PRÉ_CADASTRO para o Form3
Forms!FORM3!Campo1 = Forms!PRÉ_CADASTRO!Campo1
Forms!FORM3!Campo2 = Forms!PRÉ_CADASTRO!Campo2
'Envia os dados do PRÉ_CADASTRO para o Form4
Forms!FORM4!Campo1 = Forms!PRÉ_CADASTRO!Campo1
Forms!FORM4!Campo2 = Forms!PRÉ_CADASTRO!Campo2
'Avisa e Fecha os Forms
MsgBox "Cadastrado!"
DoCmd.Close acForm, "PRÉ_CADASTRO"
DoCmd.Close acForm, "FORM1"
DoCmd.Close acForm, "FORM2"
DoCmd.Close acForm, "FORM3"
DoCmd.Close acForm, "FORM4"
End Sub
A pergunta é: ao invés de abrir Forms e transferir os dados para eles, como faço para enviar direto para as tabelas?
Thanks!
Acredito que estou cometendo um erro (ou meio erro), embora a coisa esteja funcionando bem.
Tenho quatro formulários. Um form de envio de exames (com campos não acoplados) de nome PRÉ_CADASTRO que, após clicar em um botão, abre de forma invisível (acHidden) outros três Form e lança algumas informações em cada um deles.
FORM1 = Baseado na tabela EXAMES
FORM2 = Baseado na tabela EXAMES_ASO
FORM3 = Baseado na tabela EXAMES_Visão
FORM4 = Baseado na tabela EXAMES_Audio
(Há quase uma centena de exames possíveis, e são armazenadas na tabela EXAMES somente as informações comuns a todos os exames; se for um exame ASO, complementam-se as informações na tabela EXAMES_ASO; o mesmo se aplica se for um exame Visão e/ou Audio)
Meu código (mais ou menos assim -- é bem mais complexo, mas a base é esta):
Private Sub BotãoSalvar_Click()
' Abre os forms -- invisíveis
DoCmd.OpenForm "FORM1", acNormal, "", "", , acHidden
DoCmd.OpenForm "FORM2", acNormal, "", "", , acHidden
DoCmd.OpenForm "FORM3", acNormal, "", "", , acHidden
DoCmd.OpenForm "FORM4", acNormal, "", "", , acHidden
'Envia os dados do PRÉ_CADASTRO para o Form1
Forms!FORM1!Campo1 = Forms!PRÉ_CADASTRO!Campo1
Forms!FORM1!Campo2 = Forms!PRÉ_CADASTRO!Campo2
Forms!FORM1!Campo3 = Forms!PRÉ_CADASTRO!Campo3
Forms!FORM1!Campo4 = Forms!PRÉ_CADASTRO!Campo4
Forms!FORM1!Campo5 = Forms!PRÉ_CADASTRO!Campo5
'Envia os dados do PRÉ_CADASTRO para o Form2
Forms!FORM2!Campo1 = Forms!PRÉ_CADASTRO!Campo1
Forms!FORM2!Campo2 = Forms!PRÉ_CADASTRO!Campo2
'Envia os dados do PRÉ_CADASTRO para o Form3
Forms!FORM3!Campo1 = Forms!PRÉ_CADASTRO!Campo1
Forms!FORM3!Campo2 = Forms!PRÉ_CADASTRO!Campo2
'Envia os dados do PRÉ_CADASTRO para o Form4
Forms!FORM4!Campo1 = Forms!PRÉ_CADASTRO!Campo1
Forms!FORM4!Campo2 = Forms!PRÉ_CADASTRO!Campo2
'Avisa e Fecha os Forms
MsgBox "Cadastrado!"
DoCmd.Close acForm, "PRÉ_CADASTRO"
DoCmd.Close acForm, "FORM1"
DoCmd.Close acForm, "FORM2"
DoCmd.Close acForm, "FORM3"
DoCmd.Close acForm, "FORM4"
End Sub
A pergunta é: ao invés de abrir Forms e transferir os dados para eles, como faço para enviar direto para as tabelas?
Thanks!