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]caixa de seleção - concatenar valores selecionados

    Compartilhe

    gfranguelli
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 01/08/2012

    [Resolvido]caixa de seleção - concatenar valores selecionados

    Mensagem  gfranguelli em Sab 14 Maio 2016, 03:02

    Prezados amigos do fórum:
    Não sei bem ao certo se seria nesta seção que eu deveria postar a dúvida, mas enfim...
    Em uma tabela tenho 3 campos que são salvos como caixa de seleção.
    Exemplo:
    Desmontar, limpar e montar.
    Os campos carregam esses nomes, então se no registro os três estivem selecionados significa que precisei dos três campos.
    Até ai sem segredo; uma simples caixa de seleção.
    Agora vem a dúvida cruel que preciso resolver:
    Preciso criar um código que verifique em cada registro e escreva concatenando os três campos separados por virgula em um novo campo.
    Vou explicar melhor:
    Vá em todos os registros e verifique a caixa de seleção do campo desmontar e se estiver selecionado escreva "Desmontar" no novocampo, depois vá em todos os registros e verifique a caixa de seleção do campo limpar e se estiver selecionado escreva "limpar" concatenando junto do desmontar ficando assim:
    Desmontar, limpar. E por último faça a mesma coisa para o terceiro campo. Então, as palavras irão ficar concatenandas separadas por vírgula conforme as caixas de seleção estiverem selecionadas. Podem estar pensando, nossa que código louco, poderia escrever manualmente registro por registro, mas não tem como fazer em quase 15 mil registros.
    Se alguém souber e puder compartilhar comigo agradeço antecipadamente.
    Muito obrigado.

    Dilson
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]caixa de seleção - concatenar valores selecionados

    Mensagem  Dilson em Sab 14 Maio 2016, 03:44

    Use:

    Dim Rs As DAO.Recordset
    Dim JuntaDesmontar As String
    Dim JuntaLimpar As String
    Dim JuntaMontar As String
    Set Rs = CurrentDb.OpenRecordset("SuaTabela")
       Do While Not Rs.EOF
            Rs.Edit

            If Rs("CaixaDesmontar") = -1 Then
                JuntaDesmontar = "Desmontar"
            Else
                JuntaDesmontar = ""
            End If

            If Rs("CaixaLimpar") = -1 Then
                JuntaLimpar = "Limpar"
            Else
                JuntaLimpar = ""
            End If

            If Rs("CaixaMontar") = -1 Then
                JuntaMontar = "Montar"
            Else
                JuntaMontar = ""
            End If

            Rs("NovoCampo") = JuntaDesmontar & "," & JuntaLimpar & "," & JuntaMontar
            Rs.Update
            Rs.MoveNext
       Loop
    Rs.Close
       MsgBox "Loop completado com sucesso." _
    & vbCrLf & "Abra a Suatabela e veja o resultado no campo NovoCampo.", vbInformation, "Concluído"



    .................................................................................
    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;

    gfranguelli
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 01/08/2012

    Re: [Resolvido]caixa de seleção - concatenar valores selecionados

    Mensagem  gfranguelli em Ter 17 Maio 2016, 12:23

    Bom dia Dilson, tudo bem?

    Exatamente!

    Quanto trabalho economizei, levou menos de um minuto para atualizar a tabela.

    Fico agradecido em compartilhar seu conhecimento.

    Muito obrigado.

      Data/hora atual: Sex 09 Dez 2016, 11:32