Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
00
1
Conteúdo
Apresentação................................................................................................................................................. 3
Compatibilidade ............................................................................................................................................ 4
Entenda as versões do componente ............................................................................................................ 4
Atualizações ................................................................................................................................................... 4
Suporte .......................................................................................................................................................... 5
Custo .............................................................................................................................................................. 5
Instalando o componente ............................................................................................................................. 6
Módulos e Funções: entenda o funcionamento ........................................................................................... 8
ADOCon ..................................................................................................................................................... 9
ADOConSeg.............................................................................................................................................. 11
Convert .................................................................................................................................................... 12
Cripto ....................................................................................................................................................... 12
Frm........................................................................................................................................................... 13
Mouse ...................................................................................................................................................... 14
Msg .......................................................................................................................................................... 15
Rede ......................................................................................................................................................... 16
Sound ....................................................................................................................................................... 17
Tratar ....................................................................................................................................................... 17
Valida ....................................................................................................................................................... 18
Wind ........................................................................................................................................................ 19
Prn............................................................................................................................................................ 20
System ..................................................................................................................................................... 20
Agradecimentos........................................................................................................................................... 22
Sobre a Kartoffel .......................................................................................................................................... 22
2
Apresentação
O componente VBA Access Collection , é uma coletânea dos melhores códigos para parametrização VBA
encontrados na internet, e reunidos aqui, em um só módulo.
Ele foi desenvolvido com o intuito de permitir que, extensas linhas de códigos VBA, muitas vezes
complexas, fossem parametrizadas de tal forma que permitisse ao programador Access, sua utilização
apenas na parametrização do comando, evitando assim a perda de tempo no desenvolvimento do código,
mas sim, investir o seu tempo no desenvolvimento do projeto.
Também foi desenvolvido para permitir atualizações rápidas, sem que para isso, fosse necessário atualizar
todo o projeto.
Ele é um extensão do Microsoft Access, desenvolvido no formato .accde e .mde, para integração com a
aplicação Access.
O componente, na sua atual versão 1.0, possui 14 módulos básicos, totalizando 34 funções disponíveis,
que poderão ser utilizadas na sua aplicação, e distribuídas livremente, desde que faça parte integrante da
sua aplicação.
A meta da Kartoffel System Developers é realizar atualizações periódicas e gratuitas do componente, até
que a ferramenta sustente um nível considerável de funções.
Com isso, o nosso objetivo é tornar esse componente uma biblioteca única com funções VBA para o
Microsoft Access, permitindo ao programador, que funções corriqueiras, não poluam os módulos e códigos
comum dos projetos em desenvolvimento, uma vez que os módulos não ficam visíveis na estrutura do seu
projeto.
Os comandos foram re-parametrizados permitindo uma interação mais simples entre o programador e o
código utilizado, realizando traduções aonde foi possível parametriza-las.
Espero que o fruto desse trabalho, seja de grande ajuda a todos os aficionados por Microsoft Access, que
tentam fazer dessa ferramenta, não só popular, mas eficiente e robusta.
Jeferson Braz
3
Compatibilidade
O componente foi desenvolvido para trabalhar com Windows nas plataformas de 32 ou 64 bits. Contudo a
versão atual foi parametrizada apenas para trabalhar com o Office de 32 bits.
1ª Casa Decimal: Identifica a versão principal do componente. A modificação ocorrerá quanto alguma
mudança significativa ocorrer na aplicação, como logística de operação ou versões de compatibilidade;
2ª Casa Decimal: identifica a quantidade de módulos e ou funções que foram incluídos no componente;
3ª Casa Decimal: identifica a quantidade de correções que foram realizados nos módulos e ou funções,
mas não específica em quais foram realizados.
Exemplo: 1.02.03
Identifica que foram realizadas duas inclusões no componente e foram realizadas três correções.
Atualizações
Os usuários da versão registrada do componente, receberam periodicamente entre 30 a 60 dias,
atualizações gratuitas do componente.
Cabe a Kartoffel determinar quais os módulos farão parte do componente, e o melhor momento de
encerrar a atualização da ferramenta. Isso se dará quando consideramos que o componente atingiu a meta
de atender pelo menos com módulo básico de desenvolvimento, 70% dos módulos comum da aplicação.
Usuários registrados e não registrados, poderão solicitar inclusão de componentes há biblioteca, sendo a
respectiva solicitação avaliada, e uma vez implantada, disponibilizado manual, correções e suporte.
4
Suporte
Usuários registrados do componente terão suporte gratuito, vitalício e ilimitado sobre a utilização do
componente, bem como atualizações periódicas do mesmo.
O suporte deverá ser aberto através de um ‘Ticket de Chamado’ em nosso site. Isso permitirá não só o
acompanhamento da sua solicitação, bem como permitirá manter um histórico da respectiva solicitação.
Alem do sistema de abertura de ticket, você conta ainda com um fórum de discussão dos componentes,
onde você poderá trocar informações e experiências da utilização dos componentes com outros usuários.
Para abrir um chamado ou utilizar nosso fórum de discussão, acesse o menu ‘Suporte’ em nossa página no
endereço www.kartoffel.com.br.
O prazo médio do atendimento dos tickets é em média de 72 horas. Solicitações de suporte através de e-
mail não terão prioridade de atendimento, devendo toda solicitação ser realizada através do nosso site.
Custo
Para manter a atualização do módulo, será cobrada uma única vez, valor pela aquisição do modulo
registrado, a fim de se manter as respectivas atualizações e suporte pelo componente.
A versão registra do componente poderá ser adquirida por R$ 20,00 (vinte reais) através da F2B no link
https://f2link.f2b.com.br/pedido/FP.asp?id=0002359081
Deixamos claro que, os valores cobrados são respectivos aos trabalhos realizados para padronização e
mantenimento do acervo, atualização do modulo e manual, e não pelos códigos, que foram fornecidos ou
disponibilizados gratuitamente, de forma direta ou indireta, por seus respectivos desenvolvedores.
5
Instalando o componente
O componente VBA Access Collection poderá ser instalado em qualquer pasta na unidade de disco, sendo
recomendada, instalação na pasta da sua aplicação.
O seu nome também poderá ser alterado sem interferir no funcionamento do componente, podendo
assumir qualquer nome que achar mais apropriado para sua aplicação.
Diferente dos outros componentes, não há necessite de registrá-la no Windows. Basta referenciá-lo no seu
projeto, através do Visual Basic Aplication, em ‘ferramentas’:
6
Após a instalação do componente você deverá importar a tabela “config” do arquivo ACCDE/MDE para
sua aplicação, para o correto funcionamento do módulo.
O campo ‘Database’ é responsável por receber a informação da sua base de dados, necessária para o
correto funcionamento das funções utilizadas pelo ‘Data Access Objetc’.
O campo ‘AppName’ é responsável por receber o titulo da sua aplicação ou qualquer outra informação que
achar necessária. O conteúdo desse campo será exibidos nas caixas de mensagem da aplicação.
Após realizar a instalação e as devidas configurações, sua aplicação já está pronta para utilizar o VBA Access
Collection.
Qualquer duvida com relação a instalação ou a utilização das funções, conte o suporte da Kartoffel.
7
Módulos e Funções: entenda o funcionamento
A parametrização dos módulos foi feita para permitir que você visualize de imediato todas as funções
disponíveis nos módulos.
Embora possa ser utilizada, não há necessidade de utilização da instrução CALL, sendo suficiente
mencionar o nome do módulo em seu projeto VBA, e seleciona a função deseja, e passar os seus
respectivos parâmetros.
Quando você informar o nome do módulo, será exibida uma lista com as funções disponíveis. Após a
seleção da função, serão passados os parâmetros segundo a programação da função.
Exemplo da parametrização:
Dim sFile
sFile = Application.CurrentProject.Path & "\sons\abertura.wav."
Sound.Play (sFile)
As vantagens de se utilizar o componente, e que você poderá realizar upgrades apenas do componente,
sem a necessidade de atualizar toda sua aplicação.
Nota: a parametrização irá varia segundo o modulo e função escolhida. Algumas funções não tem
parametrização.
8
ADOCon
O módulo ADOcon foi desenvolvido para permitir a conexão entre front-end e back-end sem a necessidade
de vinculação de tabelas através do MS-Jet, utilizando o ADO.
Não há conexão permanente com a tabela deseja. A conexão é realizada somente no momento de
troca de informações, e em seguida fechada. Com isso, em teoria, se ganha uma conexão
praticamente ilimitada, de usuários conectados simultaneamente;
O back-end em Access corre menor risco de se corromper, visto que os usuários não estão
conectados permanentemente;
O processo pode ser utilizado em qualquer tipo de banco de dados, sem necessidade de mudar a
forma de conexão, sendo suficiente a parametrização do driver de conexão
Ele trabalha na utilização de um formulário desacoplado aonde os dados são carregados e manipulados
através de uma ‘Caixa de Listagem’.
O primeiro requisito é que o campo do formulário tenha o mesmo nome da tabela. O segundo é que os
campos que foram alimentados no formulário, deverão ter propriedade ‘Marca’ com os valores 1 ou 2.
Isso foi utilizado para que o sistema possa distinguir os campos do seu formulário em contra partida com o
da tabela, sem que sejam necessários outros ajustes, não havendo interferência de campos não
relacionados.
Para um correto funcionamento em seu formulário desacoplado, será necessária a utilização das funções
abaixo descriminadas.
9
Exemplo:
Dim sSQL
sSQL = "Select id_cli, nome_cli from clientes where nome_cli Like '" & Me.sClientes & "' & '*' order by
nome_cli"
ADOCon.Alimenta_ListaB (sSQL)
Função Descrição
Utilizado para carregar os dados desejados, e alimentá-los em uma caixa de
Alimenta_ListaB combinação. Esse comando exibe uma barra de progresso e contagem dos
registros durante o seu carregamento.
Na aplicação exemplo, foram carregados 3.000 registros em uma caixa de combinação, em um tempo
médio de 42,75 segundos.
10
Nota: é necessário realizar a referência aos seguintes objetos:
Microsoft ActiveX Data Objects x.x library
Microsoft ADO Ext. x.x DLL and Security
ADOConSeg
O módulo ADOconSeg é uma extensão do ADOCon para permitir a usuários que utilizam banco de dados
.accdb protegido por senha, se conectarem a base de dados. Observe que, foi colocado os sufixo ‘Seg’ na
função para identificar que deverá passar o parâmetro ‘senha’.
Função Descrição
Utilizado para carregar os dados desejados, e alimentá-los em uma caixa de
Alimenta_ListaBSeg combinação. Esse comando exibe uma barra de progresso e contagem dos
registros durante o seu carregamento.
Exemplo:
11
Convert
O módulo Convert disponibiliza funções de conversões de tipos de dados.
Função Descrição
BinaryToDecimal Converte uma numero binário em um numero decimal
Exemplo:
MsgBox Convert.BinaryToDecimal(10001010)
Cripto
O módulo Cripto disponibiliza funções para Criptografia e Descriptografia simples.
O módulo foi desenvolvido com base em informações encontradas na internet e em fóruns de discussão,
tendo sua função modificada para dificultar a utilização dos códigos encontrados, com relação ao código
utilizado no componente.
Função Descrição
Encrypt Criptografa dados
Exemplo:
MsgBox Cripto.Encrypt("Projeto")
12
Frm
O módulo Frm disponibiliza funções desenvolvidas para o trabalho com formulários, vinculados ou não.
Função Descrição
Transparencia Permite tornar transparentes objetos do formulário ativo
Exemplo:
13
Dim Resp
If Resp = 6 Then
Frm.Verifica_Preenchimento
If Frm.NotExit = 1 Then
DoCmd.CancelEvent
Exit Sub
End If
End If
End Sub
Mouse
O módulo Mouse disponibiliza funções para habilitar e desabilitar a “roda do mouse” através de DLL
MouseHook.dll.
Função Descrição
Desabilita_Roda Desabilita a roda do mouse
Exemplo:
Mouse.Cursor APPSTARTING
14
Msg
O módulo Msg disponibiliza funções que permitem exibir caixa de mensagens personalizadas
Função Descrição
Permite personalizar o comando MSGBOX padrão do Access,com ícones e
Personalizada
substituição ao retorno padrão do botão escolhido.
Permite exibir uma caixa de mensagem para a entrada de dados de forma que
possa atribuir uma mascara de entrada, permitindo ainda a limitação de
caracteres na masca de entrada.
Exemplo:
Dim Resp
Dim MyApp
Dim MyIco1 As String
Dim MyIco2 As String
Nota: Na função você deverá informar o parâmetro do tipo de ‘Caixa de Mensagem’ a ser exibida e realizar
a alteração da mensagem padrão pela sua. Ao escolher a opção vbYesNo, por exemplo, você deverá passar
os parâmetros para o botão Yes e No
15
Exemplo:
Dim Resp
Resp = InputBoxEx("Informe sua senha", "Segurança", , , , , SPassword, 4)
Rede
O módulo Rede disponibiliza funções que permite interagir com o seu ambiente de rede.
Função Descrição
ConexaoInternet Verifica se há uma conexão ativa com a internet
Exemplo:
Rede.DesconectarRede "G:\"
16
Sound
O módulo Sound disponibiliza funções que permite reproduzir e gerenciar arquivos de áudio na sua
aplicação.
Função Descrição
Play Permite reproduzir arquivos do tipo .wav, .wma dentre outros
Exemplo:
Dim sFile
sFile = Application.CurrentProject.Path & "\sons\abertura.wav."
Sound.Play (sFile)
Tratar
O módulo Tratar disponibiliza funções que permite processar um conjunto de informações recebidas, em
um novo conjunto modulado para atender a necessidade do usuário.
Função Descrição
Retorna a rota curta de uma pasta informada.
RotaCurta Assim informando C:\Program Files\Windows Defender será retornado
C:\PROGRA~1\WINDOW~3
17
Exemplo:
Dim sFile
sFile = Application.CurrentProject.Path & "\sons\abertura.wav."
Sound.Play (sFile)
Exemplo disponível: formulário ‘Geral’ demonstra a utilização das funções
Valida
O módulo Valida disponibiliza um conjunto de funções para validar informações no seu formulário
Função Descrição
Realiza a validação do CNPJ ou CPF informado de forma inteligente.
Quando um número é informado e não atendi o digito verificador, o campo
aonde a informação é digitado, é destacado em vermelho para alertar ao
CNPJ_CPF
usuário que o referido documento não é valido. O mesmo ocorre para
documentos válidos (destacando na cor verde) e números que não atendem aos
requisitos do documento (destacando na cor azul)
Exemplo:
valida.CNPJ_CPF (Me.cnpj_cli)
End Sub
18
Wind
O módulo Wind disponibiliza funções que permite o usuário interagir com o Access através de janelas
especificas, realizando tarefas parametrizadas
Função Descrição
Oculta a janela de fundo da aplicação.
Para utilizar esse recurso é necessário que os formulários estejam com os
seguintes parâmetros:
Oculta_Janela Pop-up: Sim
Janela Restrita: sim
Exemplo:
Wind.Oculta_Janela (Oculta)
19
Prn
O módulo PRn disponibiliza um conjunto de funções que permite carregar um ambiente personalizado
para impressão de relatórios
Função Descrição
Exibe um ‘Painel de Impressão’ onde você poderá selecionar uma entre as
Printer_Report impressoras disponíveis em seu ambiente de trabalho (local ou rede), desde que
devidamente instalada e configurada (Img: 01)
Exemplo:
System
O módulo System disponibiliza um conjunto de funções que permite tratar operações relacionados ao
sistema da sua aplicação, do código utilizado ou de hardware.
Função Descrição
Pausa a execução do seu código VBA, passando parâmetros de quantos
Pausa
segundos o código deverá ser pausado
20
Exemplo:
21
Agradecimentos
Agradecemos a todos os usuários que contribuíram direta ou indiretamente com os códigos que são
utilizados nesse componente, com idéias, sugestões, verificações ou publicações.
Peço desculpas caso não tenha mencionado algum desenvolvedor. Entre em contato que me retratarei,
atualizando a lista dos desenvolvedores, na próxima edição.
Sobre a Kartoffel
Com isso contribuímos para que o Microsoft Access se solidifique e se popularize ainda mais no mercado
quanto ferramenta de desenvolvimento.
www.kartoffel.com.br
www.usandoaccess.com.br
www.comunidade.itlab.com.br
22