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


    MSAcces em rede - Desempenho

    avatar
    eliabeabreu
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 06/11/2015

    MSAcces em rede - Desempenho Empty MSAcces em rede - Desempenho

    Mensagem  eliabeabreu 16/3/2017, 11:02

    Bom dia a todos, tenho uma aplicação em Access 2010 rodando na minha empresa, ela controla várias coisas, desde padrões de preenchimento (templates) a controle de atendimento.
    Eu estava tendo vários problemas pois a quantidade de usuários simultâneos é de 20-30 pessoas.

    Migrar para MySql não é uma opção pois é uma empresa grande e não podemos rodar SGBD na rede por politicas segurança da informação.
    Porém o access esta permitido (mesmo sendo um SGBD) por ser uma aplicação office.

    Para melhorar, eu refiz várias coisas, diminui a quantidade de pesquisas e estou usando o BD numa pasta de rede e a aplicação access fica local no PC dos usuários, as tabelas estão vinculadas a esse BD da rede.

    Após usar dessa forma, tabelas vinculadas o desempenho melhorou, mas acho que minha programação ainda esta defasada.
    Li num tópico aqui que não é bom usar funções de domínio (começadas em D).
    Então o que eu queria é, exemplos de funções que substituam as de domínio, não achei isso.

    Como substituir: Dlookup, Dlast, Dsoma, etc... Poderiam me passar um material de estudo?
    avatar
    eliabeabreu
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 06/11/2015

    MSAcces em rede - Desempenho Empty Re: MSAcces em rede - Desempenho

    Mensagem  eliabeabreu 17/3/2017, 13:37

    Ainda não encontrei solução para todas funções, mas achei para a principal.
    Passando a usar consulta SQL no lugar do DLOOKUP.

    Para consultas que volta apenas 1 valor
       sSql = "SELECT * FROM [TABELA] WHERE [CONDIÇÃO]"
       Dim db As Database
       Set db = CurrentDb
       Set rs = db.OpenRecordset(sSql)
       If (rs.EOF = False) Then RESULTADO = rs.[CAMPO_DA_TABELA]

    Para consultas que voltam vários valores
       sSql = "SELECT * FROM [TABELA] WHERE [CONDIÇÃO]"
       Dim db As Database
       Set db = CurrentDb
       Set rs = db.OpenRecordset(sSql)
       Do While Not rs.EOF
           RESULTADO(contador) = rs.[CAMPO_DA_TABELA]
           rs.MoveNext
       Loop

      Data/hora atual: 22/11/2024, 14:22