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

    Problema no EOF

    avatar
    Bernidios
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 66
    Registrado : 17/07/2017

    Problema no EOF Empty Problema no EOF

    Mensagem  Bernidios 26/9/2017, 20:44

    Olá amigos.

    Estou com um problema e tanto no meu access, trata-se de que eu preciso somar as notas que estão em um campo de uma tabela, porém preciso que ele passe de fornecedor em fornecedor para atribuir as notas, entretanto ele está somando todas em vez de separar por fornecedor.

    As notas estão numa string

    Como posso resolver este problema?

    Segue o código abaixo:

    Código:

        If Me.BoxTipos = "Pontuação" Then
                
                        Dim rstComn As Recordset
                
                        Dim SQL_V As String
                        
                            SQL_V = "SELECT * " + _
                                    "FROM tblComunicados " + _
                                    "WHERE tblComunicados.txt_Situacao <> 'Em Análise'" + _
                                    "AND tblComunicados.txt_Situacao <> 'Cancelado'" + _
                                      "AND tblComunicados.txt_Situacao <> 'Indevido'" + _
                                    "AND tblComunicados.txt_Situacao <> ' Em Análise'" + _
                                    "AND tblComunicados.txt_nomeDemanda <> 'Regularidade Fiscal'" + _
                                    "AND tblComunicados.txt_nomeDemanda <> 'Trabalhando sem registro';"
                                    
                            
                            Set rstComn = CurrentDb.OpenRecordset(SQL_V, dbOpenDynaset)

                        Dim rstDepes As Recordset
                            Dim notinha As String

                            Set rstDepes = CurrentDb.OpenRecordset("consdependencias", dbOpenDynaset)
                            
                        Dim rstFor As Recordset

                        Dim SQL_F As String

                            
                            SQL_F = "SELECT * " + _
                                    "FROM ConsultaNF " + _
                                    "WHERE ConsultaNF.MCI = '" & rstComn!NMCI & "'"


                            Set rstFor = CurrentDb.OpenRecordset(SQL_F, dbOpenDynaset)

            Do Until rstComn.EOF
                        
                        Dim rstIrr As Recordset
                
                        Dim SQL_I As String
                        
                            SQL_I = "SELECT * " + _
                                    "FROM tblIrregularidades " + _
                                    "WHERE tblIrregularidades.txt_Irregularidade = '" & rstComn!txt_nomeDemanda & "'"
                                    
                            
                            Set rstIrr = CurrentDb.OpenRecordset(SQL_I, dbOpenDynaset)
                                                
                            rstComn.Edit
                            
                            rstComn![pontGrav] = rstIrr!Gravidade
                            
                            If rstComn!txt_Situacao = "Atendido Com Atraso" Then
                                rstComn!CodPrazo = 2
                            ElseIf rstComn!txt_Situacao = "Atendido" Then
                                rstComn!CodPrazo = 3
                            ElseIf rstComn!txt_Situacao = "Não Atendido" Then
                                rstComn!CodPrazo = 1
                            End If
                            
                            rstComn![NotaCom] = rstComn![pontGrav] / 2 / rstComn![CodPrazo]
                            
                            If rstComn!PrecisaAt = True Then
                        


                            rstComn.Edit
                            
                            Dim Notas As Double
                            
                            Notas1 = rstComn!NotaCom
                            
                            Notas = (Notas + Notas1)
                            
                            End If
                            
                            rstComn.Update
                            
                            
                rstComn.MoveNext

            Loop
            
          
            
            
    rstComn.OpenRecordset

        End If
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    Problema no EOF Empty Re: Problema no EOF

    Mensagem  thiagomcosta 26/9/2017, 21:04

    Tem que zerar a variável Nota toda vez que mudar o fornecedor.

    Eu não consegui identificar onde é no seu código.

    Se a nota for por fornecedor, o correto é pegar todos os registros do fornecedor 1 e calcular nota, depois passar para o fornecedor 2, zerar a variável Nota, pegar todos os registros do fornecedor 2, calcular uma nova nota, passar para o fornecedor 3, zerar a variável Nota, pegar todos os registros do fornecedor 3 e calcular.....
    Cada vez que mudar de fornecedor, zerar a variável Nota.

      Data/hora atual: 28/3/2024, 12:03