Como Utilizar a Função SPLIT no Access VBA

Se você utiliza ou deseja utilizar a Função SPLIT no Access para manipular dados, hoje nós vamos ver a aplicação de 4 Funções que são muito úteis nesse trabalho.

Primeiramente vamos falar da Função SPLIT(). Esta função tem como objetivo dividir uma sequência de dados baseado em um delimitador padrão. Funciona praticamente como a ferramenta do Excel chamada ‘Texto para Coluna’ que tem como objetivo de dividir uma única coluna em 2 ou mais, com base no delimitador que esteja seja comum na base de dados.

A outra função é a INSTR() que tem como objetivo retornar a posição da 1ª ocorrência de uma cadeia de caracteres em outra, ou seja, ela faz a comparação de uma string com outra e verifica o critério de comparação, para dizer que se strings são iguais ou diferentes.

As outras 2 são a LBOUND() e a UBOUND(), que identifica a menor posição de uma matriz e a maior posição de uma matriz respectivamente.

Para exemplificar o entendimento destas 4 funções, veja o código que criamos para que você possa entendet Como Utilizar a Função SPLIT no Access

Sub fncFuncaiSplit()

    Dim strSequencia As String
    Dim arrNome() As String
    Dim i As Integer
    Dim nVezes As Integer
    
    strSequencia = "Banana - Laranja - Uva - Pera - Melão - Melancia - Limão - Manga - Melancia"
    arrNome = Split(strSequencia, " - ")
    strNome = arrNome(6)
    
    For i = LBound(arrNome, 1) To UBound(arrNome, 1)
        If InStr(1, arrNome(i), "Melancia", vbTextCompare) > 0 Then
           nVezes = nVezes + 1
        End If
    Next i
    
    MsgBox "A fruta 'Melancia' aparece " & nVezes & " na sequência!!", vbInformation
    
End Sub

O código inicialmente defini a variável strSequencia com a sequência de frutas que estão dispostas, separadas pelo delimitador “ – “, uma das outras. Em seguida definimos uma matriz arrNome() unidimensional, que neste momento não é atribuída nenhum tamanho para essa matriz, por isso deixamos vazio dentro dos parênteses.

Já a variável strNome vai receber a fruta que se encontra na posição 6 da matriz, representada pela sintaxe strNome = arrNome(6), que neste caso é a palavra ‘Melancia’.

Uma vez identificado a palavra na matriz, vamos percorrer toda as posições para que possamos verificar quantas vezes ela aparece. Para isso que o loop For…Next é utilizado. Inicialmente ele vai percorrer partindo da menor posição, representado pela função LBound(strSequencia, 1) ou seja começando na primeiro e a Ubound(strSequencia, 1), começando a partir da primeira posição também.

Para que possamos comparara a palavra ‘Melancia’ com as outras da sequência, vamos utilizar a função InStr(1, arrNome(i), “Melancia”, vbTextCompare), que verifica a partir da primeira posição, todas as posições da matriz (que será dada pela interação do loop), e verificar se a palavra ‘Melancia’ é igual a palavra da sequência. O parâmetro que defini o modo de comparação que estamos usando é apenas textual (vbTextCompare), porém existe mais 3:

vbDatabaseCompare: usada somente no Access, onde executa uma comparação baseada nas informações do seu banco de dados.

vbUseCompareOption: executa uma comparação usando a configuração da instrução Option Compare

vbBinaryCompare: executa uma comparação binária (Muito utilizada para senhas de banco de dados)

Curso de Access VBA Completo: Do Básico ao Avançado.

Quer aprender a programar no Access? Clique na imagem abaixo:

Gostou do conteúdo?

Deixe um comentários aqui embaixo!

Até o próximo tutorial!!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *