quinta-feira, 18 de outubro de 2012

Evitar erros caros Microsoft Access Desenvolvimento de Software


Práticas da Microsoft melhor acesso e Dicas

Eu tenho programado em Microsoft Access para mais de 14 anos e de ter encontrado os seguintes itens mais importantes na criação do design de banco de dados melhor possível. Estes foram descobertos ser os principais itens que causaram desempenho lento, erros, dificuldades de usuários e de corrupção de dados. A violação de qualquer destas regras irá resultar em alguns problemas menores ou maiores. Aplicar layouts design uniforme para as formas. Isso vai ajudar com a curva de aprendizado para novos funcionários para a aplicação.

Para aumentar o desempenho de forma e cair lista de carga, usar consultas armazenadas para fontes de seu registro, porque eles já foram otimizados pelo Access. Nota: o assistente de formulário do Access criará Selecione instruções SQL para fontes de registro, e estes não são ideais.

Usar regras de validação para ajudar a evitar erros de entrada de dados, restringindo as informações que podem ser inseridos em um campo. Use uma caixa de mensagem ou área na tela para que o usuário saiba o que é necessário. Usando a propriedade do campo tag é uma maneira fácil de codificar o tipo (s) de validação as necessidades de cada campo, pode-se então loop através da coleção de campos para fazer as validações. Índice dos campos que você vai precisar para critérios de seleção em suas consultas e campos utilizados nas consultas que unem as tabelas, para aumentar a velocidade de desempenho.

Optimizar os tipos de dados para usar a menor quantidade de memória e de armazenamento e aumentar a velocidade de processamento.

Sempre coloque o tratamento de erros de código em suas rotinas para que você tenha o controle do que a lógica de aplicar. Um arquivo MDE irá parar a execução sem lhe dizer nada ou o seu usuário útil sobre o erro. Não use macros (que não permitem a interceptação de erro), exceto para os menus personalizados para o mesmo motivo.

Permitir que os usuários apenas uma cópia do arquivo do programa front-end de acesso, que contém tudo, mas os dados, nunca usando o arquivo de programa original front-end. Isto impede a possibilidade de corrupção imprevista. Sempre dividir o aplicativo de acesso entre um front-end e back-end (Data). Coloque o back-end de dados MDB na raiz do compartilhamento de rede, para leituras mais rápidas e escreve. Dados compactos back-end numa base regular. Isto irá verificar para ver se qualquer indexação tabela está corrompida também se quaisquer registros de dados são corruptos. Esta prática também reduz o tamanho do arquivo.

Atribuir uma pessoa, e na sua ausência um segundo, para fazer backup dos dados e armazená-lo para fora do local em uma base regular, sem sobrescrever o último backup. Quantas vezes você volta é determinado pela quantidade de dados que você está disposto a voltar a entrar e quanto tempo poderia ter ido por até a perda é detectada.

Quando a compactação, verifique se o seu subversão de acesso é atualizado por isso não há reedição de números auto anteriormente emitidas, e que você faça uma cópia de segurança do MDB original. Não use campos de memorando de tipo de dados em uma rede. Eles têm de indexação diferente que é muito mais susceptível a danificar durante a escrita de volta para o servidor. Em 14 anos, só tenho visto registro corrupção tabela nível de campos de memorando de tipo de dados. Usar uma forma do menu principal ou algum formulário de entrada de outros não-dados que é sempre mantida aberta e está ligada a uma tabela de aplicação pequena. Isto irá parar a abertura repetida e fechamento da LDB (arquivo bloqueio de registro) quando cada formulário é aberto feche antes de abrir uma outra forma. Isso vai evitar uma desaceleração mais de uma conexão de rede.

Use o campo número para a ligação de auto tabelas para tabelas dependentes crianças. Eles são difíceis para os usuários a modificar e oferecer um desempenho melhor indexação.

Use pesquisa listas suspensas para campos de texto, que armazenam o número de auto inteiro longo da tabela. Se os dados históricos é necessária em uma tabela de pesquisa, cujo texto é susceptível de alterar, garantir que o valor de texto na tabela de pesquisa é também armazenado na tabela principal, juntamente com a chave inteiro longo da tabela de consulta.

Em vez de usar uma chave multi-campo que impede que os registros duplicados, use o código para verificar se há um potencial de duplicar antes de permitir a criação de registro para continuar. Se automatizar outras partes do Microsoft Office, use a ligação tardia, assim você não tem que se preocupar com a versão do software do Office, como o Word, Excel ou Outlook, está sendo usado nas máquinas de mesa individuais.

Use o mesmo nome em ambos pai e filho tabela, ao usar um campo de número automático da tabela mestre ao longo campo inteiro correspondente na tabela filho dependente de adicionar em manutenção e compreensão das relações. Não use conjuntos de registros em um ambiente multi-usuário, a menos que o conjunto de registros é somente leitura instantâneo e não há atualizações que poderia entrar em conflito com a concorrência de outros usuários. Solução, enrole as atualizações em uma transação que após notifica falhas de conflitos de gravação e pediu ao usuário obter outros usuários fora antes de tentar novamente.

Aqui estão apenas alguns pontos mais importantes. Sempre use opção explícita no código VBA para garantir que não haja variáveis ​​não declaradas. Mantenha o seu Jet Engine versão 4.0 até à data. Em atualizações grande conjunto de discos, usar operações de conjunto de registros com BeginTrans e CommitTrans para acelerar atualizações conjunto de registros temporariamente armazená-los em um buffer de memória primeiro. Finalmente, evite direito junta-se em consultas, se possível para um desempenho menos que a lógica do programa ou negócio requer....

Nenhum comentário:

Postar um comentário