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


3 participantes

    [Resolvido]Atualizar valor de uma variável

    avatar
    pcdesignerce
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 14/02/2014

    [Resolvido]Atualizar valor de uma variável Empty [Resolvido]Atualizar valor de uma variável

    Mensagem  pcdesignerce 21/6/2016, 07:38

    Não sei se a forma que estou fazendo este procedimento, exista uma solução.
    tenho uma variável "b" que inicia com o valor 1, a partir do segundo for ela termina com o valor da variável n
    ai o que acontece é que  preciso fazer com a variável b seja atualizada a sua contagem inicial.
    não sei se tem como fazer isso, já procurei e não achei, ou não soube procurar com as palavras certas.
    o que busco fazer com esta função é o seguinte: Quero pegar dados de um campo que estão conforme formatação a baixo
    e dividi-los para inserir em seus campos corretos para alteração.

    str = campo1: dados1 | campo2: dados2 |campo3: dados3 | >>> se possível queria vê tbm uma forma de não precisar incluir esta ultima barra na formatação
    na função seleciono os dados que encontram-se entre ":" e "|".

    desde já agradeço

    Public Function banco(str As String)

    Dim m As Integer
    Dim n As Integer
    Dim b As Integer
    Dim y As Integer
    Dim charM As String
    Dim charN As String
    Dim valorString As String

    Rgoto:
    Recalc
    b = 1
    For i = b To Len(str)
    m = i
    charM = Mid(str, i, 1)
    MsgBox "charM = " & charM, vbOKOnly
       
       If charM = ":" Then
               m = m + 1
           For y = m To Len(str)
               n = y
               charN = Mid(str, y, 1)
               MsgBox "y = " & y & " n = " & n & " charN = " & charN, vbOKOnly
               
               If charN = "|" Then
               n = n - m
               valorString = Mid(str, m + 1, n - 1)
               MsgBox "Valor Variavél é " & valorString, vbOKOnly
               n = n + m
               b = n
               GoTo Rgoto
               End If
               
           Next
       End If
    Next

    End Function
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  Alvaro Teixeira 21/6/2016, 08:30

    Olá Paulo, teste assim:

    Public Function banco(str As String)

    Dim m As Integer
    Dim n As Integer
    Dim b As Integer
    Dim y As Integer
    Dim charM As String
    Dim charN As String
    Dim valorString As String

    Rgoto:
    Recalc
    b = 1
    For i = b To Len(str)
    m = i
    charM = Mid(str, i, 1)
    MsgBox "charM = " & charM, vbOKOnly

    If charM = ":" Then
    m = m + 1
    For y = m To Len(str)
    n = y
    charN = Mid(str, y, 1)
    MsgBox "y = " & y & " n = " & n & " charN = " & charN, vbOKOnly

    If charN = "|" Then
    n = n - m
    valorString = Mid(str, m + 1, n - 1)
    MsgBox "Valor Variavél é " & valorString, vbOKOnly
    n = n + m
    b = n
    GoTo Rgoto
    End If
    '-----
    b=1
    '-----

    Next
    End If
    Next

    End Function


    Abraç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]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  Avelino Sampaio 21/6/2016, 12:12

    Olá!

    Segue uma alternativa usando a função split()

    Dim strSeq$, k, p, j As Byte
    strSeq = "campo1: Avelino | campo2: Pedro |campo3: João |"
    'retira a última barra
    strSeq = Left(strSeq, Len(strSeq) - 1)
    k = Split(strSeq, "|")
    For j = 0 To UBound(k)
       p = Split(k(j), ":")
       Debug.Print trim(p(1))
    Next


    Aguardamos


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 14/02/2014

    [Resolvido]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  pcdesignerce 21/6/2016, 13:58

    Como é bom conhecer o terreno que pisa, passei horas esmagando o tico e teco fazendo aquela função, que até funcionou
    em parte, mas valeu o aprendizado dos loops e condições, mas Silvio você foi simplesmente genial com a função split(),
    vou precisar demais desta função na minha aplicação. muito obrigado a você e ahteixeira.

    mas só para critério de conhecimento e aprendizado na função que passei há possibilidade de fazer
    o que estava querendo, simplifiquei e comentei o código para melhor entendimento
    str = "campo1: Avelino | campo2: Pedro |campo3: João |"
    Rgoto:
    b = 1 aqui inicia em 1
    For i = b To Len(str)
    m = i
    For y = m To Len(str)
    If charN = "|" Then
    n = n + m
    b = n ' aqui coloquei b = n, onde n neste primeiro ciclo de string é 20
    GoTo Rgoto ' sai do loop para volta ao inicio, só que queria onde b = 1 ficasse b=20, ou seja, nas segunda passagem do loop inicial a contagem inicial b=20
    ' como b é sempre igual a 1 fica um loop infinito retorando sempre avelino
    End If
    '-----
    b=1
    '-----

    Next
    End If
    Next

    End Function

    meu problema foi resolvido com a função split(), coloquei ai mesmo só questão de aprendizado, se tem como transferir o valor da variável no final do loop
    para o valor inicial da variável.

    mas uma vez muito obrigado obrigado

    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  Alvaro Teixeira 21/6/2016, 14:31

    Olá Paulo Costa,
    Obrigado pelo retorno.

    Repare que não foi o nosso colega Silvio, mas sim o grande guru   e coelga Avelino Sampaio, que nos tem presentiado com excelente informação sobre o Access.
    Não sei se conhece, mas veja o website que tem: http://usandoaccess.com.br

    Não se esqueça de dar o tópico como resolvido, veja como fazer:
    https://www.maximoaccess.com/t860-resolucao-de-topicos
    Abraço
    avatar
    pcdesignerce
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 14/02/2014

    [Resolvido]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  pcdesignerce 21/6/2016, 14:43

    Opá perdão Mestre Avelino Sampaio, como falei passei horas esmagando o tico e teco, já estou lendo uma coisa e escrevendo outra
    Muito Obrigado

    ahteixeira obrigado pela dica vai ser muito útil,
    Não coloquei resolvido, por que queria muito mesmo
    saber se o que questionei no tópico anterior é possível ou não e como.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  Alvaro Teixeira 21/6/2016, 14:50

    Olá, me desculpe não reparei.

    Tera que fazer algo assim:

    Código:
    Dim contador
    contador = 0
    'ou caso pretenda consultar o ultimo, pode usar Dlookup ...
    ' ficando
    ' contador Dlookup ...


    'inicio ou final de rotina de contagem
    contador = contador + 1


    Caso tenha dúvidas, poste como tem e mais detalhes de como pretende.
    Abraço
    avatar
    pcdesignerce
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 14/02/2014

    [Resolvido]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  pcdesignerce 21/6/2016, 15:07

    muito obrigado
    Vou da uma estuda no que me passou e depois posto aqui
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  Alvaro Teixeira 22/6/2016, 12:36

    Olá Paulo Costa,
    A minha ultima mensagem foi no telemovel, um pouco À pressa.

    Veja no link abaixo na mensagem nº 4 um exemplo de contador ( linha = linha + 1 ) :
    www.maximoaccess.com/t24141-resolvidoimportar-varios-ficheiros-txt-para-uma-so-tabela-adicionando-o-nome-do-ficheiro-a-um-campo
    Acho que será mais fácil para compreender.
    Abraço

    Conteúdo patrocinado


    [Resolvido]Atualizar valor de uma variável Empty Re: [Resolvido]Atualizar valor de uma variável

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 06:34