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

Erro 91-Object variable or With block variable not set


Lu Fênix

Pergunta

Pessoal boa noite,

Gostaria da ajuda de vocês para que eu possa resolver este problema que está ocorrendo na minha aplicação.estou desenvolvendo um sistema e quando coloquei o Else, ou melhor o else já existia, mais só havia uma mensagem dentro dele e eu implementei mais coisas dentro dele.Mais está dando este erro: Erro 91-Object variable or With block variable not set

Ele só lê até a mensagem depois disso todfo c´digo que implementei novo ele não lê.

E além disso o Vb fica dando erro com o próprio código por exemplo:

Set rsCount = Conn.Execute(sql)

Lcont = rsCount("CONT")

(Ele dá erro no "Conn" pedi para declarar)

O que eu quero fazer é o seguinte: todas as lojas que forem pendentes entre no else.

Por favor,vocês poderiam me ajudar?

aí está uma parte do código:

If Retorno = False Then
                Servicos_Fai.fnGravaTrace 1, 1, "Mensagem: Arquivo não foi movido com sucesso."
            End If
                
            Set MyFile1 = MyFS.GetFile(sPathServicosFai & aArquivos(i) & "_" & Format(Date, "ddmmyyyy") & "_" & Hora)
            TamArqMovido = MyFile1.Size
            
            If TamArqOriginal = TamArqMovido Then
                Servicos_Fai.Arquivo = sPathServicosFai & aArquivos(i) & "_" & Format(Date, "ddmmyyyy") & "_" & Hora
                Retorno = True
                If Retorno <> "" Then
                    Retorno = Servicos_Fai.VerificaSeHeaderExiste(iNivelTrace)
                    If Retorno = True Then
                        Retorno = Servicos_Fai.VerificaSeDetalheExiste(iNivelTrace)
                        If Retorno = True Then
                            Retorno = Servicos_Fai.VerificaSeGradeExiste(iNivelTrace)
                            If Retorno = True Then
                                If G_TransPend = False Then 'Só faz a carga dos Serviços_Fai se todas as transações estiverem Confirmadas
                                    Retorno = Servicos_Fai.LimpaServicos_Fai(iNivelTrace, Mid(aArquivos(i), 11, 3), Mid(aArquivos(i), 1, 8))
                                    Retorno = Servicos_Fai.GravaServicosFai(iNivelTrace)
                                          
                                    
                                     'If L_Loja <> "0000" Then
                                    
                                      'L_Loja = Mid(linha, 9, 4)
                                     ' Servicos_Fai.fnGravaTrace 1, 1, "Mensagem2: Arquivo com transações Pendentes - L_loja & Dt_mov."
                                            
                                Else
                                   Servicos_Fai.fnGravaTrace 1, 1, "Mensagem1: Arquivo com transações Pendentes - L_loja & Dt_mov."
                                    
                                      If Mid(linha, 30, 1) = "P" Then
                                                                                                                                                     
                                      sql = ""
                                      sql = "SELECT COUNT(*) AS CONT FROM TRANS_PENDENTE_SAFE " _
                                            & " WHERE IDENT_REG_LOJA = '" & Mid(linha, 9, 4) & "'" _
                                            & " AND DT_MOVIMENTO = '" & Dt_mov & " '"
                                                                                                                                                                                                                                              
                                             'Set rsCount = Conn.Execute(sql)
                                             'Lcont = rsCount("CONT")
                                              
                                             'Servicos_Fai.fnGravaTrace 1, 1, "Mensagem1: Arquivo com transações Pendentes - L_loja & Dt_mov."
                                              
                                              End If
                                              
                                              'If P = 0 Then
                                               '  P = P + 1
                                                
                                                 'fnGravaTrace 1, iNivelTrace, "--- Lojas com pendência no SAFE ---"
                                                 
                                                 'fnGravaTrace 1, iNivelTrace, " Loja cont-msg - " & L_Loja
                                                 
                                                 'P = P + 1
                                                 
                                           ' End If
                                                                                          
                                             If Lcont = "0" Then
                                               
                                                  sql = ""
                                                  sql = " INSERT INTO trans_pendente_safe (IDENT_REG_LOJA, DT_MOVIMENTO, STATUS_TRANSACAO ) " _
                                                      & " VALUES('" & L_Loja & "','" & Dt_mov & "','P')"
                                             End If
                                              Conn.Execute (sql), , 128
                                               
                                                                                                            
                                    'Servicos_Fai.fnGravaTrace 1, 1, "Mensagem: Arquivo com transações Pendentes - L_loja & Dt_mov."
                                End If
                            End If
                        End If
                    End If
                End If
              End If
            
            'Else
             '   Servicos_Fai.fnGravaTrace 1, 1, "Mensagem: Arquivo origem diferente do arquivo destino."
            'End If
        End If
        Next
    
        If L_Loja <> "" Then  
            sql = ""
            sql = " DELETE FROM TRANS_PENDENTE_SAFE " _
            & " WHERE IDENT_REG_LOJA = '" & Mid(linha, 9, 4) & "'" _
            & " AND DT_MOVIMENTO = '" & Dt_mov & "'"
           Conn.Execute sql, , 128
           
           ' fnGravaTrace 1, iNivelTrace, " sql " & sql
            
           ' fnGravaTrace 1, iNivelTrace, " Pendências da loja " & Servicos_Fai.Loja & " no Movto " & Servicos_Fai.DataMovimento & " foram tratadas. "
         End If
    
    GoTo Waiting
    
 Exit Sub
