Robson Seg 02 maio 2011, 10:52 pm
Vieira, valeu pelas dicas, mas acho que não me fiz entender....
enfrento o seguinte problema:
tenho um formulário principal que, de acordo com a opção escolhida, me abrirá o subformulário para entrada de informações específicas.
o problema é que ao navegar do formulário principal para o sub o formulário principal salva os dados automaticamente.
para resolver o problema, coloquei um rotina no evento ANTES DE ATUALIZAR do form principal perguntando se queria salvar os dados ou não (neste momento parte dos dados são salvos) assim consigo trabalhar com o sub form para completar as informações.
o que preciso, não sei se tem jeito, é que a navegação entre o form principal e o sub form aconteça sem ter que salvar previamente parte do conteúdo digitado.
eu gostaria de salvar somente depois que todas as informações estivessem completas.
Sendo mais específico:
no form principal digito: MATRICULA DO ALUNO, TELEFONE, EMAIL, TIPO DE SOLICITAÇÃO E DESTINO.
se o TIPO DE SOLICITAÇÃO for igual a PROVA SUBSTITUTIVA (por exemplo), o subform RELAÇÃO DE DISCIPLINAS vai se habilitar para receber as informações com o Codigo da Disciplina e Nome da disciplina.
Tudo funciona bem, porém, quando saio do form principal e vou para o subform informar a disciplina, PIMBA, o form principal foi para um novo registro.
Então coloquei no evento ANTES DE ATUALIZAR do form principal a seguinte rotina:
If Me.NewRecord Then
If MsgBox("Deseja salvar os dados?", vbOKCancel) <> vbOK Then
Set DB = DBEngine.Workspaces(0).Databases(0)
x = COD_PROTOCOLO.Value
' Limpar a tabela de tramitação
SQL = "DELETE * FROM tb_TRAMITACAO WHERE COD_PROTOCOLO = " & x
DB.Execute (SQL)
salvou = False
Cancel = True
Me.Undo
Me.guia_RELACAO_DE_DISCIPLINAS.Visible = False
Me.guia_DISCIPLINAS_EQUIVALENTES.Visible = False
Me.guia_DOCTOS_SEMAT.Visible = False
Me.guia_REINGRESSO.Visible = False
Me.guia_DESISTENCIA_OFICIAL.Visible = False
Me.guia_ALTERA_ENDERECO.Visible = False
Me.guia_SOLIC_DOC_ACADEMICO.Visible = False
Else
Call AtualizarDestino(CLng(COD_PROTOCOLO.Value))
salvou = True
Me.MATR_ALUNO.SetFocus
End If
End If
depois de confirmar o salvamento, consigo trabalhar no subform e completar as informações. isso me atende, mas acho que ficou meio amador esse negócio.
Gostaria de conseguir digitar tudo que preciso e só depois de tudo informado, salvar os registros. Entende?
Será que tem jeito?
Robson