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

    Banco Access em rede lento e travando

    avatar
    israelcomex
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 41
    Registrado : 12/05/2017

    Banco Access em rede lento e travando Empty Banco Access em rede lento e travando

    Mensagem  israelcomex 30/9/2018, 16:15

    Bom dia!

    Criei um banco para lançamento de dados com parâmetros em VBA, porém sou iniciante. após algum tempo de utilização começou a ficar lento e travando em alguns momentos. Vi algumas postagens e me chamou atenção a do amigo Damasceno Jr, no qual utiliza tabelas temporárias para resolver o problema, fiquei esperançoso quando vi, e até tentei recriar o modelo, mas como disse meu conhecimento em VBA é quase zero, por isso estou com muita dificuldade de fazer funcionar... muita mesmo!!!   Laughing  
    Poderiam me ajudar por favor?!

    Sobre o Banco: trabalho com Front End em cada máquina e Back End que está na rede
    Disponibilizei no link a seguir:
    dropbox.com/s/h2jbe2qgv0b6c8x/PastaSevidorBackEnd.zip?dl=1

    Obs. Usei o App que está na pasta PastaServidorBackEnd, subpasta "Nova_Versão".

    Orbigado pela atenção.
    José Machado
    José Machado
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 108
    Registrado : 13/09/2016

    Banco Access em rede lento e travando Empty Re: Banco Access em rede lento e travando

    Mensagem  José Machado 2/10/2018, 13:57

    Bom dia Amigo

    Olhei seu sistema, e o problema é acoplamento das tabelas.
    *Sugiro troca do tipo de conexão para adodb ou dao

    Att
    José Machado
    avatar
    israelcomex
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 41
    Registrado : 12/05/2017

    Banco Access em rede lento e travando Empty Re: Banco Access em rede lento e travando

    Mensagem  israelcomex 2/10/2018, 23:28

    Olá Jose tudo bem,

    Obrigado pelo retorno. Pode me explicar como faço a alteração? Ainda estou estudando sobre.

    Vlw.
    José Machado
    José Machado
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 108
    Registrado : 13/09/2016

    Banco Access em rede lento e travando Empty Re: Banco Access em rede lento e travando

    Mensagem  José Machado 3/10/2018, 14:35

    Bom dia israelcomex


    Pra melhorar o desempenho em rede, você pode fazer quase tudo desvinculado.
    O problema são os relatórios, que de modo prático, não funcionam desvinculados.


    ex: crie um módulo de classe com o nome cls_conexao e adicione este código abaixo


    Código:
    'Importe a Referencia Microsoft Activex Data Objets 2.8 Library
    Private conexao As ADODB.Connection
    Private conexao_string As String

    Public record_set As ADODB.Recordset
       
    Private Sub Initialize()
        Dim database_provider As String
        Dim database_local As String
        Dim database_nome As String
        Dim database_usuario As String
        Dim database_senha As String
       
        database_provider = "Microsoft.ACE.OLEDB.12.0" ' Driver para o banco de dados com extensão .accdb
        'database_local = "" 'Local onde está o banco de dados, ex: C:/
        database_local = "" & CurrentProject.Application.CurrentDb.Name 'como o banco está dentro do projeto
        database_nome = "" 'Nome do arquivo do banco de dados, ex: Data_Base.accdb
        database_usuario = "" 'Usuário do banco de dados, caso você tenha colocado usuário
        database_senha = "" 'Senha para acesso ao banco de dados caso tenha colocado senha
       
        conexao_string = "Provider = " & database_provider & _
        ";Data Source = " & database_local + database_nome & _
        ";USER ID = " & database_usuario & _
        ";PASSWORD = " & database_senha & ";" ' essa é a string da conexao
       
        'instancia o objeto da conexao
        Set conexao = New ADODB.Connection
            conexao.CursorLocation = adUseClient
       
    End Sub
    'Abre a conexao
    Public Sub conexao_abrir()
        On Error GoTo erro
            Initialize
            conexao.Open conexao_string
        Exit Sub
    erro:
        MsgBox "Falha ao abrir a conexao" & Error
    End Sub
    'Fecha a conexao
    Public Sub conexao_fechar()
        On Error GoTo erro
            conexao.Close
            Set conexao = Nothing
        Exit Sub
    erro:
        MsgBox "Falha ao fechar a conexao" & Error
    End Sub
    'Executa a query do tipo INSERT,DELETE, UPDATE
    Public Sub executar_nonquery(query As String)
        On Error GoTo erro
            Set record_set = New ADODB.Recordset
                conexao_abrir
                conexao.Execute (query)
                record_set.Open query, conexao, adOpenStatic, adLockOptimistic
            Set record_set = Nothing
            conexao_fechar
        Exit Sub
    erro:
        MsgBox "Falha ao executar a query" & Error
    End Sub
    'Executa a query do tipo READ/SELECT
    Public Sub executar_recordset(query As String)
    On Error GoTo erro
        Set record_set = New ADODB.Recordset
            record_set.Open query, conexao, adOpenStatic, adLockReadOnly
    Exit Sub
    erro:
        MsgBox "Falha ao executar o record_set" & Error
    End Sub
    'Fecha o SELECT e a conexao
    Public Sub fechar_record_set()
        On Error GoTo erro
            record_set.Close
            Set record_set = Nothing
            conexao_fechar
        Exit Sub
    erro:
        MsgBox "Falha ao fechar o record_set" & Error
    End Sub


    Depois você chama esta classe nos módulos de classe, módulos, formulários e relatórios, ex:
    Para preencher uma lista;
    Código:
    Private conexao As New Cls_Conexao_ADODB ' instancia o objeto da classe conexão

    Private Sub Form_Load()
        preencher_lista_Adodb 'chama o método quando carrega o furmulário
    End Sub

    Sub preencher_lista_Adodb()
        Dim query As String ' variavel tipo String
       
        query = "SELECT * FROM lista" 'atribui os parametros da consulta
       
        On Error GoTo erro
        conexao.conexao_abrir 'abre a conexao
       
        conexao.executar_recordset (query) 'executa a instrução sql
       
        With Me.lista_adodb 'nome da lista no formulario
            .ColumnCount = 2 ' 2 colunas
            .ColumnWidths = "3cm;5cm" ' largura das colunas
            Set .Recordset = Nothing 'limpa a lista
            Set .Recordset = conexao.record_set 'preenche a lista com os dados da conexao
        End With
        conexao.fechar_record_set ' fecha o record_set e a conexao
        Exit Sub
    End Sub


    Com esses códigos, dá para desacoplar as tabelas dos formulários.
    Qualquer coisa, pergunte pelo Zap: +55 013 99672-1583 


    Att
    José Machado
    José Machado
    José Machado
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 108
    Registrado : 13/09/2016

    Banco Access em rede lento e travando Empty Re: Banco Access em rede lento e travando

    Mensagem  José Machado 4/10/2018, 13:03

    Amigo

    Segue pacote com os dados VBA

    Att
    José
    Anexos
    Banco Access em rede lento e travando AttachmentCheckWeight.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (946 Kb) Baixado 59 vez(es)

    Conteúdo patrocinado


    Banco Access em rede lento e travando Empty Re: Banco Access em rede lento e travando

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 21:05