Jump to content
Fórum Script Brasil
  • 0

Código não roda corretamente


Question

Olá! Tenho um formulário no qual temos o Nº das operações e os valores de orçamentos.
Fiz um código para o Access calcular o menor orçamento de cada operação e retornar o texto "Considerar" no campo "Status", os demais valores ficam "Não considerar".

Obs: Para cada operação deve ter um 'Considerar' que, no caso, seriam os valores do menores orçamentos.

Entretanto, esse código está dando erro ("Conflito de gravação")  ou nem chega a funcionar ao alterarmos os valores. Alguém saberia dizer porque? vou colocar o código e o arquivo.

Meu arquivo: https://www.maximoaccess.com/download?id=22496

Private Sub txtValor_AfterUpdate()

Dim db As dao.Database
Dim tabela, tabmin As String
Dim rs, rs2 As dao.Recordset

'Utilizei comandos do SQL no VBA para que conseguisse separar o menor orçamento de cada operação
tabela = "SELECT Operacao,Valor, Status FROM TabOrcamentos" 'operação e valores
tabmin = "SELECT Operacao, Min(Valor)as minimo FROM TabOrcamentos GROUP BY Operacao" 'consulta com todos os valores mínimo de cada operação

Set db = CurrentDb
Set rs = db.OpenRecordset(tabela)
Set rs2 = db.OpenRecordset(tabmin)

With rs

    rs.MoveFirst ' Ir para a primeira linha da Tab3Orcamentos

    Do Until rs.EOF 'O comando funcionará até chegar na última linha da Tab3Orcamentos. Obs: EOF = true  se você está no fim do recordset(depois do último registro) .
        Do Until rs!Operacao > rs2!Operacao 'Critério para "tabmin" ir para próxima linha
    
            If rs!Operacao & rs!Valor = rs2!Operacao & rs2!minimo Then
             rs.Edit
             rs!Status = "Considerar"
            ElseIf rs!Operacao = rs!Operacao Then
             rs.Edit
             rs!Status = "Não considerar"
            End If
            rs.Update
            rs.MoveNext 'ir para próxima linha da tabela
            If rs.EOF = True Then
                Exit Sub 'se o código chegar na última linha da tabela, a sub será encerrada
            End If
        Loop
        rs2.MoveNext 'ir para próxima linha de tabmin
    Loop
End With
End Sub

 

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644530
×
×
  • Create New...