MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Erro "O Objeto É Obrigatório" ao chamar Recordset em uma Function

    Compartilhe

    Bernidios
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]Erro "O Objeto É Obrigatório" ao chamar Recordset em uma Function

    Mensagem  Bernidios em Ter 19 Set 2017, 17:20

    rstComn![NotaCom] = ((rstComn!pontNI / 2) / Prazificador(rstComn))

    Código:
    Private Sub botExibir_Click()

        SeDataNula

        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';"
                            
                            Set rstComn = CurrentDb.OpenRecordset(SQL_V, 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![pontNI] = rstIrr!Gravidade
                                
                            rstComn.Update
                            
                            rstComn.Edit
                            
                            rstComn![NotaCom] = ((rstComn!pontNI / 2) / Prazificador(rstComn))
                            
                            rstComn.Update
                            
                rstComn.MoveNext

            Loop
            
    rstComn.OpenRecordset

        End If
        

    Código:
    Private Sub botExibir_Click()

        SeDataNula

        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';"
                            
                            Set rstComn = CurrentDb.OpenRecordset(SQL_V, 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![pontNI] = rstIrr!Gravidade
                                
                            rstComn.Update
                            
                            rstComn.Edit
                            
                            rstComn![NotaCom] = ((rstComn!pontNI / 2) / Prazificador(rstComn))
                            
                            rstComn.Update
                            
                rstComn.MoveNext

            Loop
            
    rstComn.OpenRecordset

        End If
        

    Não estou conseguindo achar o erro.

    Obrigado desde já pela ajuda!


    Última edição por Bernidios em Ter 19 Set 2017, 20:56, editado 1 vez(es)
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9703
    Registrado : 04/11/2009

    Re: [Resolvido]Erro "O Objeto É Obrigatório" ao chamar Recordset em uma Function

    Mensagem  JPaulo em Ter 19 Set 2017, 17:29

    Já agora o que é isto ?

    Código:
    Prazificador(rstComn)

    Não será

    Código:
    rstComn!Prazificador


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Bernidios
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]Erro "O Objeto É Obrigatório" ao chamar Recordset em uma Function

    Mensagem  Bernidios em Ter 19 Set 2017, 17:39

    Olá, JPaulo, obrigado por sua atenção.

    Não consegui entender a sua resposta, se conseguir explica-la melhor ficaria eternamente grato!

    Eu tentei chamar a rst na Function a partir do ByRef e coloquei a ByRef onde a chamo, não entendi o erro ainda.

    Att.

    Matheus


    Última edição por Bernidios em Ter 19 Set 2017, 20:58, editado 1 vez(es)

    Bernidios
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]Erro "O Objeto É Obrigatório" ao chamar Recordset em uma Function

    Mensagem  Bernidios em Ter 19 Set 2017, 20:57

    Resolvi fazendo a famosa gambiarra, mas obrigado pela tentativa de ajuda

      Data/hora atual: Qua 22 Nov 2017, 20:14