MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Loop preencher e alterar registros de subformulário

    Compartilhe

    spi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 12/06/2012

    [Resolvido]Loop preencher e alterar registros de subformulário

    Mensagem  spi em Sab 20 Set 2014, 13:23

    Mais uma vez conto com os mestres !

    Tenho um formulário chamado Ordem_Fabricação.
    Dentro desse formulário um subformulário chamado Ordem_Fabricação_Processo_Execução_subformulário em formato de folha de dados.
    Dentro do subformulário tenho um campo Status_Ordem_Fabricação, esse status é modificado conforme os operadores vão finalizando as operações.
    Quando finalizam a Ordem de fabricação a coluna do subformulário Status_Ordem_Fabricação fica como ENCERRADO.

    Gostaria de construir um botão no formulário que assim que pressionado alterasse toda coluna Status_Ordem_Fabricação no Subformulário para AGUARDANDO, consegui mais altera somente a primeira linha, e teria que alterar a coluna toda.

    Dilson
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1602
    Registrado : 11/11/2009

    Re: [Resolvido]Loop preencher e alterar registros de subformulário

    Mensagem  Dilson em Ter 23 Set 2014, 11:08

    Olá bom dia !

    Ao clicar do botão:

    Dim rs As Recordset
    Dim qRegistros As Long
    Dim i As Long
    Set rs = CurrentDb.OpenRecordset("SuaTabelaQueAlimentaOSubformulario")
    qRegistros = rs.RecordCount
    If qRegistros > 0 Then
    rs.MoveLast
    rs.MoveFirst
    qRegistros = rs.RecordCount
    End If
    For i = 1 To qRegistros
    rs.Edit
    rs("Status_Ordem_Fabricação") = "AGUARDANDO"
    rs.Update
    rs.MoveNext
    Next i
    rs.Close


    Esse algoritmo irá preencher registro a registro o valor do campo Status_Ordem_Fabricação. Isso significa dizer que agirá em todos sem nenhum critério.

    Se houver critério como codigoDoOperador por exemplo, deverá especificar ao setar o recordset, assim:

    Set rs = CurrentDb.OpenRecordset("SELECT * FROM SuaTabelaQueAlimentaOSubformulario WHERE" _
    & " SuaChaveEstrangeiraOperador=" & Me!SuaTextCodigoDoOperador)


    .................................................................................
    Atenção:
    => Antes de implementar qualquer dica, faça um backup do seu projeto;
    => Retorne para marcar o Resolvido ou continuar a discussão;
    => Sempre realize pesquisas antes de postar uma pergunta;

    spi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 12/06/2012

    Maravilha !

    Mensagem  spi em Ter 23 Set 2014, 13:42

    Cará você acertou no alvo !
    Muito mais muito obrigado mesmo, ficou melhor que eu imaginava.

    Obrigado !
    Mestre !

    spi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 12/06/2012

    Re: [Resolvido]Loop preencher e alterar registros de subformulário

    Mensagem  spi em Ter 23 Set 2014, 13:44

    Obrigado !

    Dilson
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1602
    Registrado : 11/11/2009

    Re: [Resolvido]Loop preencher e alterar registros de subformulário

    Mensagem  Dilson em Ter 23 Set 2014, 15:27

    De nada e obrigado por informar que resolveu.


    .................................................................................
    Atenção:
    => Antes de implementar qualquer dica, faça um backup do seu projeto;
    => Retorne para marcar o Resolvido ou continuar a discussão;
    => Sempre realize pesquisas antes de postar uma pergunta;

      Data/hora atual: Dom 04 Dez 2016, 20:20