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


3 participantes

    erro variavel do objeto ou do bloco with não foi definida

    avatar
    poy
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 10/01/2012

    erro variavel do objeto ou do bloco with não foi definida Empty erro variavel do objeto ou do bloco with não foi definida

    Mensagem  poy 5/12/2012, 13:46

    Tenho uma rotina ( listada abaixo) que executa normalmente em várias máquinas mas em uma determinada máquina apresenta o erro acima .

    Cabe notar que não existe nela nenhuma instrução WITH.

    O que pode ser ?


    Private Sub botãobalancete_Click()
    Dim ValorA, ValorC, ValorT As Double
    Dim valordeduçõesc111 As Double
    Dim valordeduçõesc112 As Double
    Dim valordeduçõesc117 As Double
    Dim checaerro As Variant
    Dim percdedução As Double

    On Error GoTo Err_botãobalancete_Click







    strSQL = "select sum(crédito) from Movimento"
    strSQL = strSQL & " where year(DATA) = " & Val(AnoProcess)
    strSQL = strSQL & " And Month(Data) = " & Val(MesProcess)
    strSQL = strSQL & " and código = 'C111'"
    strSQL = strSQL & " and rateio = 'R'"


    Set rst = dbs.OpenRecordset(strSQL)
    checaerro = Nz(rst(0).Value, -1)

    If rst.RecordCount = 0 Or checaerro = -1 Then
    valordeduçõesc111 = 0
    Else
    valordeduçõesc111 = rst(0)
    End If

    strSQL = "select sum(crédito) from Movimento"
    strSQL = strSQL & " where year(DATA) = " & Val(AnoProcess)
    strSQL = strSQL & " And Month(Data) = " & Val(MesProcess)
    strSQL = strSQL & " and código = 'C112'"
    strSQL = strSQL & " and rateio = 'R'"

    Set rst = dbs.OpenRecordset(strSQL)
    checaerro = Nz(rst(0).Value, -1)
    If rst.RecordCount = 0 Or checaerro = -1 Then
    valordeduçõesc112 = 0
    Else
    valordeduçõesc112 = rst(0)
    End If


    strSQL = "select sum(crédito) from Movimento"
    strSQL = strSQL & " where year(DATA) = " & Val(AnoProcess)
    strSQL = strSQL & " And Month(Data) = " & Val(MesProcess)
    strSQL = strSQL & " and código = 'C117'"
    strSQL = strSQL & " and rateio = 'R'"
    Set rst = dbs.OpenRecordset(strSQL)
    checaerro = Nz(rst(0).Value, -1)
    If rst.RecordCount = 0 Or checaerro = -1 Then
    valordeduçõesc117 = 0
    Else
    valordeduçõesc117 = rst(0)
    End If
    ' Close rst




    Screen.MousePointer = 11
    strSQL = "DELETE * FROM BALANCETE "

    dbs.Execute (strSQL)

    strSQL = "SELECT * FROM FLUXO "
    strSQL = strSQL & " WHERE year([FLUXO].[Data]) = " & (AnoProcess)
    strSQL = strSQL & " And Month([FLUXO].[Data]) = " & (MesProcess)
    strSQL = strSQL & " order by ([FLUXO].[Conta]) "
    Set rst = dbs.OpenRecordset(strSQL)
    rst.MoveLast
    Total = rst.RecordCount
    rst.MoveFirst




    strSQL2 = "SELECT * FROM PLANO "
    strSQL2 = strSQL2 & " WHERE RIGHT(CÓDIGO,2) <> '00'"
    strSQL2 = strSQL2 & " order by código"
    Set rst2 = dbs.OpenRecordset(strSQL2)
    rst2.MoveFirst

    For N = 0 To Total - 1

    Do While rst(1) > rst2(0)

    ' grava no balancete, TODAS as contas do Plano que não estão no fluxo.

    strSQL = "INSERT INTO BALANCETE (Data, Conta, Descrição, Grupo, GrupoDescr, "
    strSQL = strSQL & " ValorFluxo, ValorBalanc, Empresa, Balancete)"
    strSQL = strSQL & " VALUES ('" & Format(rst(0), "dd/mm/yyyy") & "', "
    strSQL = strSQL & " '" & rst2(0) & "', "
    strSQL = strSQL & " '" & rst2(1) & "', "
    strSQL = strSQL & " '" & rst(3) & "', "
    strSQL = strSQL & " '" & rst(4) & "', "
    strSQL = strSQL & " " & 0 & ","
    strSQL = strSQL & " " & "''" & ","
    strSQL = strSQL & " '" & rst(7) & "', "
    If rst2(2) = True Then
    strSQL = strSQL & " True)"
    Else
    strSQL = strSQL & " True)"
    End If



    dbs.Execute (strSQL)
    rst2.MoveNext
    If rst2.EOF Then
    rst2.MovePrevious
    End If
    Loop
    strSQL = "INSERT INTO BALANCETE (Data, Conta, Descrição, Grupo, GrupoDescr, "
    strSQL = strSQL & " ValorFluxo, ValorBalanc, Empresa, Balancete)"
    strSQL = strSQL & " VALUES ('" & Format(rst(0), "dd/mm/yyyy") & "', "
    strSQL = strSQL & " '" & rst(1) & "', "
    strSQL = strSQL & " '" & rst(2) & "', "
    strSQL = strSQL & " '" & rst(3) & "', "
    strSQL = strSQL & " '" & rst(4) & "', "
    strSQL = strSQL & " '" & rst(5) & "', "
    strSQL = strSQL & " " & "''" & ","
    strSQL = strSQL & " '" & rst(7) & "', "

    If rst2(2) = True Then
    strSQL = strSQL & " True)"
    Else

    strSQL = strSQL & " False)"
    End If


    dbs.Execute (strSQL)
    ' End If
    ' End If
    rst.MoveNext
    If rst.EOF Then
    rst.MovePrevious
    End If

    rst2.MoveNext
    If rst2.EOF Then
    rst2.MovePrevious
    End If
    Next N

    Set dbs = Nothing

    MsgBox "Balancete atualizado pelo Fluxo de Caixa. Verifique.", vbInformation, Apelido

    Exit_botãobalancete_Click:
    Screen.MousePointer = 0
    Exit Sub

    Err_botãobalancete_Click:
    MsgBox Err.Description
    Resume Exit_botãobalancete_Click



    End Sub
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    erro variavel do objeto ou do bloco with não foi definida Empty Re: erro variavel do objeto ou do bloco with não foi definida

    Mensagem  criquio 5/12/2012, 13:49

    Verifique se tem alguma referência escrito AUSENTE.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    erro variavel do objeto ou do bloco with não foi definida Empty Re: erro variavel do objeto ou do bloco with não foi definida

    Mensagem  Cláudio Más 5/12/2012, 14:09

    É estranho funcionar em alguma máquina, mas pode ser mesmo problema de referência ausente.

    Parece que a mensagem se refere a variavel do tipo Database dbs, que não foi declarada:

    Set rst = dbs.OpenRecordset(strSQL)

    Pode tentar trocar todas essas linhas por:

    Set rst = CurrentDb.OpenRecordset(strSQL)

    Conteúdo patrocinado


    erro variavel do objeto ou do bloco with não foi definida Empty Re: erro variavel do objeto ou do bloco with não foi definida

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 16/9/2024, 20:41