Avelino Sampaio 10/5/2012, 18:07
Olá amigos! Obrigado pela excelente colaboração de vocês!
Bom, no meu artigo vou utilizar o RecordSource (risos) para o carregamento dos relatórios.
Como já havia mencionado, de todas as propostas aqui apresentadas, a que mais me agradou foi a de usar as tabelas, para então carregar os relatórios. No RecordSource será indicada a tabela e não a consulta.
Montar as tabelas e populalas está fora de cogitação, a não ser que ocorra uma situação especial. O que irei demonstrar é o uso das consultas(SQL) comuns, configuradas para criar consultas de ação "Geradora de Tabelas".
Entendeu? Vamos assim gerar as tabelas em tempo de execução. Ao abrir o relatório a tabela será criada, ao fechar o relatório a tabela será delatada.
Minha outra visão aqui é que devemos mensurar o tempo gasto no projeto e vejo nesta minha proposta, uma boa economia de tempo.
Todas as formas aqui apresentadas são válidas e vai depender do caso. Creio que para maioria dos relatórios a construção de tabelas em tempo de execução é um bom caminho.
Sobre a questão Segurança:
Se vc utiliza front-end desvinculado, preste atenção no seguinte:
1) Reveja suas funções PÚBLICAS, para não oferecer algum recurso importante ao invasor. Teste todas elas, chamando pela janela imediata e veja os resultados
2) Muito cuidado também com as variáveis públicas. É outra porta de acesso.
3) atento no uso do RecordSource dos seu relatórios.
4) Vamos supor que o invasor chegue ao seu Painel de Controle (isso é muito simples). Você terá que criar um defesa, dependendo do seu projeto, para que ele não cosiga abrir certos formulários e relatórios. Para isto sugiro este meu artigo:
http://www.usandoaccess.com.br/dicas/dica21.asp?id=1#inicio
5) Esconder tabelas locais é válido para dificultar invasores inesperientes. Não é garantia plena de segurança. Avalie bem os riscos! Se não tiver jeito, use então dados criptografados.
6) Neste caso, qualquer tabela vínculada usada vc perderá sua senha para o invasor.
Estou a disposição para mais testes.
Última edição por Avelino Sampaio em 10/5/2012, 20:01, editado 1 vez(es)