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


    [Resolvido]Loops aninhados

    avatar
    suel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Loops aninhados Empty [Resolvido]Loops aninhados

    Mensagem  suel 28/8/2013, 22:42

    Prezados,
    Tenho o seguinte problema: preciso capturar as datas de vencimento somente das parcelas que alcançarem determinado valor X. Mas tenho limitações:
    1ª Se existirem mas de 5 parcelas em atraso devo mudar de tela lançando o mês posterior ao último mo da tela atual no campo Atraso de.....
    2ª Se os valores não forem iguais ou maior apenas um real devo lançar 3 tipos de desconto, um por um, e fazer as capturas novamente até os valores baterem.

    Atraso de.....:  MM   AA                                                      
    Data Pagamento:  DD   MM   AA     Tipo Pag. :                                
                                                                         
    Vencto.:      06/06/13      06/07/13      06/08/13      00/00/00      00/00/00
    Numero.:           003           004           005           000           000
    Liquido:      2.831,25      2.825,37      2.819,49          0,00          0,00
    Mora...:        137,13         87,09         36,47          0,00          0,00
    Dif....:         0,00          0,00          0,00          0,00          0,00
    Multa..:         56,63         56,51         56,39          0,00          0,00
    TOTAL..:     3.025,01      2.968,97      2.912,35          0,00          0,00
                                             
    003 atraso.

    Peço ajuda, pois estou meio perdido na estrutura de Arrays e Loops que devo usar.

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Convidado 3/9/2013, 01:14

    Ajudaria se postasse um exemplo para que possamos ver isto pra ti.

    NO entando veja se o meu raciocínio esta correto.

    Loop Pela tblCliente
       Loop Pela tblParcelas
          Verificar para o cliente as regras que citou
       MoveNext tblParcelas
    MoveNext tblCliente

    é algo assim?

    Cumprimentos.
    avatar
    suel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Loops aninhados Empty Arrays

    Mensagem  suel 6/9/2013, 18:13

    Boa tarde!!!!

    Demorei pra responder, pq estou envolvido em outros projetos paralelos a este.

    A estrutura de loop seria exatamente essa, mas tenho dúvida enquanto aos contadores. Mas minha principal dificuldade e em armazenar estes dados em matrizes, sem perdê-los na troca de tela, pois tenho que obrigatoriamente utilizá-los adiante. Se poderes me ajudar com os arrays. Vou bolar um exemplo mais prático e postar.

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Convidado 6/9/2013, 18:28

    Crie um módulo e o nomeie de mdlVarPublicas
    Neste crie uma array

    Public K()

    E no loop vais adicionando os valores no mesmo através de um procedimento com o for

    Podes criar uma variável para conter o número de loops de acordo com o numero de registros da tabela

    Dim X as Integer
    Dim i as interger
    X = DCount("*","SuaTabela")

    For i = 0 to X
    K(i) = Rs!SeuCampoNoRecordset
    Next i

    é por ai.


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Convidado 6/9/2013, 20:05

    Veja este pequeno exemplo da utilização de uma matriz no seu caso:

    Cumprimentos.
    avatar
    suel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  suel 10/9/2013, 18:18

    Prezado Piloto,

    Tens como enviar o exemplo com a extensão .mdb?

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Convidado 10/9/2013, 20:10

    Eis:

    Cumprimentos.
    avatar
    suel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  suel 10/9/2013, 21:16

    Consegui caminhar um pouco e vou colocar a parte do código para ver se consegue visualizar melhor minha dificuldade:

    SALTA_PRA_COM: 'inicio/reinicio
    'reseto as matrizes
    Erase mes
    Erase ano

    'nessa parte escolho o tipo do desconto a ser aplicado
    Select Case desconto
    Case 1
    .putstring "310", 10, 49
    Case 2
    .putstring "354", 10, 49
    Case 3
    .putstring "357", 10, 49
    Case 4
    .putstring "358", 10, 49
    End Select

    mudaTela EXTRA, "CON"

    While .OIA.XStatus <> 0: DoEvents: Wend
    Call Obter_letras(EXTRA)
    If letrinhas = True Then: GoTo SALTA_PRA_COM

    qtdatraso = Trim(.area(23, 2, 23, 4).Value) ' aqui capturo o qtdade de atraso

    'inicio da captura do dados PRA
    'utilização de arrays

    Captura_PRA:
    j = 5
    For i = 0 To qtdatraso

    vrpra = vrpra + Trim(.area(20, colvalini, 20, colvalfim).Value) 'capturo o valor
    mes(i) = Trim(.area(14, colmesini, 14, colmesfim).Value) 'capturo mes
    ano(i) = Trim(.area(14, colanoini, 14, colanofim).Value) 'capturo ano
    colvalini = colvalini + 14 'incremento coluna valor
    colvalfim = colvalfim + 14 'incremento coluna valor
    colmesini = colmesini + 14 'incremento coluna mes
    colmesfim = colmesfim + 14 'incremento coluna mes
    colanoini = colanoini + 14 'incremento coluna ano
    colanofim = colanofim + 14 'incremento coluna ano

    'comparo os valores
    If vrpgto < vrpra Then
    dif = vrpra - vrpgto
    If dif <= 1 Then Exit For
    If dif > 2 Then 'se diferença de valores > 2 incremento o desconto
    desconto = desconto + 1
    GoTo SALTA_PRA_COM 'volta para esta parte(acima) e recomeça
    ElseIf vrpgto = vrpra Then Exit For
    End If

    'qndo o atraso for maior que 5 tenho que mudar parametros e continuar a
    captura dos dados, pois necessito deles posteriormente
    If i > j Then
    j = j + 5
    .putstring (mes(i) + 1), 9, 19
    .putstring ano(i), 9, 24
    mudaTela EXTRA, ""
    End If

    Next

    Por favor veja se com essas novas informações e as anteriores consegue me ajudar elaborar esse código.

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Convidado 10/9/2013, 22:23

    Em que plataforma está a fazer isto?


    Cumprimentos.
    avatar
    suel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  suel 10/9/2013, 22:34

    Utilizo VBA Access integrado com myEXTRA! Enterprise 7.11 da Attachamate.

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Convidado 10/9/2013, 22:44

    De minha parte.. não tenho experiência neste tipo de sintaxe

    Sinto.

    cumprimentos.
    avatar
    suel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  suel 10/9/2013, 22:51

    Meu problema está mesmo em montar os loops e arrays, mas de qualquer forma muito grato pela ajuda.
    avatar
    Convidado
    Convidado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Convidado 10/9/2013, 23:26

    Se me enviar um Bd Access com as tabelas e dar uma breve descrição posso ver isto pra ti..
    Postarei um exemplo de código para ver se lhe ajuda.


    Cumprimentos.
    avatar
    suel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 52
    Registrado : 06/05/2013

    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  suel 11/9/2013, 17:34

    Prezado Piloto,

    Tens como enviar o exemplo com a extensão .mdb?

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Convidado 11/9/2013, 18:28

    Ei-lo

    Cumprimentos.


    Última edição por PILOTO em 1/11/2013, 00:54, editado 1 vez(es) (Motivo da edição : Tópico dado como resolvido por falta de resposta)

    Conteúdo patrocinado


    [Resolvido]Loops aninhados Empty Re: [Resolvido]Loops aninhados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 17/5/2024, 06:18