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]Formulario Data de Emissão

    Compartilhe

    mrmuller_mar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 05/10/2017

    [Resolvido]Formulario Data de Emissão

    Mensagem  mrmuller_mar em 20/4/2018, 18:40

    Boa tarde!

    Tenho um formulário que me lista todos os alunos, mais tenho que lançar as data de emissão uma a uma, tem como fazer o preenchimento automático.

    no cabeçalho aparece a o termino do curso, eu gostaria de copiar e preencher todos de uma vez.

    Marcelo


    Última edição por mrmuller_mar em 20/4/2018, 21:52, editado 1 vez(es)
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1146
    Registrado : 05/02/2010

    FORMULARIO DATA DE EMISSÃO

    Mensagem  good guy em 20/4/2018, 20:14

    Olá mrmuller,

    A data de emissão é a mesma para todos os registros? Se for este o caso veja este meu exemplo extraído do meu livro TÉCNICAS ESPECIAIS DE ACCESS VBA.

    Código:
    Public Function PercorrerRegistros()
    Dim rs As DAO.Recordset
    Dim Reg As Long
    Dim sDataEmissao As Date

    Set rs = CurrentDb.OpenRecordset("NomedaSuaTabela", dbOpenDynaset)


    Do While Not rs.EOF
    Me.Idade.SetFocus     'O focus deve ser programado para incidir no último campo de cada linha. Funciona como uma espécie de gatilho para o looping.

        If Not IsNull(UltimoCampoFormContinuo) Then   'Com a estrutura de controle de fluxo If… Then Else … End If crio uma condição para gerar o posicionamento do cursor para o registro seguinte enquanto durar o laço Do While
        DoCmd.RunCommand acCmdRecordsGoToNext
        
            If IsNull(Ex:NomedoContato) Then
            Exit Do 'Caso a condição de preenchimento do campo NomedoContato não seja satisfeita. Um campo nulo, por exemplo, o laço Do While termina e o cursor para de percorrer os registros.
            
            End If
        
        Else 'Caso a condição de preenchimento do campo "UltimoCampoFormContinuo" não seja satisfeita. Um campo nulo, por exemplo, o laço Do While termina e o cursor para de percorrer os registros.
        Exit Do
        End If


    sDataEmissao = CDate(InputBox("Digite a Data de Emissão","Nome do Aplicativo"))


    Me.DataEmissao = sDataEmissao
    Loop
    rs.MoveLast

    Reg = rs.RecordCount


    MsgBox "" & Reg & " registros atualizados !!!", vbInformation, "Atualização de Dados"

    DoCmd.RunCommand acCmdRecordsGoToFirst

    End Function

    CÓDIGO DO BOTÃO QUE ACIONARÁ A FUNÇÃO ACIMA:

    Private Sub cmdAtualizar_Click()
    On Error Resume Next

    Call PercorrerRegistros


    End Sub
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5386
    Registrado : 15/03/2013

    Re: [Resolvido]Formulario Data de Emissão

    Mensagem  ahteixeira em 20/4/2018, 21:05

    Olá a todos,

    Marcelo, tenha atenção às Regras do Fórum

    1. Tenha paciência com quem coloca aqui as suas duvidas.
    2. Clareza nos títulos dos tópicos e duvidas, evite a linguagem MSN.
    3. Não colocar diversas vezes a mesma dúvida.
    4. Explicar detalhadamente o problema e informar a versão do seu Office + Sistema Operativo.
    5. Retorne sempre se deu certo, esse retorno é muito importante.
    6. Respeite toda a equipe Staff e demais membros deste fórum.
    7. Use sempre o botão Busca, sempre que tiver uma dúvida e antes de abrir tópicos.
    8. Não usar palavras como "Urgente". O fórum é livre e ninguém é obrigado a responder com urgência.
    9. A publicidade é proíbida e só pode ser feita pelo Administrador ou depois de aprovada pelo Administrador.
    10. Se o seu tópico não for respondido, tem o direito de fazer um Up ao final de 24horas!
    11. A colocação de Códigos ou Exemplos, devem constar sempre os créditos de quem o elaborou.
    12. Fale, não GRITE!   Só letras Maiúsculas, na Internet é o mesmo que gritar!
    13. É proibido tirar duvidas nas Salas de Repositório, devem abrir um novo tópico nas salas de duvidas, relacionando o Exemplo em causa.
    14. É proibido adicionar links externos nos tópicos, que redirecionem para outros sites ("backlinks").
    15. É permitido adicionar links externos, nos códigos VBA dentro das Base de Dados.


    Edite os tópicos com as mensagens nesta situação e regularize.

    Abraço e bons estudos com o MaximoAccess.

    mrmuller_mar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 05/10/2017

    Re: [Resolvido]Formulario Data de Emissão

    Mensagem  mrmuller_mar em 20/4/2018, 21:44

    Tenho:

    Campos:
    Aluno:Travado
    Situação: Aprovado/Reprovado
    Vinculo: Preencher
    DataEmissão: Preencher

    fiz VBA: deu erro
    1) If IsNull(Ex:NomedoContato) Then
    2) Public Function PercorrerRegistros()

    Criei o Botao Data Emissão

    Código:
    Private Sub BTX_Data_Emissão_Click()
    On Error Resume Next
    Call PercorrerRegistros
    End Sub

    montei o evento:

    Código:
    Dim Reg As Long
    Dim sDataEmissão As Date

    Set rs = CurrentDb.OpenRecordset("TB_Matriculas", dbOpenDynaset)

    Do While Not rs.EOF
    Me.DataEmissão.SetFocus
    'O focus deve ser programado para incidir no último campo de cada linha. Funciona como uma espécie de gatilho para o looping.

       If Not IsNull(UltimoCampoFormContinuo) Then
    'Com a estrutura de controle de fluxo If… Then Else … End If crio uma condição para gerar o posicionamento do cursor para o registro seguinte enquanto durar o laço Do While

       DoCmd.RunCommand acCmdRecordsGoToNext
       
           If IsNull(Ex:NomedoContato) Then
           Exit Do
    'Caso a condição de preenchimento do campo NomedoContato não seja satisfeita. Um campo nulo, por exemplo, o laço Do While termina e o cursor para de percorrer os registros.
           End If
       
       Else
    'Caso a condição de preenchimento do campo "UltimoCampoFormContinuo" não seja satisfeita. Um campo nulo, por exemplo, o laço Do While termina e o cursor para de percorrer os registros.

       Exit Do
       End If

    sDataEmissão = CDate(InputBox("Digite a Data de Emissão", "Nome do Aplicativo"))

    Me.DataEmissão = sDataEmissão
    Loop
    rs.MoveLast

    Reg = rs.RecordCount

    MsgBox "" & Reg & " registros atualizados !!!", vbInformation, "Atualização de Dados"

    DoCmd.RunCommand acCmdRecordsGoToFirst

    End Function

    onde eu errei!!!!

    Marcelo

    mrmuller_mar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 05/10/2017

    Re: [Resolvido]Formulario Data de Emissão

    Mensagem  mrmuller_mar em 21/4/2018, 14:28

    Resolvido

    youtube.com/watch?v=w2NPuAZGc4I&t=26s
    [Não são permitidos links externos]  -  Copiar e colar no browser
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5386
    Registrado : 15/03/2013

    Re: [Resolvido]Formulario Data de Emissão

    Mensagem  ahteixeira em 21/4/2018, 16:06

    Ola Marcelo,

    Origado pelo retorno, o forum agradece.

    Abraco

      Data/hora atual: 15/8/2018, 19:30