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


2 participantes

    uso do do loop

    avatar
    poy
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 10/01/2012

    uso do do loop Empty uso do do loop

    Mensagem  poy 8/4/2013, 18:39

    Estou tentando criar 2 loops, um dentro do outro

    Do while x < y
    do z < T
    .................

    lê proximo rwgistro
    loop
    loop

    e na compilação acusa que o 2° loop está sem loop

    Posso faazer isso ou não ?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    uso do do loop Empty Re: uso do do loop

    Mensagem  criquio 8/4/2013, 18:46

    Não está faltando um While no segundo Do?


    .................................................................................
    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
    poy
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 10/01/2012

    uso do do loop Empty Re: uso do do loop

    Mensagem  poy 8/4/2013, 19:02

    erro de transcrição

    no código está certo mas da erro de compilação "loop sem do"

    para explicar melhor transcrevo abaixo o código :

    Do While linhaatual = rst(0)


    If rst2(0) = True Then

    ' soma frota da linha

    strSQL = "SELECT sum(qtfrota) FROM CustoOper1"
    strSQL = strSQL & " WHERE month(Data) = " & Val(MesProcess)
    strSQL = strSQL & " AND YEAR(data) = " & Val(AnoProcess)
    strSQL = strSQL & " and linha = '" & rst(0) & "'"

    Set rst1 = dbs.OpenRecordset(strSQL)

    If rst1.RecordCount > 0 Then
    totalfrotaentrada = totalfrotaentrada + rst1(0)
    End If


    '-------------------
    strSQL = "SELECT * FROM CustoOper1"
    strSQL = strSQL & " WHERE month(Data) = " & Val(MesProcess)
    strSQL = strSQL & " AND YEAR(data) = " & Val(AnoProcess)
    strSQL = strSQL & " ORDER BY ITINERARIO , LINHA, TIPO"

    Set rst1 = dbs.OpenRecordset(strSQL)

    If rst1.RecordCount = 0 Then
    MsgBox "sem lançamentos para mes/ano " & MesProcess & "/" & AnoProcess
    End If

    rst1.MoveLast
    Total = rst.RecordCount
    rst1.MoveFirst
    X = 1

    Do While X + 1 < Total

    linhaentrada = rst(1)
    frotaentrada = rst(6)
    tipoentrada = rst(2)

    If frotaentrada > 0 Then


    tutlinha = valortut / totalfrotaentrada * frotaentrada
    strSQL2 = "update custooper1 set "
    strSQL2 = strSQL2 & " tut = '" & tutlinha & "'"
    strSQL2 = strSQL2 & " where month(data) = " & MesProcess
    strSQL2 = strSQL2 & " and year(data) = " & AnoProcess
    strSQL2 = strSQL2 & " and linha = '" & linhaentrada & "'"
    strSQL2 = strSQL2 & " and tipo = '" & tipoentrada & "'"

    dbs.Execute (strSQL2)

    End If

    X = X + 1
    rst1.MoveNext

    Loop
    totallidos = totallidos + 1
    rst.MoveNext
    linhaatual = rst(0)
    ' le cadastro de linhas
    strSQL = "SELECT terminal FROM linhas"
    strSQL = strSQL & " where linha = ' " & rst(0) & "'"

    Set rst2 = dbs.OpenRecordset(strSQL)

    If rst2.RecordCount = 0 Then
    MsgBox "Linha " & rst2(0) & "não encontrada na tabela de linhas - Atualização abortada"
    Exit Sub
    End If


    rst2.MoveFirst
    Loop

    Conteúdo patrocinado


    uso do do loop Empty Re: uso do do loop

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 07:13