INDICE ACCESS BÁSICO ACCESS AVANÇADO
CURSO DE ACCESS BÁSICO Microsoft Access 7.0 é um Gerenciador de Banco de Dados Relacional que já nasceu dentro do ambiente windows, pode ser usado como front-end para acesso a base de dados do SQL Server, Oracle, etc... Access cria um banco de dados com a extensão mdb e ldb, o arquivo ldb é criado automaticamente e é usado para controlar bloqueio em ambiente multiusuário, num ambiente multiusuário cada usuário que abre um banco de dados tem uma entrada neste arquivo. O access usa esta informação para dizer quais registros estão bloqueados em um banco de dados e quem os bloqueou, para prevenir possíveis erros e danos do banco de dados por múltiplos usuários. Quando você copia um banco de dados do access não precisa copiar o arquivo ldb pois o access tentará recriá-lo para você. MDB - Microsoft Data Base Banco de Dados - Trabalha com registros Access trabalha com Tabelas, Consultas, Formulários, Relatórios, Macros e Módulos Tabelas - São os depósitos fisicos do dados Consultas - São o resultado de uma seleção de registros de uma tabela, as consultas são dinâmicas
Formulários - São o objeto principal de navegação de uma aplicação, é o que o usuário realmente vê e utiliza Relatórios - Dão um poder maior às saídas de informações para a impressora. Macros - Permitem que se atribua ações a outros tipos de objetos. Módulos - São a parte programável do access, a linguagem usada é o VBA TABELAS - É um conjunto de dados sobre um tópico específico, por exemplo a tabela produtos contém todas as informações sobre produtos, a tabela empregados contém todas as informações sobre os empregados. É interessante que se utilize uma tabela para cada tópico específico. As tabelas organizam os dados em colunas (campos) e linhas (registros). Trabalham com o modo FOLHA DE DADOS e o modo ESTRUTURA •
•
• •
• •
CRIANDO UMA NOVA TABELA o Abre-se o access e e no item tabelas clica-se em novo o Selecione o modo estrutura o Neste modo de exibição abrem-se três colunas, Nome de Campos, Tipos de Dados e Descrição o Nome do Campo - Os nomes dos campos podem ter até 64 caracteres, desde que o primeiro seja uma letra do alfabeto, podem ser usados espaçõs e o caracter (_). o É interessante que não se coloque acentos, cedilha, etc pois podem atrapalhar depois o Ao se referir a campos de tabelas em outros objetos, utilize colchetes se o nome tiver algum espaço. Tipo de Dados Texto - Até 255 caracteres - Access não reserva espaço em branco para as porções não utilizadas Memorando - Até 64.000 caractere Número Data/Hora - Para os anos de 100 a 9999.8 bytes, colocar na mascara digitos para o ano 2000, para isto no painel de controle do windows coloque como padrão 04 digitos. Moeda - Valores monetários e dados numéricos, envolvendo dados com uma ou mais casas decimais Auto Numeração - Número sequencial exclusivo com incremento de 1 em 1 ou um número aleatório, estes números não podem ser atualizados Sim/Não - Para campos que contém apenas uma destas opções Objeto OLE - Um objeto, como uma planilha do excel ou um documento do word gráficos, sons, etc, até 1 gigabyte
•
Assistente Pesquisa - Cria um campo que permite escolher um valor de uma outra tabela ou de uma lista de valores usando uma caixa de combinação. MODO FOLHA DE DADOS - Funciona como uma tabela do excel MODO ESTRUTURA - É onde formata-se os dados Nome do Campo Tipo de Dados - Texto, Memorando, Numérico, Data/Hora Descrição - É o tópico de ajuda que aparece logo acima da barra de status quando se passa o mouse. Propriedades do Campo Formato -
•
•
INIBIR CAMPOS o No modo estrutura clique 2 vezes, no campo e não na legenda, e será aberto o modo propriedades, vá ao campo Bloqueado e coloque SIM CONSTRUIR UM CAMPO DROP DOWN EM UM FORMULÁRIO o Selecione a consulta e coloque no modo estrutura o Delete o campo que vai ser substituído por um drop down o
Vá na barra de ferramentas e clique no botão combinação e arraste para o ponto desejado
o
Se for aberto um assistente cancele clicando no botão de condão
o o
vara
Será colocado o seguinte desenho na tela
Selecione a caixa Não Acoplado e vá para o canto até aparecer a mão preta e dê 2 cliques, será aberta a caixa combinação Propriedades, selecione a aba todas o Vá ao campo nome desta tabela e digite o nome do campo desejado o Vá ao campo origem clique e selecione o campo desejado o Vá ao campo origem da linha e selecione a tabela desejada o Vá ao campo mascara de entrada e coloque a mascara já previamente definida na tabela o Feche propriedades o Volte para aquele desenho criado e na parte que está escrito Combinação digite o nome do campo o Este drop down deverá ser referente a uma chave primária que trará todas as informações necessárias EXIBIR UM CAMPO NOVO EM UMA TABELA o
•
caixa de
No menu exibir vá ao item Lista de Campos e serão mostrados todos os campos da tabela para que possamos inserir um campo novo clico e arrasto para o local desejado. MENSAGEM "ESTA DATA NÃO É VÁLIDA" o Significa que tenho campos obrigatórios que não foram adicionados ao formulário ALTERAR A TABULAÇÃO DE UM CAMPO EM UM FORMULÁRIO o Clique no botão estrutura o No menu exibir selecione Ordem de Tabulação o Selecione o campo desejado e arraste para o local desejado o O que é mostrado nesta caixa é para onde o cursor vai quando teclamos enter ou tab CRIANDO UMA CONSULTA o Clique em consulta o Novo o Estrutura o Tabela desejada o Adicionar o Outra tabela desejada o Adicionar o Fechar o Seleciono todos os campos desejados e arrasto para a tabela embaixo o
•
•
•
SHIFT + F2 = ZOOM •
•
•
CRIANDO UM RELACIONAMENTO o No menu ferramentas selecione Relacionamentos o Neste caso será entre consultas, selecione consultas o Adicione as consultas o Clique no campo desejado e arraste para a outra tabela o Abre-se uma janela de relacionamento o Tipo de Associação CÁLCULO DE UMA MÉDIA ARITMÉTICA o Só faço cálculos no ítem consulta o O : funciona como o sinal de = no excell o Faço uma consulta nova e uso a tabela escolhida o Clico na mesma com o cursor e teclo SHIFT + F2 para conseguir um zoom o Digito a Fórmula --- MÉIDA:([Nota 1] + [Nota 2] + [Nota 3] + [Nota 4])/4 o Os nomes utilizados têm de ser igual aos nomes dos campos o O resultado é apresentado pelo Access com várias casas decimais e não consigo mudar, o que posso fazer é diminuir o espaço para aparecer na tela só o número de casas decimais desejadas. AUTOMATIZAÇÃO DO BANCO DE DADOS Macro - Nada mais é do que uma rotina, ou seja são uma sequência que
você sempre executa a partir de um determinado ponto de partida, ou seja sempre que a macro for utilizada ela utilizará uma série de comandos específicos. Ex. sempre que se pressiona o botão de salvar, ele executa uma macro e executa internamente comandos que salvam o seu arquivo. Vamos começar utilizando botões (rotinas) já pré definidas pelo Access, depois criaremos telas e botões e associaremos aos mesmos macros. •
CRIAÇÃO DO BOTÃO IR PARA O PRÓXIMO REGISTRO OU OUTROS BOTÕES, TAIS COMO ABRIR O APLICATIVO EXCELL OU WORD o Em formulários escolha o Formulário o Clique no modo estrutura o É interessante que os botões sejam criadas no espaço reservado para o cabeçalho e não nos detalhes, pois se os botões forem criados nos detalhes eles vão fazer parte da ordem de tabulação e serão acionados quando for clicado enter e o cursor estiver sobre eles o
comando e arrastado para o espaço no cabeçalho Abre-se uma caixa com as opções de categoria e ações, neste caso escolha a categoria Navegação Registro e a Ação Ir para o próximo registro o Avançar o Clique em figura e escolha uma figura para o botão o Dê um nome que aparecerá como destaque quando o mouse passar por cima dele. o Para abrir o Word ou o Excell escolha a categoria Aplicativos e escolha o aplicativo. CRIAÇÃO DE MACROS o Quando abrirmos o banco de dados aparecerá uma tela com um logotipo e um menu o Vamos criar um logotipo no wordart para uma escola e vamos criar um menu principal que contenha opçoes de Cadastros, Relatórios e Sair o Quando clicarmos no botão Cadastro o access deverá nos levar para outra tela que tenha opções de Cadastro de Alunos, Cadastro de Notas, Cadastro de Cursos e Retornar ao Menu Principal o Quando clicarmos no botão Relatórios o access deverá nos levar para outra tela que tenha opções de Relatório de Alunos, Relatório de Notas, Relatório de Etiquetas e Retornar ao Menu Principal o Para começar vamos criar o menu principal o Clique na aba Formulários - Novo - Estrutura - Ok o Faça com que o seu formulário tome conta de toda a tela o
•
Clique no botão que aciona o assistente para que o assistente seja ligado quando for pressionado o botão de
o o o o o o o o o o o o
o
o
Clique no botão e dentro de detalhes arraste o curso e digite MENU PRINCIPAL, formate a gosto. Clique fora do menu principal e clique no menu INSERIR OBJETO, escolha Microsoft Wordart e Ok Trabalhe o seu titulo e aplicar Desligue o assistente e crie tres botões de comando Nomeie como Cadastros, Relatórios e Sair do Sistema Feche o Formulário e nomeie como Menu Principal Vá para a guia macro do menu principal e clique em novo Abre-se uma janela com Ação - no nosso caso abrir formulário Abre-se um campo com Argumentos da Ação Em Formulário escolha qual o formulário que esta macro vai abrir,no nosso caso Menu Principal Na próxima linha a ação escolhida será maximizar para que o menu principal entre sempre em tela cheia Feche a macro, o access pede um nome para a macro, cuidado esta macro como deverá ser executado sozinha pois toda vez que o programa for aberto ela deverá ser executada, deverá receber o nome de AUTOEXEC, ou seja quando o usuário abrir o banco de dados esta macro será executada automaticamente e abrirá o menu para o usuário. Agora vamos construir 01 formulário de cadastros gerais (menu)que chamará os outros formulários de Alunos, Notas, Cursos e 01 formulário de relatórios (menu) que chame os relatórios de alunos, notas, etiquetas Preciso estar atento para o seguinte: Sempre que estiver no menu principal terei uma macro para SAIR do sistema e quando estiver nos outros menus terei macros para FECHAR o formulário, relatório, etc, pois na realidade quando abrimos um formulário ele apenas é sobreposto sobre o outro que está aberto e quando o fechamos o que estava por trás aparece, já sair significa sair do sistema. Quando usamos o comando Sair Para ele não fecha o formulários atual e ficamos com dois formulários aberto consumindo mais memória.
•
ASSOCIANDO UM BOTÃO DE COMANDO JÁ EXISTENTE A UMA MACRO o Clique 2 vezes no botão que deseja associar a macro (no modo estrutura) o Clique na aba EVENTO o Escolha o evento AO CLICAR o Aparece um Drop Down escolha a macro que você precisa o Não saia da janela clique no próximo botão e escolha a macro necessária o Feche o modo estrutura e teste o seu botão
•
•
•
•
CRIANDO TECLAS DE ATALHO IGUAIS AS DO WINDOWS 95 o Abra a tela do menu principal e vá ao modo estrutura o Escolha um botão e clique como se você fosse renomear , deixando o cursor piscando o Digite o & antes da letra que será a tecla de atalho e tecle enter o Para usar as teclas de atalho use CTRL + TECLA ESCOLHIDA COLOCANDO UMA FIGURA NA TELA (EXISTENTE OU SCANEADA) o Em uma estrutura qualquer o Vá ao menu Inserir o Figura o Podem ser inseridas figuras com extensão BMP, CRD, PCX, GIF, etc o Cuidado com o tamanho dela o Já existem algumas figuras, no C:\Msoffice\Access\Bitmaps\Dbwiz\arquivos em geral CRIANDO UM ESQUEMA DE SEGURANÇAO E SENHAS PARA O MEU SISTEMA o Para colocar uma senha no banco de dados ele tem de ser aberto como exclusivo, pois assim só o administrador estará abrindo o Abra o access, clique uma vez sobre o seu banco de dados o Do lado direito têm uma caixa como exclusivo, marque esta caixa o Abrir o Vá ao menu ferramentas o Segurança o Definir uma senha para o banco de dados o Digite uma senha, cuidado pois esta senha é case sensitive o Redigite a senha o Confirme o Feche o seu banco de dados e tente abri-lo novamente FORMATANDO O SEU FORMULÁRIO PARA COMO APARECER NA TELA o Fomos ao menu exibir, barra de ferramentas e desmarcamos todas o Clique no menu ferramentas e clique em inicializar o No item Titulo do Aplicativo poderá ser colocado o titulo que você quiser e será mostrado na tela o Desmarque Exibir Janela do Banco de Dados (aquela de Tabelas, Consultas, Relatórios, Macros) o Desmarque Permitir uso de menus completos do Access (Desativa a maioria dos comandos do menu) o Desmarque Menus de Atalho do Access (aquele do botão direito do mouse) o Desmarque Permitir Barras de Ferramentas Internas o Desmarque Premitir Alterações na Barra de Ferramentas o OK o Feche o banco de dados e abra novamente, ele vai pedir a senha colocada anteriormente e vai mostrar o seu banco com um novo formato
•
•
•
•
•
COMO RECUPERAR AS CARACTERISTICAS ANTERIORES o Abra o access, clique uma vez sobre o seu banco de dados o Aperte SHIFT e Tecle Enter o Pede a senha o Digite o Aperte SHIFT e Tecle Enter Novamente o Será aberto seu banco de dados sem as opções de inicialização, inclusive sem a macro autoexec OCULTANDO UMA TABELA, RELATÓRIO, ETC o No menu principal do Access escolha uma tabela e clique com o botão direito e escolha propriedades o Marque o atributo ocultar o Volte e perceba que a sua tabela desapareceu VENDO OS ITENS QUE ESTÃO OCULTOS o Vá na barra de ferramentas - Opções - Exibir - Objetos ocultos e ela aparecerá novamente MARCANDO DOIS CAMPOS DE UMA TABELA COMO CHAVE PRIMÁRIA o Marque os dois campos e clique na chave CRIANDO RELACIONAMENTOS COM CHAVES DIFERENTES RELACIONAMENTOS DE 1 PARA VÁRIOS o O Relacionamento sempre têm de ser feito antes da criação das consultas, pois senão você corre o risco de perder a integridade das tabelas, pois você têm várias tabelas e elas ainda não estarão relacionadas quando você for fazer a consulta. o Ferramentas - Relacionamentos - Adicione as tabelas o Arraste a chave primária para criar o relacionamento o Marque Impor Integridade Referencial o Integridade referencial é um sistema de regras que o Microsoft Access usa para assegurar que os relacionamentos entre registros em tabelas relacionadas sejam válidos e que você não exclua ou altere dados relacionados acidentalmente. Você pode definir a integridade referencial quando todas as condições a seguir são obedecidas: o o
•
O campo coincidente da tabela primária é uma chave primária ou tem um índice único. o Os campos relacionados têm o mesmo tipo de dados. o Ambas as tabelas pertencem ao mesmo banco de dados do Microsoft Access. Se as tabelas estiverem vinculadas, elas devem ser tabelas do formato Microsoft Access e você deve abrir o banco de dados no qual elas estão armazenadas para definir a integridade referencial. Integridade referencial não pode ser imposta para tabelas vinculadas de bancos de dados em outros formatos. CRIANDO CAMPOS QUE ME AUXILIEM EM PESQUISAS COM FILTROS E SUBFORMULÁRIOS o Insira os novos campos na estrutura da tabela que voce vai utilizar
o o o
o
o o
Vá para a consulta e veja que a tabela do relacionamento já aparece com os novos campos Abaixe os novos campos para a grade inferior No campo que precisar de uma formula tecle SHIFT+F2, que será aberto um zoom para digitar-se a fórmula, todos os campos devem ser digitados idênticos ao nome do campo e precisam vir entre colchetes Fomos ao formulário de locação e percebemos que os novos campos não estão lá e teriamos muito trabalho para sair alterando tudo Voltamos ao menu principal formulário novo - estrutura Com o botão assistente ligado clicamos no botão subformulário
o
clicamos no espaço reservado ao formulário e abrimos uma grande caixa, em seguida é aberto um assistente Pergunta se vou usar uma tabela ou um formulário existente , use tabela Escolha os campos formulários Salve como subformulário e um identificador Vai perguntar se salva o formulário 1 diga que não Peça para exibir o modo formulário e se for pedido algum parâmetro é porque a sua fórmula está errada Volte à consulta e altere a sua fórmula, lembre-se que toda expressão vem entre colchetes. Vá na consulta e digite os valores nos campos criados. Verifique que agora os seus dados aparecem ok no subformulário O Access quando cria um subformulário dentro de um formulário salva dois objetos novos O subformulário e o formulário 1 que está atrás do subformulário
o
Utilize o botão de filtros para selecionar registros especificos
o o o o o o o o o
e o outro para desfazer
CURSO DE ACCESS AVANÇADO • • •
•
ACCESS 7.0 utiliza a linguagem de programação VBA - Visual Basic For Aplications Configuração o painel de trabalho - Ferramentas - Opções - Módulo Códigos de Navegação : SHIFT-F2 - Coloque o cursor em cima de um procedimento e clique SHIFT-F2 e o access encontra o procedimento para você F2 - Exibir - Localizador de Objeto - Pode-se encontrar todos os módulos disponíveis (_) - Utilize o caracter underscore para definir a continuação de uma linha VARIÁVEIS
o
o o o o o •
Um local nomeado de armazenamento de dados que possam ser modificados durante a execução do programa. Cada variável tem um nome que a identifica de modo exclusivo dentro do seu nível de escopo. Um tipo de dado pode ser especificado ou não. Nomes de variáveis: ·Devem começar com um caractere alfabético. ·Não podem conter um ponto incorporado nem um caractere de declaração de tipo. ·Devem ser únicos dentro do mesmo escopo. ·Não podem ter mais de 255 caracteres.
Matriz Um conjunto de elementos indexados seqüencialmente que possuem os mesmos tipos intrínsecos de dados. Cada elemento de uma matriz tem um número indexador exclusivo. Alterações feitas em um elemento da matriz não afetam os outros elementos. Tipo definido pelo usuário o Qualquer tipo de dados definido por meio da instrução Type. Os tipos de dados definidos pelo usuário podem conter um ou mais elementos de cada tipo de dados. As matrizes de dados definidas pelo usuário e outros tipos são criadas usando a instrução Dim. Os tipos definidos pelo usuário podem conter matrizes de qualquer tipo. Nível do módulo o Descreve o código na seção de declarações de um módulo. Qualquer código fora de um procedimento é referido como código de nível de módulo. Primeiro devem ser indicadas as declarações, seguidas, então, pelos procedimentos. Por exemplo: o
•
•
Dim X As Integer ' Esta é uma declaração de variável de nível de módulo. Const RO = "ReadOnly" ' Esta é uma declaração de constante de nível de módulo. Type MyType ' Esta é uma declaração de tipo definido pelo usuário de nível de módulo. MyString As String MyAge As Integer End Type •
Nível de procedimento o Descreve a instrução localizada dentro de um procedimento Function, Property ou Sub. Em geral as declarações são indicadas primeiro, seguidas por instruções e outros códigos executáveis. Por exemplo: Sub MySub() ' Esta instrução declara um bloco de sub procedimento. Dim A ' Esta instrução inicia o bloco de procedimentos
A = "My variable" ' Código de nível de procedimento Debug.Print A ' Código de nível de procedimento End Sub ' Esta instrução finaliza um bloco de sub procedimentos. •
Sintaxe Dim nomedavariáv[([subscritos])][As [New] tipo][, nomedavariáv[([subscritos])][As [New] tipo]] . . . A sintaxe da instrução Dim tem estas partes: Parte Descrição nomedavariáv Nome da variável; segue convenções de nomenclatura padrão de variável. subscritos Dimensões de uma variável matriz; até 60 dimensões múltiplas podem ser declaradas. O argumento subscritos usa a sintaxe abaixo: [inferior To] superior [,[inferior To] superior] . . . Quando não enunciado explicitamente em inferior, o limite inferior de uma matriz é controlado pela instrução Option Base. O limite inferior é zero se não houver qualquer instrução Option Base presente. New - Palavra-chave usada para indicar que uma variável de objeto declarada é uma nova ocorrência de um objeto Visual Basic ou um objeto de Automação OLE que pode ser criado externamente. A palavra-chave New não pode ser usada para declarar variáveis de qualquer tipo de dados intrínseco e não pode ser usada para declarar ocorrências de objetos de Automação OLE dependentes. tipo - Tipo de dados da variável; pode ser Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (para seqüências de caracteres de comprimento variável), String * comprimento (para seqüências de caracteres de comprimento fixo), Object, Variant, um tipo definido pelo usuário ou um tipo de objeto. Use uma cláusula As tipo independente para cada variável que você declarar. Comentários Variáveis declaradas com Dim no nível do módulo estão disponíveis a todos os procedimentos dentro do módulo. No nível do procedimento, as variáveis estão disponíveis apenas dentro do procedimento.
Use a instrução Dim no nível do módulo ou do procedimento para declarar o tipo de dados de uma variável. Por exemplo, a instrução a seguir declara uma variável como Integer. Dim NumberOfEmployees As Integer Use também uma instrução Dim para declarar o tipo de objeto de uma variável. O exemplo abaixo declara uma variável para uma nova ocorrência de uma planilha. Dim X As New Worksheet Se a palavra-chave New não for usada ao se declarar uma variável de objeto, não existe de fato qualquer ocorrência do objeto. Para uma variável que se refere a um objeto poder ser usada, é necessário atribuir antes a ela um objeto existente, usando-se a instrução Set. Antes de um objeto lhe ser atribuído, a variável de objeto declarada tem o valor especial Nothing, que indica que ela não se refere a qualquer ocorrência particular de um objeto. A instrução Dim também pode ser usada com parênteses vazios para declarar uma matriz dinâmica. Depois de declarar uma matriz dinâmica, use a instrução ReDim dentro de um procedimento para definir o número de dimensões e elementos numa matriz. Se você tentar declarar uma dimensão para uma variável de matriz cujo tamanho foi explicitamente especificado numa instrução Private, Public ou Dim, ocorrerá um erro. Se você não especificar um tipo de dados ou um tipo de objeto e não houver qualquer instrução Deftipo no módulo, a variável será Variant, por padrão. Quando as variáveis são iniciadas, uma variável numérica é iniciada para 0, uma seqüência de caracteres de comprimento variável é iniciada para uma seqüência de caracteres de comprimento zero e uma seqüência de caracteres de comprimento fixo é preenchida com zeros. Variáveis Variant são iniciadas para Empty. Cada elemento de uma variável de tipo definida pelo usuário é iniciada como se fosse uma variável separada. •
Ferramentas - Opções - Módulo - Opções de Codificação o Deixe sempre ativada as opções de Auto Recuar, Verificar Sintaxe Automática, Solicitar Declaração de Variáveis Ao declarar variáveis, freqüentemente você usará uma instrução Dim. Uma instrução de declaração pode ser colocada dentro de um procedimento para criar uma variável a nível de procedimento. Alternativamente, ela pode ser colocada no topo de um módulo, na seção Declarações, para criar uma variável a nível de módulo.
O exemplo seguinte cria a variável strNome e especifica o tipo de dados String. Dim strNome As String Se essa instrução aparece dentro de um procedimento, a variável strNome só pode ser usada nesse procedimento. Se a instrução aparece na seção Declarações do módulo, a variável strNome está disponível para todos os procedimentos dentro do módulo, mas não para procedimentos em outros módulos do banco de dados. Para tornar essa variável disponível para todos os procedimentos do banco de dados, preceda-a com a instrução Public, como no exemplo seguinte. Public strNome As String As variáveis podem ser declaradas como sendo de um dos seguintes tipos de dados: Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String (para seqüências de comprimento variável), String * comprimento(para seqüências de comprimento fixo), Object ou Variant. Se você não especificar um tipo de dados, o tipo de dados Variant será atribuído por padrão. Você também pode criar um tipo definido pelo usuário usando a instrução Type. Para obter maiores informações sobre tipo de dados, consulte o Resumo de Tipos de Dados. Boolean Uma expressão que pode ser avaliada como verdadeira (diferente de zero) ou falsa (0). Você pode utilizar as palavras-chave True e False para fornecer os valores de -1 e 0, respectivamente. O tipo de dados do campo Sim/Não é booleano e possui o valor -1 para Sim e 0 para Não. Várias definições de propriedades são booleanas, incluindo Sim/Não, Verdadeiro/Falso e Ativado/Desativado. Byte Um tipo de dados utilizado para armazenar pequenos números inteiros positivos de 0 a 255. Integer Um tipo de dados fundamental que armazena números inteiros. Uma variável do tipo de dados Integer é armazenada em um número de 16 bits (2 bytes) cujo valor varia de -32.768 até 32.767. O caractere de declaração de tipo é o % (caractere ANSI 37). No Visual Basic, você pode utilizar o tipo de dados Boolean para armazenar valores booleanos. Long
Um tipo de dados fundamental que armazena números inteiros longos. Uma variável do tipo Long é armazenada como um número de 32 bits (4 bytes) cujo valor varia de -2.147.483.648 até 2.147.483.647. O caractere de declaração de tipo. é o & (caractere ANSI 38). Moeda (Currency) Um tipo de dados que é útil para cálculos envolvendo dinheiro ou para cálculos de ponto fixo nos quais a precisão é extremamente importante. Esse tipo de dados é utilizado para armazenar números de até 15 dígitos à esquerda da vírgula e 4 à direita. O caractere de declaração de tipo no Visual Basic é @. Single Um tipo de dados fundamental que armazena números de ponto flutuante de precisão simples. Uma variável Single é armazenada como um número de 32 bits (4 bytes) com valor variando de -3,402823E38 até -1,401298E-45 para valores negativos, 0, e de 1,401298E-45 até 3,402823E38 para valores positivos. O caractere de declaração de tipo é o ! (caractere ANSI 33). Double Um tipo de dados que armazena números de ponto flutuante de dupla precisão no formato IEEE. Uma variável Double é armazenada como um número de 64 bits (8 bytes) com valor que varia de -1,79769313486232E308 até -4,94065645841247E-324 para valores negativos, 0, e de 4,94065645841247E-324 até 1,79769313486232E308 para valores positivos. O caractere de declaração type é # (caractere ANSI 35). Date Um tipo de dados utilizado para armazenar informações de data e hora. Object Um tipo de dados fundamental que representa qualquer objeto que possa ser reconhecido pelo Visual Basic. O tipo de dados Object é genérico; você pode declarar qualquer variável de objeto como tipo Object. Para obter um melhor desempenho, entretanto, você deve declarar variáveis Object de acordo com seu tipo específico. Por exemplo, use uma variável do tipo Form, ao invés de uma variável Object, para representar um formulário. Há duas categorias de tipo de dados Object: a dos objetos do Microsoft Access e a dos objetos de acesso a dados.
Tipos de dados Object do Microsoft AccessApplication Form ScreenControl Report Tipos de objetos de acesso a dados Container Error Parameter Relation Database Field Property TableDef DBEngine Group QueryDef User Document Index Recordset Workspace Variant O tipo de dados padrão para variáveis que não possuem caracteres de declaração de tipo quando a instrução Deftipo não está ativada. Uma variável Variant pode armazenar dados numéricos, seqüências de caracteres, data/hora, Null ou Empty. Você pode utilizar as funções TypeName, VarType, IsEmpty, IsNull, IsNumeric e IsDate para determinar o tipo de dado armazenado em um Variant. Variáveis de outros tipos de dados se convertem automaticamente em Variant. Resumo •
Tamanho Tipo de de dados armazena mento Byte 1 byte Boolean 2 bytes Integer . 2 bytes Long (inteiro 4 bytes longo) Single (ponto flutuante 4 bytes de precisão simples) Double 8 bytes (ponto flutuante
Intervalo 0 a 255 True ou False -32.768 a 32.767 -2.147.483.648 a 2.147.483.647.
-3,402823E38 a -1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos.
-1,79769313486232E308 a -4,94065645841247E-
de dupla precisão)
324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos.
Currency (inteiro -922.337.203.685,477,5808 a 8 bytes em 922.337.203.685.477,5807. escala) Date 8 bytes 1 1 de janeiro de 100 a 31 de dezembro de 9999. Object 4 bytes Qualquer referência a Object. 10 bytes + String comprimen 0 a aproximadamente 2 bilhões (aproximadamente (comprim to da 65.400 for Microsoft Windows versão 3.1 e ento seqüência anteriores). variável) de caracteres Comprime String nto da (comprim seqüência 1 a aproximadamente 65.400. ento de fixo) caracteres Variant (com Qualquer valor numérico até o intervalo de um 16 bytes números Double. ) 22 bytes + Variant comprimen (com to da Mesmo intervalo String de comprimento variável. caractere seqüência s) de caracteres Definido Número pelo exigido O intervalo de cada elemento é igual ao intervalo de usuário pelos seu tipo de dados. (usando elementos Type) •
Observação: Matrizes de qualquer tipo de dados exigem 20 bytes de memória, mais quatro bytes para cada dimensão da matriz, mais o número de bytes ocupados pelos próprios dados. A memória ocupada pelos dados pode ser calculada multiplicando-se o número de elementos de dados pelo tamanho de cada elemento. Por exemplo, os dados numa matriz de dimensão única, que consiste de quatro elementos de dados Integer de dois bytes cada um, ocupa oito bytes. Os oito bytes que os dados
• •
• • • •
• • • •
• • • • •
• •
• •
exigem, mais os 24 bytes da parte fixa, elevam a demanda total de memória para a matriz para 32 bytes. Uma Variant que contém uma matriz exige 12 bytes mais que a matriz sozinha. Você pode declarar várias variáveis em uma instrução. Se você quiser especificar um tipo de dados, você precisa incluir o tipo de dados para cada variável. Na instrução seguinte, as variáveis intX, intY e intZ são declaradas como do tipo Integer. Dim intX As Integer, intY As Integer, intZ As Integer Na instrução seguinte, intX e intY são declaradas como do tipo Variant; somente intZ é declarada como do tipo Integer. Dim intX, intY, intZ As Integer Você não precisa fornecer o tipo de dados da variável na instrução de declaração. Se você omitir o tipo de dados, a variável será do tipo Variant. Instrução Public Você pode usar a instrução Public para declarar variáveis públicas a nível de módulo. Public strNome As String As variáveis públicas podem ser usadas em quaisquer procedimentos no banco de dados. Quando uma variável pública é declarada em um módulo padrão, ela também pode ser usada em quaisquer bancos de dados que façam referência ao banco de dados onde a variável pública está declarada. Quando uma variável pública é declarada em um módulo de formulário ou módulo de relatório, ela só pode ser usada em procedimentos do banco de dados atual. Instrução Private Você pode usar a instrução Private para declarar variáveis privadas a nível de módulo. Private MeuNome As String As variáveis privadas só podem ser usadas por procedimentos do mesmo módulo. Observação A instrução Dim, quando usada a nível de módulo, é equivalente à instrução Private. Você talvez queira usar a instrução Private para tornar o seu código mais fácil de ler e interpretar. Instrução Static Quando você usa a instrução Static em vez de uma instrução Dim, a variável declarada retém seu valor entre chamadas. Para obter maiores informações sobre como as variáveis retém seus valores, consulte Vida Útil das Variáveis. Instrução Option Explicit Você pode declarar implicitamente uma variável no Visual Basic simplesmente usando-a em uma instrução de atribuição. Entretanto, é recomendável que você declare explicitamente todas as variáveis. Isso reduz a incidência de erros devidos a conflitos de nomeação ou nomes escritos incorretamente. Além disso, todas as variáveis declaradas implicitamente serão do tipo Variant. Variáveis desse tipo exigem mais recursos de memória que a maioria dos outros tipos. O seu aplicativo será mais eficiente se você declarar variáveis explicitamente e com um tipo de dados específico.
•
•
•
• •
•
• •
• • •
Se você não quiser que o Visual Basic faça declarações explícitas, você pode colocar a instrução Option Explicit em um módulo, antes de quaisquer procedimentos. Essa instrução requer que você declare explicitamente todas as variáveis dentro do módulo. Se um módulo incluir a instrução Option Explicit, um erro em tempo de compilação ocorrerá quando o Visual Basic encontrar um nome de variável que não tenha sido previamente declarado, ou que tenha sido escrito incorretamente. Para incluir automaticamente a instrução Option Explicit em todos os módulos novos, clique em Opções no menu Ferramentas. Clique na guia Módulos da caixa de diálogo Opções, e então selecione a caixa de verificação Solicitar Declaração de Variável na seção Opções de Codificação. Observação Você precisa declarar explicitamente as matrizes fixas e matrizes dinâmicas. Para obter maiores informações sobre matrizes, consulte Usando Matrizes no Visual Basic. Declarando uma Variável de Objeto para Automação OLE Quando você usa o Microsoft Access para controlar os objetos de um outro aplicativo através de Automação OLE você deve definir uma referência à biblioteca de tipos do outro aplicativo. Uma vez que você tenha definido uma referência, você pode declarar variáveis de objeto de acordo com seu tipo mais específico. Por exemplo, quando você define uma referência à biblioteca de tipos do Microsoft Excel, você pode declarar uma variável do tipo Worksheet a partir do Microsoft Access para representar um objeto Worksheet do Microsoft Excel. Se você estiver usando um outro aplicativo para controlar objetos do Microsoft Access, em muitos casos você pode declarar variáveis de objeto de acordo com seu tipo mais específico. Você também pode usar a palavra-chave New para criar automaticamente uma nova instância de um objeto. Entretanto, você pode ter que indicar que se trata de um objeto do Microsoft Access. Por exemplo, quando você declara uma variável de objeto para representar um formulário do Microsoft Access a partir do Microsoft Visual Basic 4.0, você precisa distinguir o objeto Form do Microsoft Access de um objeto Form do Microsoft Visual Basic. Inclua o nome da biblioteca de tipos na declaração da variável, como no exemplo seguinte. Dim frmPedidos As New Access.Form Alguns aplicativos, como o Microsoft Excel, não reconhecem tipos de objeto individuais do Microsoft Access, Mesmo que você defina uma referência à biblioteca de tipos do Microsoft Access a partir do Microsoft Excel, você precisa declarar todas as variáveis de objeto do Microsoft Access como do tipo Object. Tampouco você pode usar a palavra-chave New para criar uma nova instância do objeto. O exemplo seguinte mostra como declarar uma variável para representar uma instância do objeto Application do Microsoft Access a partir do Microsoft Excel. Ele cria então uma instância do objeto Application. Dim appAccess As Object Set appAccess = CreateObject("Access.Application.7") Para determinar a sintaxe suportada por um aplicativo, consulte a documentação do aplicativo.
o
Type - Armazena uma configuração de tipos de dados que serão usados com frequência Qualquer tipo de dados definido com a instrução Type. Tipos de dado definidos pelo usuário podem conter um ou mais elementos de qualquer tipo de dados ou de um tipo de dados anteriormente definido pelo usuário. Por exemplo: Type MyType MyName As String ' Variável String armazena um nome. MyBirthDate As Date ' Variável Date armazena uma data de nascimento. MySex As Integer ' Variável Integer armazena sexo (0 para' feminino, 1 para masculino). End Type Type FontDisplay FontType As String FontSize As Long FontColor As String End Type Types definidos pelo usuário só podem ser declaradas no nivel modulo. Em um procedimento pode-se chamar este tipo de declaração com o comando DIM DIM MyFont As FontDisplay
o
With ...... End With Utilizado para economizar código e tornar o programa mais rapido With TxtName .Font.Bold = True .Font.Size = 24 .Text = ´´Hello, World!``
End With o o
Optional Arguments Deve-se usar sempre que um argumento não seja obrigatório mas eventual, como no caso do relatóro da posição diária a data de processamento pode ser Optional. Sempre que se utilizar a palavra chave Optional deve-se: Declarar argumentos opcionais no final da lista de argumentos requeridos Declarar todos os argumentos opcionais como Variant Não se pode usar a palavra chave Optional se já estiver em uso a palavra chave ParamArray
o o
o
ParamArray Usada apenas pelo último argumento em listadeargumento para indicar que o argumento final é uma matriz Optional de elementos Variant. A palavra-chave ParamArray permite fornecer um número arbitrário de argumentos. Não pode ser usada com ByVal, ByRef ou Optional. For.....Each Loop - É utilizado quando se trabalha com objetos e coleções
Function ForEachLoop() Dim NumberList(3) As Integer Dim Number As Variant NumberList(0) = 5 NumberList(1) = 12 NumberList(2) = 23 NumberList(3) = 34 For Each Number In NumberList Debug.Print Number Next End Function o
Procedimento SUB
o
Executa uma operação ou uma série de operações mas não retorna um valor Este exemplo usa a instrução Sub para definir o nome, argumentos e código que formam o corpo de um procedimento Sub. ' Definição do procedimento Sub. Sub SubComputeArea(Length, TheWidth) ' Procedimento Sub com dois argumentos. Dim Area As Double ' Declara variável local. If Length = 0 Or TheWidth = 0 Then ' Se um ou outro argumento = 0.então Exit Sub ' Sai de Sub imediatamente. End If Area = Length * TheWidth ' Calcula área do retângulo. Debug.Print Area ' Imprime Area para janela Depurar. End Sub
o
Verificando Erros Adding Watches expressoes
- Verifica valores de suas variaveis ou