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

    Split Campo de uma Tabela por Vírgula

    Compartilhe

    Kyowar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 19/04/2017

    Split Campo de uma Tabela por Vírgula

    Mensagem  Kyowar em Qui 20 Abr 2017, 14:23

    Oi Pessoal, bom dia! Tudo bem ?

        No excel criamos uma macro para "splitar" um campo e depois transformar as colunas desse split em linha.
        Precisamos agora fazer o mesmo procedimento no access.

        Conseguimos criar a macro para transformar as linhas colunas, que seria o procedimento B, porém não conseguimos fazer uma que faça o split, que seria o A.

        Segue abaixo o comando:


        Option Compare Database


    Private Sub Command0_Click()
    'chamada do sub, onde se define qual a tabela de origem e a de destino
    Call Converte("tblExemplo_Origem", "tblExemplo_Destino")
    End Sub


    Public Sub Converte(ByVal TabOrigem As String, ByVal TabDestino As String)
       Dim i As Integer
       Dim sql As String
       Dim rst As DAO.Recordset
       
       'abre a tabela de origem
       sql = "SELECT * FROM tblExemplo_Origem"
       Set rst = CurrentDb.OpenRecordset(sql)
       
       With rst
       Do While Not .EOF
           With .Fields
       
               'percorre os registros da tabela de origem e faz um insert na tabela de destino
                               
                                                       
                   For i = 1 To .Count - 1 Step 1
                                                     
                           sql = "INSERT INTO tblExemplo_Destino (Demanda, SiglasEnvolvidas) VALUES ('" & .Item(0).Value & "','" & .Item(i).Value & "');"
                           CurrentDb.Execute (sql)
                                   
                   Next i

           End With
       .MoveNext
       Loop
       End With

    Set rst = Nothing
    End Sub
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3415
    Registrado : 14/08/2013

    Re: Split Campo de uma Tabela por Vírgula

    Mensagem  FabioPaes em Qui 15 Jun 2017, 23:10

    Olá, se ainda interessar...

    Sempre de uma pesquisada aqui pelo Forum, pois sua duvida ja foi respondida varias vezes...

    Split no Access e bem simples!

    Exemplo:


    Dim F As Variant
    Dim P as string

    P="Fabio,Paes,Maximo,Access"
    F = Split(P, ",")

    Msgbox F(1)


    Nesse exemplo mostrar o texto da posição 1 (Paes).

    Se Quiser o texto: Access basta: F(3)



    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

      Data/hora atual: Ter 21 Nov 2017, 10:07