Hoje deixo um exemplo de como fazer uma consulta trabalhar sem dados cadastrados em tabelas. Imagina a situação: você possui um aplicativo que exibe imagens desvinculadas dos formulários. Essas imagens são exibidas por código, buscando-as direto na pasta do aplicativo. Você decidiu não armazenar o caminho delas em tabela para não aumentar o tamanho do aplicativo sem necessidade, porque são milhares de imagens. Mas acontece que muitos registros não contem uma imagem associada na pasta do aplicativo e chega um momento em que você quer ter uma lista desses registros órfãos de imagens. Se você tivesse o caminho da imagem gravado na tabela, seria fácil construir uma consulta que buscasse as imagens inexistentes, certo? Bem, aqui eu criei um módulo com uma função que faz isso sem a necessidade de ter o caminho gravado em tabela. O aplicativo contem apenas um módulo e uma consulta. Estude como isso foi feito.
Ainda no campo da interação entre função e outros elementos do aplicativo, vamos usar uma função para inserir imagens em controle imagens de um formulário contínuo. Todos sabem que é meio complicado fazer isso pelas vias normais, uma vez que em formulários contínuos os controles se replicam nas linhas do mesmo e, portando, se definirmos uma imagem para o controle como faríamos em um formulário simples, essa imagem se repetirá em todas as linhas. Aqui vamos usar uma função que será referenciada na linha "Fonte do Controle", na guia "Dados", do controle imagem. Observe no formulário frmImagens essa referência no referido campo e observe, no módulo vba do formulário, a função.
Segue anexo cópia do aplicativo em 2007 e 2002/2003. O recurso das imagens no suboformulário, no entando, só funciona no 2007, pois as versões anteriores não dispõem desse recurso de definir a imagem do controle na fonte do mesmo, nas suas propriedades.
No 2007, basta criar uma função dentro do vba do formulário e, na fonte do controle, fazer referência à essa função. Observe isso em ação no formulário frmImagens, que é o formulário em modo contínuo que carrega a lista de imagens.
Para quem possui apenas o 2002 ou 2003, tem uma imagem de nome Preview.jpg para ver como fica o efeito. Todo o resto funciona perfeitamente em ambas versões.
RECURSOS DESSE EXEMPLO:
→ Interação entre consulta e módulo;
→ Interação entre formulário contínuo e função;
→ Carregamento de imagens em formulário contínuo;
→ Objeto "Caixa de diálogo" para buscar imagem no disco;
→ Função para verificar se a imagem já existe na pasta do aplicativo;
→ Função que faz uma cópia da imagem escolhida na pasta do aplicativo;
→ Função que pergunta se quer excluir a imagem original copiada para a pasta do aplicativo;
→ Função que deleta a imagem original caso a reposta para a pergunta anterior tenha sido Sim;
→ Tem ainda formas de consultar um registro pelo código ou palavras na lista do subformulário.
Você que é programador iniciante, estude os módulos com atenção. Os mesmos não estão documentados, mas basta você traduzir os nomes em inglês para entender o que cada coisa faz.
Link: https://www.dropbox.com/s/3v61c9qoazlll1m/SubformsComImagens.zip
Ainda no campo da interação entre função e outros elementos do aplicativo, vamos usar uma função para inserir imagens em controle imagens de um formulário contínuo. Todos sabem que é meio complicado fazer isso pelas vias normais, uma vez que em formulários contínuos os controles se replicam nas linhas do mesmo e, portando, se definirmos uma imagem para o controle como faríamos em um formulário simples, essa imagem se repetirá em todas as linhas. Aqui vamos usar uma função que será referenciada na linha "Fonte do Controle", na guia "Dados", do controle imagem. Observe no formulário frmImagens essa referência no referido campo e observe, no módulo vba do formulário, a função.
Segue anexo cópia do aplicativo em 2007 e 2002/2003. O recurso das imagens no suboformulário, no entando, só funciona no 2007, pois as versões anteriores não dispõem desse recurso de definir a imagem do controle na fonte do mesmo, nas suas propriedades.
No 2007, basta criar uma função dentro do vba do formulário e, na fonte do controle, fazer referência à essa função. Observe isso em ação no formulário frmImagens, que é o formulário em modo contínuo que carrega a lista de imagens.
Para quem possui apenas o 2002 ou 2003, tem uma imagem de nome Preview.jpg para ver como fica o efeito. Todo o resto funciona perfeitamente em ambas versões.
RECURSOS DESSE EXEMPLO:
→ Interação entre consulta e módulo;
→ Interação entre formulário contínuo e função;
→ Carregamento de imagens em formulário contínuo;
→ Objeto "Caixa de diálogo" para buscar imagem no disco;
→ Função para verificar se a imagem já existe na pasta do aplicativo;
→ Função que faz uma cópia da imagem escolhida na pasta do aplicativo;
→ Função que pergunta se quer excluir a imagem original copiada para a pasta do aplicativo;
→ Função que deleta a imagem original caso a reposta para a pergunta anterior tenha sido Sim;
→ Tem ainda formas de consultar um registro pelo código ou palavras na lista do subformulário.
Você que é programador iniciante, estude os módulos com atenção. Os mesmos não estão documentados, mas basta você traduzir os nomes em inglês para entender o que cada coisa faz.
Link: https://www.dropbox.com/s/3v61c9qoazlll1m/SubformsComImagens.zip
Última edição por criquio em 2/5/2017, 17:55, editado 1 vez(es) (Motivo da edição : Mudança no link de download)