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 3601 - Parâmetros Insuficientes

    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  alantaru 28/11/2022, 12:32

    Bom dia amigos!

    Este formulário possui uma rotina de atualização que varre todo a sua db atualizando linha por linha.
    [Resolvido]Erro 3601 - Parâmetros Insuficientes FIWL0DA

    Porém ao clicar no botão de atualização estou recebendo a mensagem


    [Resolvido]Erro 3601 - Parâmetros Insuficientes Maw5K8h

    O erro ocorre quando chega na linha
    Código:
    Set rsMapa = CurrentDb.OpenRecordset(SqlMapaAtual)

    Segue código do botão completo:

    Código:
    Private Sub cmdAtualizarDadosRota_Click()
        Dim resultado As VbMsgBoxResult
        resultado = MsgBox("Este processo pode demorar alguns minutos. Tem certeza que deseja atualizar o banco de dados da Rota?", vbYesNo, "Atualizar Rota Proativa")
        If resultado = vbYes Then
                    
                    On Error GoTo ErrorHandler
                    
                    Dim SerieAtual As String
                    Dim ContadorInicialAtual As String
                    Dim ContadorFinalAtual As String
                    Dim rsRota As DAO.Recordset, strSQL As String 'Rota
                    Dim rsMapa As DAO.Recordset, SqlMapaAtual As String 'Mapa
                    Dim rsFleet As DAO.Recordset, SqlFleetAtual As String 'Contador Fleet
                    Dim rsPapel As DAO.Recordset, SqlPapelAtual As String  'Papel
                    Dim db As DAO.Database
                    
                'apulheta de espera no mouse
                DoCmd.Hourglass True
                
                    strSQL = "tabRota"
                    
                    Set db = CurrentDb
                    
                    Set rsRota = db.OpenRecordset(strSQL)
                    
                'se não existirem registros na tabela rota, morre aqui
                If rsRota.RecordCount = 0 Then DoCmd.Hourglass False: Exit Sub
                
                    With rsRota
                        If Not .BOF And Not .EOF Then
                            .MoveLast
                            .MoveFirst
                            While (Not .EOF)
                
                                SerieAtual = Forms![frmRota]![Serie] 'pega a serie atual
                                SqlMapaAtual = "SELECT Serie, Status, ModeloSimpress, Fila, Empresa, PlantaInstalada, LocalInstalacao, RAMAL, Horario, RuaRef, DEPARTAMENTO, Contrato FROM Mapa WHERE Serie='" & SerieAtual & "';"
                                SqlFleetAtual = "SELECT Serie, NumerodePaginas, TonerPretoPorcentagem, ImpressoesTotalemPreto, ImpressoesTotalColoridas FROM Contador WHERE Serie='" & SerieAtual & "';"
                                SqlPapelAtual = "SELECT Serie, TotalFv, A4Resma, Media FROM Papel WHERE Serie='" & SerieAtual & "';"
                                Set rsMapa = CurrentDb.OpenRecordset(SqlMapaAtual)
                                Set rsFleet = CurrentDb.OpenRecordset(SqlFleetAtual)
                                Set rsPapel = CurrentDb.OpenRecordset(SqlPapelAtual)
                
                                    .Edit
                                    
                                        'Dados do Mapa'
                                    If rsMapa.RecordCount = 0 Then
                                        'se não tiver registros, não faz mais nada
                                       Else
                                        ![Status] = Nz(rsMapa!Status, "")
                                        ![Modelo] = Nz(rsMapa!ModeloSimpress, "")
                                        ![Fila] = Nz(rsMapa!Fila, "")
                                        ![Empresa] = Nz(rsMapa!Empresa, "")
                                        ![PlantaInstalada] = Nz(rsMapa!PlantaInstalada, "")
                                        ![LocalInstalacao] = Nz(rsMapa!LocalInstalacao, "")
                                        ![Ramal] = Nz(rsMapa!Ramal, "")
                                        ![Horario] = Nz(rsMapa!Horario, "")
                                        ![Rua] = Nz(rsMapa!RuaRef, "")
                                        ![DeptoAlmox] = Nz(rsMapa!DEPARTAMENTO, "")
                                        ![Contrato] = Nz(rsMapa!Contrato, "")
                                     End If
                                    
                                        'Dados do Contador'
                                        If rsFleet.RecordCount = 0 Then
                                            ![VidaUtilToner] = 0
                                            ![ContFinal] = 0
                                            'se não tiver registros, não faz mais nada
                                        Else
                                            If IsNumeric(rsFleet!TonerPretoPorcentagem) Then
                                                ![VidaUtilToner] = Nz(rsFleet!TonerPretoPorcentagem, "")
                                            Else
                                                ![VidaUtilToner] = "<Sem Suporte>"
                                            End If
                                            
                                            If IsNumeric(rsFleet!NumerodePaginas) Then
                                                ![ContFinal] = Nz(rsFleet!NumerodePaginas, "")
                                            Else
                                                ![ContFinal] = "0"
                                            End If
                                            
                                        End If
                                        
                                        'Dados do Papel'
                                        If rsPapel.RecordCount = 0 Then
                                           ![Media] = 0
                                           ![A4] = 0
                                            'se não tiver registros, não faz mais nada
                                        Else
                                            If IsNumeric(rsPapel!Media) Then
                                                ![Media] = Nz(rsPapel!Media, "")
                                            Else
                                                ![Media] = "0"
                                            End If
                                            
                                            If IsNumeric(rsPapel!A4Resma) Then
                                                ![A4] = Nz(rsPapel!A4Resma, "")
                                            Else
                                                ![A4] = "0"
                                            End If
                                            
                                            '![A3] = IIf(IsNull(rsPapel!A3Media), "", rsPapel!A3Media)
                                        End If
                                        
                                        'Fórmulas'
                                        ContadorInicialAtual = Val(Nz(![ContInicial], 0))
                                        ContadorFinalAtual = Val(Nz(![ContFinal], 0))
                                        ![Producao] = Val(Nz(ContadorFinalAtual, 0)) - Val(Nz(ContadorInicialAtual, 0))
                                        ![Estoque] = (Val(Nz(![A4], 0)) * 500) - Val(Nz(![Estoque], 0))
                                        
                                        If Val(![VidaUtilToner]) <= 5 Then
                                            ![MandarToner] = "Mandar Toner"
                                        Else
                                            ![MandarToner] = "Toner OK"
                                        End If
                                        
                                        ![Competencia] = configCompetencia
                                                          
                                    .Update
                                     'atualiza o form, á medida que vai alterando
                                        Me.Repaint
                                .MoveNext
                            Wend
                        End If
                        .Close
                    End With
                    
    ExitSub:
                 DoCmd.Hourglass False
                    If Not rsRota Is Nothing Then
                        Set rsRota = Nothing
                    End If
                        MsgBox "A tabela de Rota foi atualizada com sucesso."
                        Exit Sub
    ErrorHandler:
                Dim Msg$
                 DoCmd.Hourglass False
                    If err.Number <> 0 Then
                       Msg = "Erro # " & Str(err.Number) & " gerado na " & err.Source _
                        & vbNewLine & vbNewLine & "Descrição: " & err.Description _
                        & vbNewLine & vbNewLine & "Por favor contate o Administrador do Sistema."
                    MsgBox Msg, vbMsgBoxHelpButton + vbCritical, "Erro", err.HelpFile, err.HelpContext
                    Else
                        Resume ExitSub
                    End If
                    
        Else
            MsgBox "Atualização Cancelada."
        End If
    End Sub

    Poderiam me orientar o que estou fazendo de errado?
    Obrigado!!


    Última edição por alantaru em 29/11/2022, 15:32, editado 1 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty Re: [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  Alexandre Fim 28/11/2022, 14:32

    Olá Isaac,

    Verifique a ocorrência abaixo:
    [Resolvido]Erro 3601 - Parâmetros Insuficientes Rota10


    OBS: No código, os recordset's abaixos foram abertos, porém, não foram fechados e nem descarregados da memória, o que pode gerar erro também.

    - rsMapa
    - rsFleet
    - rsPapel


    É isso

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Setinf11
    Sistemas e Tecnologia Ltda
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty Re: [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  alantaru 28/11/2022, 18:18

    Boa tarde.

    Fiz as alterações conforme orientado, porém o erro persiste.
    Inseri alguns msgbox pra ver onde o ocorria o erro(já removidos),  e continua parando na instrução abaixo:

    Código:
    Set rsMapa = CurrentDb.OpenRecordset(SqlMapaAtual)


    Segue código modificado:

    Código:
    Private Sub cmdAtualizarDadosRota_Click()
        Dim resultado As VbMsgBoxResult
        resultado = MsgBox("Este processo pode demorar alguns minutos. Tem certeza que deseja atualizar o banco de dados da Rota?", vbYesNo, "Atualizar Rota Proativa")
        If resultado = vbYes Then
                    
                    On Error GoTo ErrorHandler
                    
                    Dim SerieAtual As String
                    Dim ContadorInicialAtual As String
                    Dim ContadorFinalAtual As String
                    Dim rsRota As DAO.Recordset, strSQL As String 'Rota
                    Dim rsMapa As DAO.Recordset, SqlMapaAtual As String 'Mapa
                    Dim rsFleet As DAO.Recordset, SqlFleetAtual As String 'Contador Fleet
                    Dim rsPapel As DAO.Recordset, SqlPapelAtual As String  'Papel
                    Dim db As DAO.Database
                    
                'apulheta de espera no mouse
                DoCmd.Hourglass True
                
                    strSQL = "SELECT * FROM tabRota;"
                    
                    Set db = CurrentDb
                    
                    Set rsRota = db.OpenRecordset(strSQL)
                    
                'se não existirem registros na tabela rota, morre aqui
                If rsRota.RecordCount = 0 Then DoCmd.Hourglass False: Exit Sub
                
                    With rsRota
                        If Not .BOF And Not .EOF Then
                            .MoveLast
                            .MoveFirst
                            While (Not .EOF)
                
                                SerieAtual = Forms![frmRota]![Serie] 'pega a serie atual
                                SqlMapaAtual = "SELECT Serie, Status, ModeloSimpress, Fila, Empresa, PlantaInstalada, LocalInstalacao, RAMAL, Horario, RuaRef, DEPARTAMENTO, Contrato FROM Mapa WHERE Serie='" & SerieAtual & "';"
                                SqlFleetAtual = "SELECT Serie, NumerodePaginas, TonerPretoPorcentagem, ImpressoesTotalemPreto, ImpressoesTotalColoridas FROM Contador WHERE Serie='" & SerieAtual & "';"
                                SqlPapelAtual = "SELECT Serie, TotalFv, A4Resma, Media FROM Papel WHERE Serie='" & SerieAtual & "';"
                                Set rsMapa = CurrentDb.OpenRecordset(SqlMapaAtual)
                                Set rsFleet = CurrentDb.OpenRecordset(SqlFleetAtual)
                                Set rsPapel = CurrentDb.OpenRecordset(SqlPapelAtual)
                
                                    .Edit
                                    
                                        'Dados do Mapa'
                                    If rsMapa.RecordCount = 0 Then
                                        'se não tiver registros, não faz mais nada
                                       Else
                                        ![Status] = Nz(rsMapa!Status, "")
                                        ![Modelo] = Nz(rsMapa!ModeloSimpress, "")
                                        ![Fila] = Nz(rsMapa!Fila, "")
                                        ![Empresa] = Nz(rsMapa!Empresa, "")
                                        ![PlantaInstalada] = Nz(rsMapa!PlantaInstalada, "")
                                        ![LocalInstalacao] = Nz(rsMapa!LocalInstalacao, "")
                                        ![Ramal] = Nz(rsMapa!Ramal, "")
                                        ![Horario] = Nz(rsMapa!Horario, "")
                                        ![Rua] = Nz(rsMapa!RuaRef, "")
                                        ![DeptoAlmox] = Nz(rsMapa!DEPARTAMENTO, "")
                                        ![Contrato] = Nz(rsMapa!Contrato, "")
                                     End If
                                    
                                        'Dados do Contador'
                                        If rsFleet.RecordCount = 0 Then
                                            ![VidaUtilToner] = 0
                                            ![ContFinal] = 0
                                            'se não tiver registros, não faz mais nada
                                        Else
                                            If IsNumeric(rsFleet!TonerPretoPorcentagem) Then
                                                ![VidaUtilToner] = Nz(rsFleet!TonerPretoPorcentagem, "")
                                            Else
                                                ![VidaUtilToner] = "<Sem Suporte>"
                                            End If
                                            
                                            If IsNumeric(rsFleet!NumerodePaginas) Then
                                                ![ContFinal] = Nz(rsFleet!NumerodePaginas, "")
                                            Else
                                                ![ContFinal] = "0"
                                            End If
                                            
                                        End If
                                        
                                        'Dados do Papel'
                                        If rsPapel.RecordCount = 0 Then
                                           ![Media] = 0
                                           ![A4] = 0
                                            'se não tiver registros, não faz mais nada
                                        Else
                                            If IsNumeric(rsPapel!Media) Then
                                                ![Media] = Nz(rsPapel!Media, "")
                                            Else
                                                ![Media] = "0"
                                            End If
                                            
                                            If IsNumeric(rsPapel!A4Resma) Then
                                                ![A4] = Nz(rsPapel!A4Resma, "")
                                            Else
                                                ![A4] = "0"
                                            End If
                                            
                                            '![A3] = IIf(IsNull(rsPapel!A3Media), "", rsPapel!A3Media)
                                        End If
                                        
                                        'Fórmulas'
                                        ContadorInicialAtual = Val(Nz(![ContInicial], 0))
                                        ContadorFinalAtual = Val(Nz(![ContFinal], 0))
                                        ![Producao] = Val(Nz(ContadorFinalAtual, 0)) - Val(Nz(ContadorInicialAtual, 0))
                                        ![Estoque] = (Val(Nz(![A4], 0)) * 500) - Val(Nz(![Estoque], 0))
                                        
                                        If Val(![VidaUtilToner]) <= 5 Then
                                            ![MandarToner] = "Mandar Toner"
                                        Else
                                            ![MandarToner] = "Toner OK"
                                        End If
                                        
                                        ![Competencia] = configCompetencia
                                                          
                                    .Update
                                     'atualiza o form, á medida que vai alterando
                                        Me.Repaint
                                .MoveNext
                            Wend
                        End If
                        .Close
                    End With
                    
    ExitSub:
                 DoCmd.Hourglass False
                    If Not rsRota Is Nothing Then
                        Set rsRota = Nothing
                    End If
                    If Not rsMapa Is Nothing Then
                        Set rsMapa = Nothing
                    End If
                    If Not rsFleet Is Nothing Then
                        Set rsFleet = Nothing
                    End If
                    If Not rsPapel Is Nothing Then
                        Set rsPapel = Nothing
                    End If
                        MsgBox "A tabela de Rota foi atualizada com sucesso."
                        Exit Sub
    ErrorHandler:
                Dim Msg$
                 DoCmd.Hourglass False
                    If err.Number <> 0 Then
                       Msg = "Erro # " & Str(err.Number) & " gerado na " & err.Source _
                        & vbNewLine & vbNewLine & "Descrição: " & err.Description _
                        & vbNewLine & vbNewLine & "Por favor contate o Administrador do Sistema."
                    MsgBox Msg, vbMsgBoxHelpButton + vbCritical, "Erro", err.HelpFile, err.HelpContext
                    Else
                        Resume ExitSub
                    End If
                    
        Else
            MsgBox "Atualização Cancelada."
        End If
    End Sub
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty Re: [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  Alexandre Fim 28/11/2022, 19:54

    Isaac,
    É necessário debugar o código para ver em qual linha está dando o erro.
    Para ficar mais fácil e rápido de resolver, se possível, envie uma cópia do seu BD para análise e solução do problema.

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Setinf11
    Sistemas e Tecnologia Ltda
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty Re: [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  alantaru 28/11/2022, 22:55

    Pois não, amigo!

    Segue o link do BD.

    Banco de Dados

    (o botão e o código estão no formulário frmRota)


    Última edição por alantaru em 29/11/2022, 11:12, editado 1 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty Re: [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  Alexandre Fim 29/11/2022, 07:15

    Isaac,

    Substitua o código do botão de comando por esse:

    Código:


    Private Sub cmdAtualizarDadosRota_Click()
    On Error GoTo trata_erro

    Dim resultado As VbMsgBoxResult
    Dim SerieAtual As String
    Dim ContadorInicialAtual As String
    Dim ContadorFinalAtual As String
    Dim rsRota As DAO.Recordset, strSQL As String 'Rota
    Dim rsMapa As DAO.Recordset, SqlMapaAtual As String 'Mapa
    Dim rsFleet As DAO.Recordset, SqlFleetAtual As String 'Contador Fleet
    Dim rsPapel As DAO.Recordset, SqlPapelAtual As String  'Papel
    Dim db As DAO.Database
        
        
        
        resultado = MsgBox("Este processo pode demorar alguns minutos." & vbCrLf & _
                           "Tem certeza que deseja atualizar o banco de dados da Rota?", vbQuestion + vbYesNo, "Atualizar Rota Proativa")
        
        '-- Se não prosseguir com a atualização, morre aqui! -----
        If resultado = vbNo Then
            MsgBox "Atualização cancelada!!!", vbExclamation, "Atualizar Rota Proativa"
            Exit Sub
        End If
        '----------------------------------------------------------
                    
        'apulheta de espera no mouse
        DoCmd.Hourglass True
        
        strSQL = "SELECT * FROM tabRota ORDER BY Serie ASC;"
        
        Set db = CurrentDb
        
        Set rsRota = db.OpenRecordset(strSQL)
        
        'se não existirem registros na tabela rota, morre aqui
        If rsRota.RecordCount = 0 Then
            DoCmd.Hourglass False
            Exit Sub
        End If
                    
                
        With rsRota
            Do While Not .EOF
                SerieAtual = Forms![frmRota]![Serie] 'pega a serie atual
                '-- Ajuste na Instrução SQL - Campos com nomes incorretos - by Alexandre Fim -------
                'SqlMapaAtual = "SELECT Serie, Status, ModeloSimpress, Fila, Empresa, Planta Instalada, LocalInstalacao, RAMAL, Horario, RuaRef, DEPARTAMENTO, Contrato FROM Mapa WHERE Serie='" & SerieAtual & "';"
                SqlMapaAtual = "SELECT Serie, Status, [Modelo Simpress], Fila, Empresa, PlantaInstalada, [Local Instalacão], RAMAL, Horario, [Rua / Ref], DEPARTAMENTO, [Contrato ] AS ContratoMapa "
                SqlMapaAtual = SqlMapaAtual & " FROM Mapa "
                SqlMapaAtual = SqlMapaAtual & " WHERE Serie='" & SerieAtual & "';"
                '--------------------------------------------------
                SqlFleetAtual = "SELECT Serie, NumerodePaginas, TonerPretoPorcentagem, ImpressoesTotalemPreto, ImpressoesTotalColoridas FROM Contador WHERE Serie='" & SerieAtual & "';"
                SqlPapelAtual = "SELECT Serie, TotalFv, A4Resma, Media FROM Papel WHERE Serie='" & SerieAtual & "';"
                Set rsMapa = CurrentDb.OpenRecordset(SqlMapaAtual)
                Set rsFleet = CurrentDb.OpenRecordset(SqlFleetAtual)
                Set rsPapel = CurrentDb.OpenRecordset(SqlPapelAtual)
                
                .Edit
                
                'Dados do Mapa'
                If rsMapa.RecordCount > 0 Then
                    ![Status] = Nz(rsMapa!Status, "")
                    ![Modelo] = Nz(rsMapa![Modelo Simpress], "")
                    ![Fila] = Nz(rsMapa!Fila, "")
                    ![Empresa] = Nz(rsMapa!Empresa, "")
                    ![PlantaInstalada] = Nz(rsMapa!PlantaInstalada, "")
                    ![LocalInstalacao] = Nz(rsMapa![Local Instalacão], "")
                    ![Ramal] = Nz(rsMapa!Ramal, "")
                    ![Horario] = Nz(rsMapa!Horario, "")
                    ![Rua] = Nz(rsMapa![Rua / Ref], "")
                    ![DeptoAlmox] = Nz(rsMapa!DEPARTAMENTO, "")
                    ![Contrato] = Nz(rsMapa!ContratoMapa, "")
                End If
            
                'Dados do Contador'
                If rsFleet.RecordCount = 0 Then
                    ![VidaUtilToner] = 0
                    ![ContFinal] = 0
                'se não tiver registros, não faz mais nada
                Else
                    If IsNumeric(rsFleet!TonerPretoPorcentagem) Then
                        ![VidaUtilToner] = Nz(rsFleet!TonerPretoPorcentagem, "")
                    Else
                        ![VidaUtilToner] = "<Sem Suporte>"
                    End If
                    If IsNumeric(rsFleet!NumerodePaginas) Then
                        ![ContFinal] = Nz(rsFleet!NumerodePaginas, "")
                    Else
                        ![ContFinal] = "0"
                    End If
                End If
                
                'Dados do Papel'
                If rsPapel.RecordCount = 0 Then
                    ![Media] = 0
                    ![A4] = 0
                'se não tiver registros, não faz mais nada
                Else
                    If IsNumeric(rsPapel!Media) Then
                        ![Media] = Nz(rsPapel!Media, "")
                    Else
                        ![Media] = "0"
                    End If

                    If IsNumeric(rsPapel!A4Resma) Then
                        ![A4] = Nz(rsPapel!A4Resma, "")
                    Else
                        ![A4] = "0"
                    End If
                '![A3] = IIf(IsNull(rsPapel!A3Media), "", rsPapel!A3Media)
                End If
                
                'Fórmulas'
                ContadorInicialAtual = Val(Nz(![ContInicial], 0))
                ContadorFinalAtual = Val(Nz(![ContFinal], 0))
                
                ![Producao] = Val(Nz(ContadorFinalAtual, 0)) - Val(Nz(ContadorInicialAtual, 0))
                ![Estoque] = (Val(Nz(![A4], 0)) * 500) - Val(Nz(![Estoque], 0))
                
                If Val(![VidaUtilToner]) <= 5 Then
                    ![MandarToner] = "Mandar Toner"
                Else
                    ![MandarToner] = "Toner OK"
                End If
                
                ![Competencia] = configCompetencia
                
                '-- Atualiza registro
                .Update
                
                'atualiza o form, á medida que vai alterando
                Me.Repaint
                
                .MoveNext
            Loop
        End With
                    
        DoCmd.Hourglass False
        
        '-- Executa função para fechar recordset e limpar memória -----------
        Call fncCloseRST(rsRota)
        Call fncCloseRST(rsMapa)
        Call fncCloseRST(rsFleet)
        Call fncCloseRST(rsPapel)
        '--------------------------------------------------------------------
        
        MsgBox "A tabela de Rota foi atualizada com sucesso.", vbInformation, "Atualizar Rota Proativa"
        
        Exit Sub


    trata_erro:
        Dim Msg$
        DoCmd.Hourglass False
        
        If err.Number <> 0 Then
            Msg = "Erro # " & Str(err.Number) & " gerado na " & err.Source _
            & vbNewLine & vbNewLine & "Descrição: " & err.Description _
            & vbNewLine & vbNewLine & "Por favor contate o Administrador do Sistema."
            MsgBox Msg, vbMsgBoxHelpButton + vbCritical, "Erro", err.HelpFile, err.HelpContext
        End If
                    
    End Sub



    Em um módulo qualquer, copie e cole a função abaixo:

    Código:

    Public Function fncCloseRST(nRst As DAO.Recordset)

        If Not nRst Is Nothing Then
            nRst.Close
            Set nRst = Nothing
        End If

    End Function



    OBSERVAÇÕES:
    - É necessário NORMALIZAR as tabelas para manter padrão de Tipos e Tamanhos de campos.
    - Campos com nomenclatura inadequada, que foram justamente eles que estavam gerando erro no código.
       Exemplo:

       "Modelo Simpress" >> campo com espaço separando
       "Rua / Ref" >> campo com espaço e caracter especial "/", utilizados em expressões e cálculos (Sinal de Divisão)
       "Obs: Locacão" >> campo com espaço e caracter especial ":"
       "Contrato " >> campo com espaço no final


    Acredito que irá funcionar.

    Boa sorte

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Setinf11
    Sistemas e Tecnologia Ltda
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty Re: [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  alantaru 29/11/2022, 11:20

    Obrigado pela resposta!

    Consegui Solucionar!

    Muitíssimo obrigado!!!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty Re: [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  Alexandre Fim 29/11/2022, 15:35

    Valeu Isaac,
    O fórum agradece!!
    Sucesso!!


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Erro 3601 - Parâmetros Insuficientes Setinf11
    Sistemas e Tecnologia Ltda

    Conteúdo patrocinado


    [Resolvido]Erro 3601 - Parâmetros Insuficientes Empty Re: [Resolvido]Erro 3601 - Parâmetros Insuficientes

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 11:19