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

    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido.

    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido. Empty [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido.

    Mensagem  ifahidalgo 28/1/2016, 17:11

    Em um evento ao clicar no botão salvar apresenta erro na linha do While e não consigo ver o erro.


    Dim strSql5 As String, rstVerifica As DAO.Recordset
    Dim strSql4 As String, rstImped As DAO.Recordset

    strSql4 = "Select * From tblimpedimento WHERE coduser = int(val('" & Me.txtcoduser & "'))"
    Set rstImped = CurrentDb.OpenRecordset(strSql4, dbOpenSnapshot)

    If Not rstImped.EOF Then
    rstImped.MoveFirst
    xid = " "
    xresultado = 0
    Do While Not rstImped.EOF
    xid = rstImped("idfuncional")
    xdatainicio = txtdatainicio
    xdatafim = txtdatatermino
    strSql5 = "Select * From tblFerias WHERE idfuncional = '" & xvid & "' and anoreferencia = int(val('" & txtanoref & "')) and mes = '" & cmbmesref & "' AND status <> 'QUITADO' and datainicial >= cdate('" & xdatainicio & "') and datainicial <= cdate('" & xdatafim & "')" 'and datafinal cdate('" & xdatainicio & "') and cdate('" & xdatafim & "')"
    Set rstVerifica = CurrentDb.OpenRecordset(strSql5, dbOpenSnapshot)
    If Not rstVerifica.EOF Then
    xresultado = xresultado + 1
    End If
    rstImped.MoveNext
    If rstImped.EOF Then
    rstImped.Close
    rstVerifica.Close
    End If
    Loop
    End If
    Set rstImped = Nothing
    Set rstVerifica = Nothing

    If xresultado = 0 Then
    Call UltimoReg
    strSql = "Select * from tblFerias where idferias = int(val('" & txtidferias & "'))"
    Set rstTemp = CurrentDb.OpenRecordset(strSql, dbOpenDynaset)
    rstTemp.AddNew
    rstTemp("coduser") = txtcoduser
    rstTemp("idfuncional") = txtidfuncional
    rstTemp("anoreferencia") = txtanoref
    rstTemp("mes") = cmbmesref
    rstTemp("datainicial") = txtdatainicio
    rstTemp("datafinal") = txtdatatermino
    rstTemp("datasolicitacao") = Now()
    rstTemp("status") = "PENDENTE"
    rstTemp.Update
    rstTemp.Close
    Set rstTemp = Nothing
    MsgBox "Informações salvas com sucesso.", vbOKOnly + vbInformation, "Atenção!"
    Call LimpaCampo
    Call Desabilita
    cmdnovo.Enabled = True
    cmdnovo.SetFocus
    cmdsalvar.Enabled = False

    Else
    MsgBox "Sua solicitação não será deferida." & vbNewLine & "Seu(s) Impedidor(es) já solicitou férias nesse período." & vbNewLine & "Favor selecionar outro mês e intervalo de data.", vbExclamation + vbOKOnly, "Atenção!"
    Call LimpaCampo
    Call Desabilita
    cmdnovo.Enabled = True
    cmdnovo.SetFocus
    cmdsalvar.Enabled = False
    End If
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido. Empty Re: [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido.

    Mensagem  JPaulo 28/1/2016, 17:33

    Ola;

    Antes do If Not rstImped.EOF Then tem de ter o:
    If rstImped.RecordCount = 0 Then Exit Sub

    Outra coisa é que não deve declarar strings na mesma linha do DAO, deve separar;

    Dim strSql5 As String
    Dim strSql4 As String
    Dim rstVerifica As DAO.Recordset
    Dim rstImped As DAO.Recordset

    Faça os testes e retorne;


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido. Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido. Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido. Folder_announce_new Instruções SQL como utilizar...
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido. Empty Re: [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido.

    Mensagem  ifahidalgo 28/1/2016, 19:03

    fiz as alterações e ainda continua o erro.

    Dim strSql4 As String
    Dim strSql5 As String
    Dim rstVerifica As DAO.Recordset
    Dim rstImped As DAO.Recordset

    strSql4 = "Select * From tblimpedimento WHERE coduser = int(val('" & Me.txtcoduser & "'))"
    Set rstImped = CurrentDb.OpenRecordset(strSql4, dbOpenSnapshot)

    If rstImped.RecordCount = 0 Then Exit Sub

    If Not rstImped.EOF Then
    rstImped.MoveFirst
    xid = " "
    xresultado = 0
    Do While Not rstImped.EOF
    xid = rstImped("idfuncional")
    xdatainicio = txtdatainicio
    xdatafim = txtdatatermino
    strSql5 = "Select * From tblFerias WHERE idfuncional = '" & xvid & "' and anoreferencia = int(val('" & txtanoref & "')) and mes = '" & cmbmesref & "' AND status <> 'QUITADO' and datainicial >= cdate('" & xdatainicio & "') and datainicial <= cdate('" & xdatafim & "')" 'and datafinal cdate('" & xdatainicio & "') and cdate('" & xdatafim & "')"
    Set rstVerifica = CurrentDb.OpenRecordset(strSql5, dbOpenSnapshot)
    If Not rstVerifica.EOF Then
    xresultado = xresultado + 1
    End If
    rstImped.MoveNext
    If rstImped.EOF Then
    rstImped.Close
    rstVerifica.Close
    End If
    Loop
    End If
    Set rstImped = Nothing
    Set rstVerifica = Nothing
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido. Empty Re: [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido.

    Mensagem  ifahidalgo 15/2/2016, 16:21

    resolvido.

    Conteúdo patrocinado


    [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido. Empty Re: [Resolvido]Erro em tempo de execução 3420 - objeto nao é valido ou nao esta definido.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 21:29