'Exit Function
Waiting:
    Servicos_Fai.LiberaConexaoBanco
    bExecutando = False

    If bAtivarTimer Then
        Timer1.Enabled = True
    End If
    bProcessando = False
    Exit Sub
    'Exit Function
    
Erro2:
    Servicos_Fai.fnAbreTrace 1
    Servicos_Fai.fnGravaTrace 1, 1, "Servico SAFE: Erro antes de abrir trace"
Erro:
    bExecutando = False
    bProcessando = False
    Timer1.Enabled = True
    Servicos_Fai.fnGravaTrace 1, 1, "Servico SAFE2: Erro " & Err.Number & "-" & Err.Description
   End Sub
'End Function

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Pessoal boa noite,

Gostaria da ajuda de vocês para que eu possa resolver este problema que está ocorrendo na minha aplicação.estou desenvolvendo um sistema e quando coloquei o Else, ou melhor o else já existia, mais só havia uma mensagem dentro dele e eu implementei mais coisas dentro dele.Mais está dando este erro: Erro 91-Object variable or With block variable not set

Ele só lê até a mensagem depois disso todfo c´digo que implementei novo ele não lê.

E além disso o Vb fica dando erro com o próprio código por exemplo:

Set rsCount = Conn.Execute(sql)

Lcont = rsCount("CONT")

(Ele dá erro no "Conn" pedi para declarar)

O que eu quero fazer é o seguinte: todas as lojas que forem pendentes entre no else.

Por favor,vocês poderiam me ajudar?

aí está uma parte do código:

If Retorno = False Then

Servicos_Fai.fnGravaTrace 1, 1, "Mensagem: Arquivo não foi movido com sucesso."

End If

Set MyFile1 = MyFS.GetFile(sPathServicosFai & aArquivos(i) & "_" & Format(Date, "ddmmyyyy") & "_" & Hora)

TamArqMovido = MyFile1.Size

If TamArqOriginal = TamArqMovido Then

Servicos_Fai.Arquivo = sPathServicosFai & aArquivos(i) & "_" & Format(Date, "ddmmyyyy") & "_" & Hora

Retorno = True

If Retorno <> "" Then

Retorno = Servicos_Fai.VerificaSeHeaderExiste(iNivelTrace)

If Retorno = True Then

Retorno = Servicos_Fai.VerificaSeDetalheExiste(iNivelTrace)

If Retorno = True Then

Retorno = Servicos_Fai.VerificaSeGradeExiste(iNivelTrace)

If Retorno = True Then

If G_TransPend = False Then 'Só faz a carga dos Serviços_Fai se todas as transações estiverem Confirmadas

