MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


4 participantes

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 13:41

    Fala, galera! Preciso muito da ajuda de vocês!

    Comecei a mexer no Access agora por causa de um trabalho que preciso realizar que é o seguinte: tenho uma tabela com 3 colunas (Descrição, Marca e Modelo). Na coluna descrição tenho dados de carros como "Carro ano 2007 da marca Fiat, modelo Palio". O que preciso fazer é atualizar as colunas Marca e Modelo com suas respectivas informações oriundas da coluna Descrição. Já tentei fazer isso criando uma consulta para cada descrição. Ou seja, no exemplo que dei a consulta ficaria:

    UPDATE Carros SET Carros.Marca = "Fiat", Carros.Modelo = "Palio"
    WHERE (((Carros.Descricao) Like "*Palio*"));

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Cngg

    No entanto, isso é muito trabalhoso e estou procurando uma forma de fazer com que o Access identifique que o preenchimento da coluna "Marca" deve ser feito com o valor que vem logo depois da palavra Marca da coluna "Descrição"! Alguém sabe como posso fazer isso??

    Se puderem me ajudar ficarei muito grato!! Valeuu!
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  criquio 28/1/2014, 16:43

    Olá, seja bem vindo ao fórum!

    Por que essa coluna Descrição se tudo que está nela estará nas outras colunas? Dessa forma, estará ocupando muito espaço desnecessário, o que acelerará e muito o fim de vida útil de seu banco.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 16:47

    Na verdade essa imagem que eu usei é só um exemplo. Nos dados que eu trabalho, a coluna descrição é bem mais poluída e, em alguns casos, nem mesmo especifica o modelo. Por isso preciso criar essas duas novas colunas!
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  criquio 28/1/2014, 16:52

    Mas essa coluna Descrição tem algum padrão para todos os registros? Ou seja, em todos vai ter Marca <Nome da marca> e Modelo <Nome do modelo>?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 17:32

    Em todos não, mas na grande maioria sim. Por isso, esse procedimento iria facilitar muito a minha vida.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  criquio 28/1/2014, 18:22

    Posta umas linhas reais normalizadas e não normalizadas para ficar mais fácil identificar a situação.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 19:03

    Os dados que eu trabalho são parecidos com esses que coloquei no exemplo:
    "Carro ano 2007 da marca Fiat, modelo Palio, cor preta"

    Os que não aparecem os dados seriam:
    "Carro com motor 1.6, da cor azul, fabricado no Japão com código: xxxx-xxx"

    Desses últimos eu sei que não conseguiria identificar. Mas a minha dúvida é que instrução colocar pra que o Access possa encontrar os valores das células que vêm depois das palavras "marca" e "modelo" e, automaticamente, preencher as respectivas colunas com esses valores. Será que tem como? Porque até na imagem lá de cima você pode ver que eu fiz isso criando uma consulta pra cada um, mas isso dá um trabalho do cão!

    Foi mal não postar a imagem que você pediu, mas não estou com o arquivo aqui nesse PC e ele é muito extenso, então vou demorar para conseguir baixá-lo.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  Avelino Sampaio 28/1/2014, 19:29

    Olá!

    Copie esta função abaixo para um módulo global:

    Public Function fncMarca(strFrase As String) As String
    Dim marca
    Dim k%
    marca = Split("Volkswagen,Fiat,Chevrolet,Ford,Toyota,Honda,Nissan", ",")
    For k = 0 To UBound(marca)
       If InStr(strFrase, marca(k)) > 0 Then
           fncMarca = marca(k)
           Exit For
       End If
    Next
    End Function


    Acrescente na lista acima as marcas faltantes.

    Agora utilize a função em uma consulta atualização:

    UPDATE carros SET Marca = fncMarca([Descricao])

    Nota:  Faça um backup das tabelas antes do teste.

    Se der resultado, monte uma outra função para os modelos.

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 19:57

    Avelino, muito obrigado! Funcionou perfeitamente para preencher as marcas e os modelos!! Me salvou, cara! Muito obrigado mesmo!!!
    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 20:00

    Só mais uma dúvida:

    Não tem como eu colocar para ele preencher automaticamente com a primeira palavra que vier depois de Marca ou Modelo na descrição? Sem eu mesmo ter que colocar todas as marcas e modelos na descrição?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  Avelino Sampaio 28/1/2014, 20:10

    Experimente:

    Public Function fncMarca(strFrase As String) As String
    Dim marca
    marca = Split(Mid(strFrase, InStr(strFrase, "marca") + 6), " ")
    fncMarca = Replace(marca(0), ",", "")
    End Function


    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 20:50

    Funcionou perfeitamente com as marcas, mas não consegui adaptar para os modelos. Coloquei a função:

    Public Function fncModelo(strFrase As String) As String
    Dim modelo
    modelo = Split(Mid(strFrase, InStr(strFrase, "modelo") + 6), " ")
    fncModelo = Replace(modelo(0), ",", "")
    End Function

    E depois criei uma consulta com

    UPDATE carros SET Modelo = fncModelo([Descricao]);

    No entanto, quando eu executo a consulta e confirmo a atualização das linhas nada acontece, continuam todas em branco. Sabe por que pode estar acontecendo isso?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  Avelino Sampaio 28/1/2014, 21:01

    a palavra MODELO tem 6 caracteres, porem tem que contar também o espaço após a palavra MODELO. Troque então o numero 6 por 7

    modelo = Split(Mid(strFrase, InStr(strFrase, "modelo") + 7), " ")

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 21:07

    Cara, você é sinistro! Funcionou certinho! Se eu quiser pegar as duas palavras que vêm depois de Modelo ao invés de apenas a palavra seguinte, tem como eu adicionar alguma coisa na função pra fazer isso?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  Avelino Sampaio 28/1/2014, 21:11

    fncModelo = Replace(modelo(0), ",", "") & " " & modelo(1) & " " modelo(2)

    ou

    fncModelo = modelo(0) & " " & modelo(1) & " " modelo(2)


    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 21:24

    Ficaria assim, certo?

    Public Function fncModelo(strFrase As String) As String
    Dim modelo
    modelo = Split(Mid(strFrase, InStr(strFrase, "modelo") + 7), " ")
    fncModelo = Replace(modelo(0), ",", "") & " " & modelo(1) & " " modelo(2)
    End Function

    Deu erro de sintaxe. Não consegui executar a consulta! Sad
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  Avelino Sampaio 28/1/2014, 21:27

    Faltou um &

    fncModelo = Replace(modelo(0), ",", "") & " " & modelo(1) & " " & modelo(2)

    Todas as frases tem as três palavras depois de modelo ?


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    pvilarinhos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 28/01/2014

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  pvilarinhos 28/1/2014, 21:41

    Funcionou perfeitamente, cara! Você é censurado! Muito obrigado!!
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  Avelino Sampaio 28/1/2014, 21:42

    Obrigado pelo feedback e sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  Dilson 29/1/2014, 00:00

    Titulo anterior: "Consulta no modo SQL."

    Informando que alterei o titulo do tópico para facilitar a ferramenta de buscas do fórum.

    Conteúdo patrocinado


    [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos Empty Re: [Resolvido]Função Split para desmembrar dados de string e auto popular outros campos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 13:33