![]() |
Departamento de Informática |
Engenharia de Sistemas e Informática | |
|
Dicas sobre o Access
- Descubra a tecla Zoom
O Access tem o hábito de mostrar a informação em grelhas que apenas revelam parte do campo. Claro que pode ocupar o seu tempo a escolher o tamanho da letra e a largura das colunas, mas será melhor premir Shift/F2 para fazer zoom a um campo-o seu conteúdo será aberto numa janela separada, tornando-o muito mais fácil de alterar. Isto também funciona no Query, permitindo-lhe poupar a escrita de longas expressões num pequeno campo de Critérios.- Não guarde imagens como objectos OLE
A forma oficial de armazenar imagens em bases de dados do Access é através dos objectos OLE (Object Linking and Embedding). Embora seja algo fácil de fazer, há muitas desvantagens, como o fano de o tamanho da base de dados ser demasiado grande e o comportamento ser imprevisível em sistemas diferentes, para além dos problemas de acesso aos gráficos através de código. Será melhor manter as imagens como ficheiros externos, armazenando apenas um atalho na base de dados, usando assim o Controlo de Imagem para mostrar o gráfico num formulário. Se precisar de armazenar a própria imagem na base de dados, guarde-a como BLOB (Binary Large Object) em vez de um objecto OLE. Pode mostrá-lo apenas com a escrita de código que guarda a imagem como um ficheiro temporário antes de o mostrar num formulário. Um código exemplo encontra-se no Microsoft KnowledgeBase ou em toda a Internet. Neste caso, pode obter uma melhor performance se mantiver as imagens numa base de dados Microsoft (MDB) e fizer um link para a tabela.- Evite os nulos
Em teoria, os valores nulos são bons porque lhe permitem distinguir entre valores desconhecidos e vazios. Em muitos casos, estes últimos podem ser uma chatice. Para impedir o aparecimento de valores nulos num campo, abra o designer de tabelas. Para os campos de memória e de texto, dê como verdadeira a opção Allow Zero Length e o valor default para duas aspas (""). Para campos de outros tipos, assegure-se que existe um valor default. Repare que isto não vai alterar em nada o que já existia. Se tiver de trabalhar com valores nulos, use a função IsNull ou o critério especial IS NULL e IS NOT NULL no designer do questionário. No geral, se estiver a obter resultados inesperados no Query, os culpados são os valores nulos. Campos com valores como estes nunca serão seleccionados por um Query a não ser que os peça especificamente.- Faça pesquisa do tipo case-sensitive
O Access pode fazer pesquisas do tipo case sensitive através das funções StrComp() e InStr. Use StrComp para pesquisar num campo completo e InStr para apenas parte do campo.- Controle as macros do Start-up
Se der o nome AutoExec a uma macro, ela vai correr automaticamente quando a base de dados do Access é aberta. Se carregar em Shift a macro não será corrida. Mas, se quiser, pode impedir que o Shift faça o bypass do código de startup, bastando colocar a opção AllowbypassKey para «Falso». Infelizmente tem de fazer isto usando código Visual Basic, mas um exemplo completo pode ser encontrado na Ajuda On-line. Procure por AllowBypassKey.- Use subpesquisas no SQL
As subpesquisas do SQL são uma técnica muito poderosa para a manipulação de dados. Imagine que tem duas versões na mesma tabela e que quer adicionar linhas de uma para a outra, mas apenas quando elas não existirem. Assumindo que o campo de chave primária se chama ID, aqui temos o SQL: INSERT INTO artists
SELECT NewArtists.* FROM NewArtists WHERE NewArtists.Id Not In (select Artists.Id from Artists);- Uma técnica de recuperação não documentada
Está preso a uma base de dados corrompida? De acordo com a Microsoft, o modo descompilador não documentado para o Access 2000 pode reparar corrupções que qualquer ferramenta de reparação não consegue. Basca colocar no Access com a seguinte linha de comando: /decompile «dbname» em que «dbname» é o caminho completo para a sua base de dados. Pode fazê-lo através de um atalho, o que leva o Access a pensar que tem de alterar o formato binário. Antes de tentar esta ou outra tentativa de reparação, faça uma cópia de segurança da base de dados mestra (MDB) corrompida.- Separe os dados e os códigos
Se partilha uma base de dados Access, considere usar uma MDB para todos os formulários, relatórios, macros e codigo VBA, e uma outra para os dados. Use a opção Link Table para anexar as tabelas da base de dados a aplicações MDB. Agora, tem a opção de armazenar a aplicação MDB numa estação de trabalho, enquanto mantém os dados numa localização partilhada, o que aumenta a performance. O lado negativo é que, se quiser actualizar as aplicações, tem de substituir todas as cópias, usando um script de login.- Desfragmente antes de compactar
Poderá aumentar a performance da sua máquina desfragmentando o disco, ou recorrendo ao utilitário Compact and Repair do Access para optimizar uma MDB. Quando o fizer, é melhor desfragmentar o disco primeiro. Se compactar sem ter desfragmentado, é mais provável que a base de dadas fique rodeada por espaço usado do disco, tornando mais lento o acesso quando se adicionam dados.- Use a indexação com cuidado
Indexar uma coluna a uma determinada tabela aumenta a velocidade da pesquisa nessa mesma coluna, mas cada nova indexação que adiciona abranda a actualização da base de dados. Deste modo o valor de uma indexação depende de como os dados são usados.