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 de tempo de execução "3021"

    avatar
    ARIPO
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 112
    Registrado : 09/02/2010

    [Resolvido]Erro de tempo de execução "3021" Empty [Resolvido]Erro de tempo de execução "3021"

    Mensagem  ARIPO 4/2/2017, 22:04

    Amigos boa noite!
    Meu problema e o seguinte, se click no Botão gerar dados de meu BD
    o mesmo esta dando este erro (Erro de tempo de execução "3021") nenhum registro atual.
    Alguém me poderia ajudar a solucionar
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Erro de tempo de execução "3021" Empty Re: [Resolvido]Erro de tempo de execução "3021"

    Mensagem  FabioPaes 4/2/2017, 22:28

    Este erro ocorre nesta linha da Função: rst.MoveLast
    Que move para o ultimo registro... Como não há nenhum registro, ele emite o alerta!


    Teremos que fazer tratamento para esse erro na Função!

    Altere sua Função para:

    Código:

    Public Function ExportSisengHTFunction()
    'ahteixeira (2017) para MaximoAccess
    'Alterada por FabioPaes em 04/02/2017
    'Inclusao do tratamento Erro

    On Error GoTo F
    Dim rst As Recordset, varRecCount As Integer, varCount As Integer
    Dim varArq As String
    Dim DB As Database

        Set DB = CurrentDb()
        Set rst = DB.OpenRecordset("SisengHT", dbOpenTable)
        rst.MoveLast
        varRecCount = rst.RecordCount
        rst.MoveFirst
       
        varArq = Forms!frmHorasSiseng!local & "\SisengHT.csv"
       
        Open varArq For Output As #1
       
            For varCount = 1 To varRecCount
                Print #1, rst!Equipamento & ";"; rst!UA_Trabalhada & ";" & rst!DataPadrao & ";" & Format(rst![Hora Decimal], "Fixed")
                rst.MoveNext
            Next varCount
       
        Close #1
        rst.Close
        Set DB = Nothing
    MsgBox "Horas Trabalhadas Exportadas com Sucesso!!!", vbExclamation
    F:
        Select Case Err.Number
            Case 3021
            MsgBox "Não existem Dados para serem exportado no período!!!", vbInformation, "Atenção!"
            Case 0
            Exit Function
            Case Else
            MsgBox Err.Number & " - " & Err.Description, vbCritical, "Erro!"
            Exit Function
        End Select

    End Function



    Altere também o comando do Botão Gerar dados para:

    Código:

    Private Sub Comando7_Click()
    On Error Resume Next

    If IsNull(Me.txtDataInicio) Then
    MsgBox "Data Inicial deve ser Informada!", vbCritical, "Atenção"
    Me.txtDataInicio.SetFocus
    Exit Sub
    ElseIf IsNull(Me.txtDataFim) Then
    MsgBox "Data Final deve ser Informada!", vbCritical, "Atenção"
    Me.txtDataFim.SetFocus
    Exit Sub
    ElseIf IsNull(Me.txtDatapadrao) Then
    MsgBox "Data Padra deve ser Informada!", vbCritical, "Atenção"
    Me.txtDatapadrao.SetFocus
    Exit Sub
    ElseIf IsNull(Me.Quadro55) Then
    MsgBox "Selecioni um relatorio", vbCritical, "Info"
    Me.Quadro55.SetFocus
    Exit Sub
    Else

    Call DadosFunction

    End If

    If Me.Quadro55.Value = 1 Then
        DoCmd.RunMacro "ExportSisengHT", acViewPreview

    End If

    If Me.Quadro55.Value = 2 Then
        DoCmd.RunMacro "ExportSisengHP", acViewPreview

    End If

    If Me.Quadro55.Value = 3 Then
        DoCmd.RunMacro "ExportSisengOf_Equip", acViewPreview

    End If

    If Me.Quadro55.Value = 4 Then
        DoCmd.RunMacro "ExportSisengOf_Guind", acViewPreview

    End If
    End Sub


    No botão foi add o Comando Exit Sub para todas as verificações de preenchimento, pois se for verdadeiro nao tem porque passar para o próximo passo!

    Ja na Função add o tratamento de erro, pois pode no periodo informado nao haver dados para serem exportados... entao ele emite aviso... Simule com o periodo 04/02/17 a 04/02/17.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    ARIPO
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 112
    Registrado : 09/02/2010

    [Resolvido]Erro de tempo de execução "3021" Empty Re: [Resolvido]Erro de tempo de execução "3021"

    Mensagem  ARIPO 6/2/2017, 18:55

    Fabio, erra isso mesmo que precisava.
    Muito obrigado pelo apoio.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Erro de tempo de execução "3021" Empty Re: [Resolvido]Erro de tempo de execução "3021"

    Mensagem  FabioPaes 6/2/2017, 19:10

    Grato pelo retorno amigo, até a próxima se Deus Quiser!

    Por favor, para o seu Tópico anterior (o de origem dessa função) ficar completo poste la a função corrigida, bem como as modificações no seu Botão! Assim caso alguém precise, já não passará por esse problema!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    [Resolvido]Erro de tempo de execução "3021" Empty Re: [Resolvido]Erro de tempo de execução "3021"

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 12:00