Retorno = Servicos_Fai.LimpaServicos_Fai(iNivelTrace, Mid(aArquivos(i), 11, 3), Mid(aArquivos(i), 1, 8))

Retorno = Servicos_Fai.GravaServicosFai(iNivelTrace)

'If L_Loja <> "0000" Then

'L_Loja = Mid(linha, 9, 4)

' Servicos_Fai.fnGravaTrace 1, 1, "Mensagem2: Arquivo com transações Pendentes - L_loja & Dt_mov."

Else

Servicos_Fai.fnGravaTrace 1, 1, "Mensagem1: Arquivo com transações Pendentes - L_loja & Dt_mov."

If Mid(linha, 30, 1) = "P" Then

sql = ""

sql = "SELECT COUNT(*) AS CONT FROM TRANS_PENDENTE_SAFE " _

& " WHERE IDENT_REG_LOJA = '" & Mid(linha, 9, 4) & "'" _

& " AND DT_MOVIMENTO = '" & Dt_mov & " '"

'Set rsCount = Conn.Execute(sql)

'Lcont = rsCount("CONT")

'Servicos_Fai.fnGravaTrace 1, 1, "Mensagem1: Arquivo com transações Pendentes - L_loja & Dt_mov."

End If

'If P = 0 Then

' P = P + 1

'fnGravaTrace 1, iNivelTrace, "--- Lojas com pendência no SAFE ---"

'fnGravaTrace 1, iNivelTrace, " Loja cont-msg - " & L_Loja

'P = P + 1

' End If

If Lcont = "0" Then

sql = ""

sql = " INSERT INTO trans_pendente_safe (IDENT_REG_LOJA, DT_MOVIMENTO, STATUS_TRANSACAO ) " _

& " VALUES('" & L_Loja & "','" & Dt_mov & "','P')"

End If

Conn.Execute (sql), , 128

'Servicos_Fai.fnGravaTrace 1, 1, "Mensagem: Arquivo com transações Pendentes - L_loja & Dt_mov."

End If

End If

End If

End If

End If

End If

'Else

' Servicos_Fai.fnGravaTrace 1, 1, "Mensagem: Arquivo origem diferente do arquivo destino."

'End If

End If

Next

If L_Loja <> "" Then

sql = ""

sql = " DELETE FROM TRANS_PENDENTE_SAFE " _

& " WHERE IDENT_REG_LOJA = '" & Mid(linha, 9, 4) & "'" _

& " AND DT_MOVIMENTO = '" & Dt_mov & "'"

Conn.Execute sql, , 128

' fnGravaTrace 1, iNivelTrace, " sql " & sql

' fnGravaTrace 1, iNivelTrace, " Pendências da loja " & Servicos_Fai.Loja & " no Movto " & Servicos_Fai.DataMovimento & " foram tratadas. "

End If

GoTo Waiting

Exit Sub

'Exit Function

Waiting:

Servicos_Fai.LiberaConexaoBanco

bExecutando = False

If bAtivarTimer Then

Timer1.Enabled = True

End If

bProcessando = False

Exit Sub

'Exit Function

Erro2:

Servicos_Fai.fnAbreTrace 1

Servicos_Fai.fnGravaTrace 1, 1, "Servico SAFE: Erro antes de abrir trace"

Erro:

bExecutando = False

bProcessando = False

Timer1.Enabled = True

Servicos_Fai.fnGravaTrace 1, 1, "Servico SAFE2: Erro " & Err.Number & "-" & Err.Description

End Sub

'End Function

Cara eu acho que voce esqueceu de setar o recordset ou ate mesma a connection.

Você está fazendo direto

'Set rsCount = Conn.Execute(sql)
tenta fazer assim:
Set rsCount = New ADODB.Recordset
ou
'Declaração
Dim Conn As ADODB.Connection
Dim rsCount As ADODB.Recordset


    Set Conn = New ADODB.Connection
    Set rsCount = New ADODB.Recordset
    Set rsCount.ActiveConnection = Conn
    rsCount.CursorLocation = adUseClient
    Conn.Execute sql

Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      652k
×
×
  • Criar Novo...