MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Novo Registro em subformulário

    Compartilhe
    avatar
    anaclaudiasos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/10/2013

    [Resolvido]Novo Registro em subformulário

    Mensagem  anaclaudiasos em Qui 20 Abr 2017, 14:26

    Bom Dia!

    Tenho um formulário (Lancamentos), onde seleciono a unidade e o mês, para incluir os dados, ao clicar no botão Lancamento, executa uma instrução VBA. (Segue a tela e a instrução)

    [Você precisa estar registrado e conectado para ver esta imagem.]

    Private Sub Comando8_Click()

    Me.LancamentoSubForm.Form.NomeUnidade = Me.Combinação0
    Me.LancamentoSubForm.Form.CodigoMes = Me.Combinação2
    Me.LancamentoSubForm.Form.Ano = Me.Texto4
    Me.LancamentoSubForm.Form.SaldoAnterior = Nz(DLast("SaldoAtualCal", "[Lancamento]", "[NomeUnidade]='" & Me.LancamentoSubForm.Form.NomeUnidade & "'"), 0)
    LancamentoSubForm.Form.Visible = True
    If Me.LancamentoSubForm.Form.SaldoAnterior = 0 Then
      LancamentoSubForm.Form.SaldoInicial.Enabled = True
      Else
      LancamentoSubForm.Form.SaldoInicial.Enabled = False
    End If

    End Sub

    Após executar, será aberto essa tela

    [Você precisa estar registrado e conectado para ver esta imagem.]

    Necessito que ao abrir um novo registro do subformulário, seja realizado novamente a instrução do botão Lancamento, pois vai continuar com o nome da unidade e o usuário poderá continuar lançando os dados.

    O botão NovoLancamento está com o seguinte código:

    Private Sub Comando70_Click()

    On Error Resume Next
    If Me.NewRecord Then
      DoCmd.RunCommand acCmdRecordsGoToLast
    Else
      If IsNull(Me!Data) Or IsNull(Me!TipoLancamento) Or IsNull(Me!Fornecedor) Then
           MsgBox "Preencha os campos corretamente", vbExclamation, "Campos sem dados"
      Else
           DoCmd.RunCommand acCmdRecordsGoToPrevious
      End If
    End If

    End Sub

    Gostaria de uma ajuda, agradeço desde já.

    Grata

    Ana Claudia
    Anexos
    Prestacao.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (607 Kb) Baixado 9 vez(es)
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 524
    Registrado : 18/01/2013

    Re: [Resolvido]Novo Registro em subformulário

    Mensagem  CassioFabre em Qui 20 Abr 2017, 20:19

    Boa tarde,

    Substitua o código do botão Novo Lançamento no subform pelo abaixo:

    Código:
    Private Sub Comando70_Click()
        On Error Resume Next
       
        If IsNull(Me.Data) = False Or IsNull(TipoLancamento) = False Or IsNull(Fornecedor) = False Then
            DoCmd.RunCommand acCmdRecordsGoToNew
            Forms![Lancamentos].Form!Comando8.Click
        Else
            MsgBox "Preencha os campos corretamente!", vbCritical, "Campos sem dados"
            Data.SetFocus
        End If
    End Sub

    Abraço.
    avatar
    anaclaudiasos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/10/2013

    Re: [Resolvido]Novo Registro em subformulário

    Mensagem  anaclaudiasos em Qui 20 Abr 2017, 20:45

    Cassio, grata pelo retorno.
    Infelizmente não funcionou, ele abre um novo registro, mas com os dados todos em branco.
    Deveria copiar o nome da unidade, mês e ano do formulário principal.

    Grata

    Ana Claudia
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 524
    Registrado : 18/01/2013

    Re: [Resolvido]Novo Registro em subformulário

    Mensagem  CassioFabre em Qui 20 Abr 2017, 21:20

    Boa tarde,

    No trecho que mandei anteriormente substitua Forms![Lancamentos].Form!Comando8.Click por:
    Código:
    Forms![Lancamentos].Comando8_Click

    Abraço.
    avatar
    anaclaudiasos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/10/2013

    Re: [Resolvido]Novo Registro em subformulário

    Mensagem  anaclaudiasos em Ter 25 Abr 2017, 12:58

    Cassio, Bom Dia!

    Ainda não funcionou, ele abre um novo registro, mas não executa a rotina do Comando8.

    Tentei colocar um botão Atualizar, onde coloquei a mesma instrução do Comando8, mas ele não localiza os campos.

    Acredito que tenha algum erro no meu desenvolvimento, pois agora não esta funcionando corretamente a função DLast.

    Obrigada pela atenção.
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 524
    Registrado : 18/01/2013

    Re: [Resolvido]Novo Registro em subformulário

    Mensagem  CassioFabre em Ter 25 Abr 2017, 14:07

    Bom dia,

    Obviamente não se esqueça de alterar a propriedade do clique do Comando8 de Private para Public para poder ser acessada de outros formulários.

    Segue em anexo.

    Abraço.
    Anexos
    Prestacao.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (612 Kb) Baixado 14 vez(es)
    avatar
    anaclaudiasos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 17
    Registrado : 01/10/2013

    Re: [Resolvido]Novo Registro em subformulário

    Mensagem  anaclaudiasos em Ter 25 Abr 2017, 14:38

    Cássio, muito obrigada.

    Vi o banco que você postou e corrigi no meu, era isso mesmo.

    Grata pela ajuda e atenção.
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 524
    Registrado : 18/01/2013

    Re: [Resolvido]Novo Registro em subformulário

    Mensagem  CassioFabre em Ter 25 Abr 2017, 17:44

    Boa tarde,

    O fórum agradece o retorno.

    Abraço.

      Data/hora atual: Sab 18 Nov 2017, 01:09