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