Ir para conteúdo
Fórum Script Brasil
  • 0

Código não roda corretamente


carolinesilva115

Pergunta

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 para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...