[A BÍBLIA DO VBA NO ACCESS]: MACROS E PROGRAMAÇÃO VBA NO ACCESS - CURSO COMPLETO

Páginas: 1164 | Autor: Júlio Battisti | 50% de Desconto e 21 Super Bônus

Você está em: PrincipalArtigosAccess 2007 Avançado › Capítulo 1 : 11
Quer receber novidades e e-books gratuitos?
›››
« Anterior Δ Página principal ¤ Índice Próxima »

Curso Grátis - Access 2007 Avançado, Macros e Programação VBA
Autor: Júlio Battisti
Lição 11 - Capítulo 01 - Técnicas Avançadas na Utilização de Formulários - Parte 1

         Neste tópico iremos abordar "Técnicas Avançadas na Utilização de Formulários". Serão apresentados diversos conceitos importantes e de grande utilidade prática na utilização do Microsoft Access 2007.

         Conforme foi descrito no ítem sobre "Arquitetura do Microsoft Access 2007", podemos ter um formulário baseado em uma Tabela ou em uma Consulta. Utilizamos "Formulários", para criar uma interface mais amigável, tanto para a entrada quanto para a exibição de dados. Podemos também fazer a validação dos dados, através de um formulário. Por exemplo, se um campo código somente pode aceitar os valores 1, 2 e 3. Podemos utilizar algumas técnicas para que não seja aceita a digitação de um valor igual a 4, por exemplo.

         Também podemos utilizar os formulários para realizar cálculos. Vamos supor que você possui uma tabela de preços em Dólar e, utilizando a cotação diária do Dólar, deseja converter o valor em dólar para o valor em Reais. Para isso, você pode utilizar um campo calculado em um formulário, de tal maneira que o cálculo seja feito automaticamente.

         Também podemos utilizar os formulários para facilitar a execução de consultas com diferentes parâmetros, criando uma interface mais intuitiva e mais fácil de utilizar.

         Você pode utilizar os formulários, para uma infinidade de situações, dentre as quais se destacam as seguintes:

         Exibição e edição de dados: Esta é a utilização mais comum para os formulários. Eles fornecem um modo de personalizar a apresentação dos dados em seu banco de dados. Você também pode usar os formulários para facilitar a modificação, adição ou exclusão de dados, conforme descrito anteriormente, inclusive fazendo a validação dos dados digitados. Podemos definir opções em um formulário para impedir a modificação de todos os campos de um registro ou de apenas alguns campos. Podemos fazer com que informações em tabelas relacionadas, sejam preenchidas de forma automática, com base nos dados digitados em um formulário, o que não é possível de ser feito, quando digitamos os dados diretamente em um tabela. Podemos calcular valores, podemos exibir ou ocultar dados com base nos valores de outros campos ou com base em opções do formulário, escolhidas pelo próprio usuário.

         Controle do fluxo do aplicativo: Podemos criar formulários que funcionem com macros ou funções do VBA, para automatizar a exibição de determinados dados ou a seqüência de determinadas ações. Podemos criar controles especiais, chamados "Botões de Comando", que executam uma macro ou uma rotina do VBA sempre que o botão for clicado. Com as macros e rotinas do VBA, podemos abrir outros formulários, executar consultas, restringir os dados exibidos e as permissões do usuário sobre os dados exibidos ( somente leitura, leitura e alteração, etc), executar um comando de menu, definir valores nos registros e formulários, exibir menus, imprimir relatórios, enfim, executar qualquer ação reconhecida pelo Microsoft Access 2007. Também podemos associar Macros e rotinas do VBA com uma variedades de eventos dos formulários, conforme descrito no ítem "Eventos" do tópico 5.

Uma infinidade de possibilidades estão disponíveis através dos formulários. Quando desenvolvemos um aplicativo em Microsoft Access 2007, utilizamos os Formulários para criar toda a interface do aplicativo. Com isso o acesso aos dados, alteração dos mesmos, execução de consultas, impressão de relatórios, execução de macros e rotinas VBA, podem ser feitas através dos formulários, o que acaba funcionando com uma Interface mais amistosa para o Usuário final.

Então mãos a obra. Vamos aprender os diversos conceitos propostos e além disso, vamos fazer alguns exercícios passo-a-passo, de tal forma que os conceitos apresentados possam ser fixados.

IMPORTANTE à Para o acompanhamento deste tópico é importante que você já tenha conhecimento dos conceitos básicos sobre formulários, tais como criar formulários utilizando os Assistentes de Formulários, saiba a diferença entre Modo Design e Modo Formulário e saiba a modificar o layout dos formulários criados pelos assistentes. São consideradas modificações de layout, operações tais como Movimentar campos, alinhar campos e controles, acessar e alterar as propriedades de campos e controles. Também é importante que você saiba utilizar os comandos básicos dos Menus e da Barra de Ferramentas dos formulários. Todos estes conceitos e técnicas foram vistos no curso "Microsoft Office Access 2007 - Recursos Básicos", o qual é Pré-requisito para o curso de Técnicas Avançadas.

7.1 - Os diversos controles de formulários e propriedades avançadas:

            Neste ítem veremos uma série de controles que podem ser utilizados nos formulários, bem como quando utilizar cada um deles e as principais propriedades dos mesmos.Para visualizar tais controles vá na guia Design do formulário>controles.

Rótulo(Controle de Formulário):

Você utiliza rótulos em um formulário ou relatório para exibir textos descritivos, tais como títulos, legendas ou instruções breves. Os rótulos não exibem valores de campos ou expressões; são sempre não acoplados (um controle que não está conectado a um campo de uma tabela) e não são alterados conforme você se move de registro em registro.

Um rótulo pode ser anexado a um outro controle. Quando você cria uma caixa de texto, por exemplo, ela possui um rótulo anexado que exibe uma legenda para aquela caixa de texto. Esse rótulo aparece como um título de coluna no modo Folha de Dados de um formulário.

Quando você cria um rótulo utilizando a ferramenta Rótulo ( O botão "Aa" da Caixa de Ferramentas), o rótulo fica isolado - ele não fica anexado a nenhum outro controle. Você utiliza rótulos independentes para informações como o título de um formulário ou relatório, ou para outros textos descritivos. Rótulos independentes não aparecem no Modo Formulário.

No exemplo da figura a seguir, foi utilizado um Rótulo para adicionar um título no Cabeçalho do Formulários.


Figura 99 – Utilizando o controle Rótulo para colocar um título no Formulário.

         Observe que podemos formatar o texto de um rótulo, aumentando o tamanho da fonte, alterando a cor da fonte e a cor de segundo plano, aplicando negrito, etc. Todos estas ações foram vistas no curso de Recursos Básicos.

De uma forma geral, utilizamos o controle "Rótulo" para adicionar texto ao formulário. Pode ser texto informativo, títulos para o formulário e rótulos para campos. Como alterar o texto, formatar a fonte e alterar outras propriedades dos rótulos, aprendemos no curso de Recursos Básicos.

            Vamos a mais um controle de formulário.

Caixa de texto:

Você utiliza caixas de texto em um formulário ou relatório para exibir dados de uma tabela, de uma consulta ou de uma instrução SQL. Esse tipo de caixa de texto é chamada caixa de texto acoplada porque está acoplada aos dados de um campo em uma Tabela. As caixas de texto podem também ser não acopladas. Por exemplo, você pode criar uma caixa de texto não acoplada para exibir os resultados de um cálculo ou para aceitar entrada de um usuário. Os dados em uma caixa de texto não acoplada não são armazenados em nenhum lugar.

Acessamos o controle Caixa de texto, através do botão Adicionar Campos Existentes ”Lista de Campos” ( caso a Caixa de texto seja acoplada com algum campo) ou através do botão "ab" da Caixa de Controle na Guia Design. Na Guia Design você encontrará uma série de botões. Cada botão nos dá acesso a um controle específico, conforme indicado na  a seguir:


Figura 100 - A Caixa de Ferramentas.

Criar uma caixa de texto acoplada:
  • Abra um formulário no Modo Design;
  • Vá na Guia Design -> Ferramentas-> Clique no botão Adicionar Campos Existentes, aparecerá para você a caixa de diálogo Lista de Campos. Se o botão ou o comando de lista de campos não estiver disponível, você terá que acoplar o formulário ou relatório a uma origem de registro utilizando a propriedade OrigemDoRegistro.
  • Selecione um ou mais campos da lista de campos;
  • Arraste o(s) campo(s) da lista de campos e coloque-o(s) no formulário ou relatório;

Observações:

  • Você deve arrastar o campo a partir da lista de campos ou dá um duplo clique sobre o campo. Se você clicar no campo da lista de campos e, em seguida, clicar no formulário ou relatório, o Microsoft Access não criará o controle.
  • O Microsoft Access coloca uma caixa de texto no formulário ou no relatório para cada campo que você selecionar na lista de campos. Cada caixa de texto está acoplada a um campo na fonte de dados ( normalmente uma tabela ou consulta) base do formulário ou relatório. Cada caixa de texto também tem por padrão um rótulo acoplado.
  • Dimensione a caixa de texto de forma que ela tenha o tamanho apropriado para os dados que você deseja mostrar;
  • Altere o texto do rótulo, se for necessário;
  • Alterne para modo Formulário, modo Folha de Dados ou Visualizar Impressão para testar o controle.
Criar uma caixa de texto não acoplada
  • Abra um formulário no Modo Design ou um relatório no Modo Design;
  • Clique na ferramenta Caixa de Texto na caixa de ferramentas;
  • Clique em qualquer lugar do formulário ou do relatório para criar uma caixa de texto de tamanho padrão ou arraste para criar uma caixa de texto do tamanho desejado;
Criar um controle calculado
  • Abra um formulário em Modo Design ou um relatório em Modo Design;
  • Clique na ferramenta na caixa de ferramentas do tipo de controle que você deseja utilizar como controle calculado;

Observação: Uma caixa de texto é o tipo mais comum de controle utilizado para exibir um valor calculado, mas você pode utilizar qualquer controle que tenha uma propriedade Origem do Controle.

  • No formulário ou relatório, clique onde você deseja posicionar o controle;
  • Proceda de uma das maneiras a seguir:
  • Se o controle for uma caixa de texto, você pode digitar a expressão diretamente no controle.
  • Se o controle não for uma caixa de texto ou se for uma caixa de texto e você deseja criar a expressão utilizando o Construtor de Expressões, certifique-se de que o controle esteja selecionado, clique no botão Folha de Propriedade  na barra de ferramentas para abrir a caixa de diálogo folha de propriedades.


Figura 101 - Folha de Propriedades.

 Dê um clique na aba todas, posteriormente em frente a caica de Fonte de Controle, na sequencia no botão Construir  para abrir o Construtor de Expressões.


Figura 102 - Construtor de Expressões.

Observações

  • Em um controle calculado, anteceda cada expressão pelo operador =.
  • Se um formulário for baseado em uma consulta, convém colocar a expressão na consulta em vez de em um controle calculado.

Exemplo: Vamos supor que no formulário existe um campo Preço_Unitário e um campo Quantidade. Você deseja introduzir uma Caixa de Texto para calcular o valor de cada ítem do pedido multiplicando o Preço_Unitário pela quantidade. Neste caso, na propriedade Origem do controle, você colocaria o seguinte:

=[Preço_Unitário]*[Quantidade]

Veremos maiores detalhes sobre campos calculados em um dos ítens deste tópico.

CUIDADO: Uma propriedade muito importante do controle Caixa de texto, é a propriedade " Fonte do controle". No caso de uma Caixa de texto vinculada a um campo de uma tabela, esta propriedade deve conter o nome do campo ao qual a caixa de texto está vinculada.

            Um erro bastante comum acontece quando o nome de um campo é alterado na tabela. Por exemplo, se o nome do campo era "Data Pagamento" e você altera para "Data do Pagamento", a caixa de texto no formulário continua com a propriedade " Fonte do controle" com o nome antigo "Data Pagamento", com isso os dados do campo não podem ser exibidos e acontece um erro do tipo #Nome, conforme indicado pela figura a seguir:


Figura 103 - Erro do tipo #Nome.

            Para corrigir este erro, você precisa alterar a propriedade "Fonte do controle" para que a mesma contenha o novo nome do campo. Quando você tem uma série de formulários, isso pode ser extremamente trabalhoso. Por isso que é importante fazer uma estudo e planejamento bem detalhados do Banco de dados, de tal maneira que não sejam necessárias alterações tais como renomear campos em tabelas, para que estas alterações não acabem gerando uma série de problemas como este erro #Nome.

Grupo de Opções:

Você pode utilizar um grupo de opções em um formulário ou relatório para exibir um conjunto limitado de alternativas. Um grupo de opção torna fácil selecionar um valor, já que basta clicar no valor que você deseja. Apenas uma opção pode ser selecionada de cada vez em um grupo de opções.

Um grupo de opções consiste em uma moldura para o grupo e um conjunto de caixas de seleção, botões de opção ou botões alternar.

Figura 104 - Um Grupo de opções que utilizam botões de opção.

Abaixo temos um exemplo de um Grupo de opções com caixas de seleção:


Figura 105 - Um Grupo de opções que utilizam caixas de seleção.

         Cada opção em um "Grupo de opções" possui um valor associado. Esses valores podem ser definidos quando criamos o Grupo de opções. No exemplo da figura anterior poderíamos ter os seguintes valores associados:

Opção scolhida

Valor associado

Sedex

1

DHL

2

World Mail

3

Outro

4

         Conforme descrito anteriormente, esses valores são definidos na hora em que colocamos um controle "Grupo de opções" em um formulário. Não precisam necessariamente ser valores numéricos, podem ser quaisquer valores definidos pelo usuário.

         Uma vez escolhido uma opção do grupo, duas coisas podem ser feitas:

  • Armazenar o valor para uso posterior.
  • Armazenar o valor em um campo de tabela.

Por exemplo, posso apenas armazenar o valor da opção escolhida para calcular o valor do Frete e somente armazenar o Frete em uma tabela.

Posso, ao invés disso, armazenar o valor 1 em um campo de uma tabela, o qual indica que a opção escolhida foi Sedex e somente calcular o valor do Frete na hora de emissão da Nota Fiscal ou na hora de emitir um relatório sobre entregas.

Ao arrastarmos um controle Grupo de opções da Caixa de Ferramentas para o Modo Design do formulário, o Microsoft Office Access 2007 abre um assistente com alguns passos, o qual facilita a criação do controle. Vamos a um exemplo prático.

Exemplo:
Criar um Formulário chamado "Pedidos2" utilizando o assistente "Auto formulário: Colunar". Depois adicionar um controle Grupo de Opções com 4 opções, conforme indicado na figura anterior.

Para fazer isso faça o seguinte:

  • Crie um novo formulário baseado na tabela pedidos. Utilize o assistente "Auto formulário: Colunar". Será criado um formulário em forma de coluna, com os campos da tabela Pedidos;
  • Vá para o Modo Design do formulário;
  • Na Guia Design, dê um clique no botão , depois dê um clique no formulário, no local onde você deseja inserir o Grupo de opções. Ao clicar no formulário, você pode segurar o mouse pressionado e arrastar para aumentar o tamanho do controle conforme a sua necessidade;
  • Feito isso será aberta a primeira tela do "Assistente de grupo de opções", conforme indicado pela próxima figura. Nesta primeira tela vamos digitar as opções que queremos que apareçam no grupo. Uma opção em cada linha. Digite: Sedex, DHL, World mail e Outra;


Figura 106 - Primeira tela do "Assistente do grupo de opções".

  • Clique em avançar para ir para o próximo passo do assistente;
  • Na tela do segundo passo, você pode escolher qual das opções do grupo que será a opção padrão. Opção padrão é a escolhida pelo Microsoft Access 2007, caso você não clique em nenhuma das opções. A opção padrão já vem marcada quando o formulário é aberto. No nosso exemplo, manteremos Sedex como a opção padrão, conforme indicado na próxima figura:


Figura 107 - Selecionando a opção padrão para o Grupo de opção.

  • Clique em avançar para ir para o próximo passo do assistente;
  • Na tela do terceiro passo do assistente,  você define os valores associados a cada uma das opções do Grupo de opções. Por padrão, o Microsoft Office Access 2007associa os valores 1 para a primeira opção, 2 para a segunda e assim por diante. conforme indicado na próxima figura;


Figura 108 - Valores padrão sugeridos pelo Microsoft Access 2007.

  • Clique em avançar para ir para o próximo passo do assistente;
  • Na tela do quarto passo do assistente, você escolhe se o valor da opção escolhida deve ser armazenado para uso posterior ou deve ser armazenado em um campo de uma tabela. Selecione "Salvar o valor para uso posterior", conforme indicado pela próxima figura;


Figura 109 - Salvando o valor da opção escolhida para uso posterior.

  • Clique em avançar para ir para o próximo passo do assistente;
  • Na tela do quinto passo, você define a aparência do Grupo de opções. Você pode escolher se deseja "Botões de opção", "Caixas de seleção" ou "Botões de alternar". Além disso você pode definir outros aspectos do layout do Grupo de opções. A medida que você vai escolhendo as opções, o Microsoft Office Access 2007 mostra o resultado no canto superior esquerdo. Defina as opções conforme indicado na Próxima figura.


Figura 110 - Definindo as opções de Layout. À esquerda um exemplo das opções escolhidas.

  • Clique em avançar para ir para o próximo passo do assistente;
  • Na tela do sexto e último passo do assistente de grupo de opções, você define o rótulo para o Grupo de opções. Este rótulo é simplesmente um texto descritivo do que é o Grupo de opções que você está criando. Digite um rótulo conforme indicado na próxima figura;


Figura 111 - Definindo um rótulo para o Grupo de opções.

  • Vá para o modo formulário e observe. Deverá ter sido criado um Grupo de opções, conforme indicado na próxima figura. Neste grupo você tem quatro opções. Observe que a opção Sedex já vem selecionada, uma vez que você definiu essa opção como padrão. Cada vez que você clica em uma opção, um valor é associado com o Grupo de opções, conforme a tabela abaixo:

Opção scolhida

Valor associado

Sedex

1

DHL

2

World Mail

3

Outro

4


Figura 112 - Grupo de opção já criado e sendo exibido no modo Formulário.

Neste ítem vimos o que é o controle "Grupo de opções", e o funcionamento do mesmo e como criar um Grupo de opções, utilizando o "Assistente de grupo de opções". Agora vamos seguir nossa trajetória aprendendo mais alguns controles.

Botão de Alternância:

 

Você pode utilizar um Botão de Alternância em um formulário como um controle autônomo para exibir um valor Sim/Não de uma tabela, consulta ou instrução SQL base. Por exemplo, o botão de Alternância da ilustração a seguir está acoplado ao campo Descontinuado na tabela Produtos do banco de dados de exemplo Northwind. O tipo de dados do campo Descontinuado é Sim/Não. Quando o botão está pressionado, o valor na tabela Produtos é Sim. Quando o botão não está pressionado, o valor na tabela Produtos é Não.


Figura 113 – Botão.

Quando você clica em um botão de alternância que está acoplado a um campo Sim/Não, o Microsoft Access exibe o valor na tabela base de acordo com a propriedade Formato do campo (Sim/Não, Verdadeiro/Falso ou Ativado/Desativado).

Os botões de alternância são mais úteis quando utilizados em um grupo de opção com outros botões. Em um grupo de opção, você pode dizer facilmente se um botão está pressionado.

Adicionar uma figura a um botão de comando ou a um botão alternar
  • Abra um formulário no Modo Design;
  • Clique no botão de comando ou no botão de alternância e, em seguida, clique em Folha de Propriedades  , para abrir sua folha de propriedades;
  • Na caixa da propriedade vá em imagem, digite o caminho e o nome de arquivo para um arquivo .bmp, .ico ou .dib. Se você não tem certeza do caminho ou do nome do arquivo, clique no botão Construir  para abrir o Construtor de Figuras;

Você pode também utilizar um botão de alternância em uma caixa de diálogo personalizada para aceitar entrada do usuário.

A maneira de criar uma caixa de seleção, um botão de opção ou um botão de alternância depende se você deseja que ele seja um controle autônomo que esteja acoplado a um campo Sim/Não, um controle que seja parte de um grupo de opção ou um controle não acoplado;

Botão de Opção

  

Tem a mesma função do Botão de Alternância.

Caixa de Seleção

Tem a mesma função do Botão de Alternância.

Caixa de Combinação

 

Em muitos casos, é mais rápido e fácil selecionar um valor em uma lista do que lembrar de um valor a ser digitado. Com uma caixa de combinação, é possível fazer as duas coisas sem utilizar muito espaço em um formulário. Uma caixa de combinação é como uma caixa de texto e uma caixa de listagem combinadas.
Por exemplo, se você tem um campo Cidade, onde somente existe uma lista de valores possíveis. Vamos supor: Santa Maria, Cachoeira do Sul e Santa Cruz do sul. É muito mais fácil criar uma lista com estes três valores, para que o usuário escolha um deles, do que ter que digitar o nome da cidade cada vez. Além disso, ao escolher o valor em uma lista, evitam-se erros de digitação.


Figura 114 – Lista.

Quando você digita texto ou seleciona um valor em uma caixa de combinação e ela está acoplada, o valor digitado ou selecionado é inserido no campo ao qual a caixa de combinação está acoplada.

A lista de uma caixa de combinação consiste em linhas de dados. As linhas podem ter uma ou mais colunas, que podem aparecer com ou sem cabeçalhos. Se uma caixa de combinação de várias colunas estiver acoplada, o Microsoft Access armazenará os valores de uma das colunas. Essa coluna é chamada de "Coluna acoplada" e pode ser configurada através das propriedades da Caixa de Combinação.

Você pode exibir o valor mais significativo da lista, como um nome de funcionário, e armazenar um valor diferente, como sua matrícula.

Você pode utilizar uma caixa de combinação não acoplada para armazenar um valor que você possa utilizar com um outro controle. Você poderia, por exemplo, utilizar uma caixa de combinação não acoplada para limitar os valores em uma outra caixa de combinação ou em uma caixa de diálogo personalizada. Você também poderia utilizar uma caixa de combinação não acoplada para localizar um registro baseado no valor que você selecionar na caixa de combinação.

As caixas de combinação possuem uma propriedade Limitar a Uma Lista que você pode utilizar para controlar se qualquer valor pode ser inserido na lista ou somente texto coincidente com um dos valores da lista.

Se em seu formulário houver espaço e você desejar que uma lista apareça todas as vezes, ou se você sempre desejar limitar a inserção de dados aos valores da lista, convém utilizar uma caixa de listagem em vez de uma caixa de combinação.

Primeiro vamos a um exemplo, depois veremos mais algumas propriedades avançadas de um controle do tipo "Caixa de combinação".

Exemplo:
Inserir uma "Caixa de combinação" no Formulário "Pedidos". Esta "Caixa de combinação" deverá estar acoplada ao campo CidadeDestino, de tal maneira que quando for escolhido um valor na Caixa de combinação, o mesmo será armazenado no campo CidadeDestino da tabela Pedidos. A Caixa de combinação será baseada na tabela clientes, isto é, os valores da lista serão buscados a partir do campo CidadeDestino da tabela Clientes. Com isso a lista sempre estará atualizada e mostrando a listagem apenas das Cidades para os quais existem clientes cadastrados.

Para realização deste exemplo faça:

  • Abra o formulário Pedidos  no Modo Design;
  • Na Guia Design dê um clique no botão , depois dê um clique no formulário, onde você deseja inserir o Botão Caixa de Combinação. Ao clicar no formulário, você pode segurar o mouse pressionado e arrastar para aumentar o tamanho do controle conforme a sua necessidade;
  • Ao colocar o controle no formulário, será aberto o "Assistente de caixa de combinação", conforme indicado pela próxima figura;


Figura 115 - A primeira etapa do Assistente de caixa de combinação.

            Nesta primeira etapa, temos que escolher dentre três opções, conforme descrito na tabela abaixo:

Opção

Descrição

Eu quero que a caixa de combinação procure os valores em uma tabela ou consulta.

Os valores que irão formar a lista serão obtidos a partir de dados de uma tabela, através de uma instrução SQL.

Eu digitarei os valores que eu desejo.

Os valores que irão formar a lista serão digitados em uma das próximas etapas do assistente de caixa de combinação.

Encontre um registro no meu formulário baseado no valor que eu selecionarei na caixa de combinação

Pode ser utilizado para localizar um registro com base em um valor selecionado na caixa de combinação. Vamos supor que você tem uma caixa de combinação que exibe os números de pedidos. Ao selecionar um número na listagem, o Microsoft Office Access 2007pode localizar o registro para o pedido selecionado.

  • No nosso exemplo, iremos buscar os valores da lista na tabela clientes. Para isso deixe a primeira opção marcada;
  • Dê um clique em avançar para ir para a próxima etapa do assistente;
  • Na segunda etapa do assistente, você escolhe de onde virão os dados se de uma tabela ou consulta e qual o nome da tabela ou consulta. Deixe marcado tabelas e na lista de nomes que aparece, dê um clique em Clientes, conforme indicado pela figura abaixo.


Figura 116 - Selecionando a tabela de onde será obtida a lista de Cidades.

  • Dê um clique em avançar para ir para a próxima etapa do assistente;
  • Na terceira etapa do assistente, iremos definir qual o campo ( ou quais os campos) que irão compor a listagem. Cada campo escolhido, será exibido em uma coluna diferente na listagem. Por exemplo, se você escolher três campos, a caixa de combinação terá três colunas. Selecione o campo CidadeDestino, conforme indicado na próxima figura;


Figura 117 – CidadeDestino Selecionada.

  • Dê um clique em avançar para ir para a próxima etapa do assistente;
  • Na quarta etapa do assistente,  o Microsoft Office Access 2007 já exibe uma listagem com os dados extraídos diretamente da tabela Clientes. Observe que a listagem não está classificada em ordem alfabética. Observe também que existem valores repetidos. Por exemplo, se existirem 10 Clientes em Uberlândia-MG, a cidade Uberlândia-MG aparecerá 10 vezes na listagem. No assistente não temos como resolver esse problema e classificar a listagem. Faremos isso através de algumas das propriedades do controle, após o mesmo ter sido criado. Observe também a opção "Ocultar coluna chave ( recomendado )". Quando o Microsoft Office Access 2007 cria a listagem, por padrão além do campo escolhido também é selecionado o campo Chave Primária da tabela, caso exista algum. Dê um clique para desmarcar esta opção, você verá uma coluna para o campo "CódigoDoCliente", o qual é a chave primária da tabela Clientes. Deixe esta opção marcada e dê um clique no botão "Avançar" para ir para a próxima etapa do assistente.
  • Na quinta etapa do assistente, o Microsoft Office Access 2007 nos dá duas opções: "Lembrar o valor para uso posterior" ou " Armazenar o valor neste campo." Vamos escolher a opção "Armazenar o valor neste campo" e escolher o campo CidadeDestino. Com isso o valor selecionado na caixa de combinação, será armazenado no campo CidadeDestino do formulário, o qual é acoplado com o campo CidadeDestino da tabela Pedidos;
  • Dê um clique em avançar para ir para a próxima etapa do assistente;
  • Na última etapa do assistente, você fornece um rótulo descritivo para a caixa de combinação. Digite "Escolha a Cidade" e dê um clique no botão "Concluir" para encerrar o assistente e criar a caixa de combinação;

Acabamos de criar a Caixa de combinação. Enquanto ainda estamos no Modo Design do formulário Pedidos, vamos analisar algumas propriedades importantes do controle Caixa de combinação.

Algumas propriedades importantes dos controles do tipo "Caixa de combinação:"

  • Origem da linha: Esta é uma das propriedades mais importantes. Nesta propriedade fica armazenado o comando SQL que busca os dados que serão exibidos pela caixa de combinação. Utilizaremos esta propriedade para classificar a listagem e eliminar os valores duplicados. Faça o seguinte:
  • Ainda no Modo Design do formulário dê um clique sobre a Caixa de combinação recém criada e no menu que surge, dê um clique em propriedades. O clique com o botão direito deve ser dedo sobre a caixa de combinação ( parte da direita ) e não sobre o rótulo ( parte da esquerda). Surge uma janela com as propriedades da caixa de combinação, na guia Todas, localize a propriedade "Origem da linha", conforme indicado na próxima figura.


Figura 118 – Utilizando a propriedade "Origem da linha" da Caixa de combinação.

  • Dê um clique no botão Construir , ao lado da propriedade para abrir a grade de construção da instrução SQL, grade esta semelhante a que utilizamos para criar consultas, conforme indicado na figura abaixo.


Figura 119 – Grade para alteração da Instrução SQL que fornece os dados para a caixa de combinação.

  • Exclua da grade o campo Código do Cliente, clique no botão Totais para que a linha possa ficar ativa (conforme visto no tópico sobre Consultas ), e no campo CidadeDestino, escolha Agrupar Por. Em classificação escolha Crescente, conforme indicado na figura a seguir.


Figura 120 – Alterando a propriedade Origem do controle.

         OBS: Nunca salve essa consulta, pois você estará gerando um nova consulta desnecessariamente. Ao invés disso vamos gravar somente o comando SQL. Para isso clique no botão com o x ( x mais de baixo, pois o de cima irá fechar o Microsoft Access 2007). O Microsoft Office Access 2007 irá perguntar se você deseja salvar a Instrução SQL, dê um clique em Sim e pronto a propriedade Origem do controle já está alterada para não exibir valores repetidos e classificada em ordem crescente e você voltará a janela de propriedades da caixa de combinação.

  • Quando alteramos a Instrução SQL, algumas outras propriedades não são atualizadas automaticamente. Por exemplo, tínhamos duas colunas CódigoDoCliente e CidadeDestino, porém excluímos o campo CódigoDoCliente, mas a propriedade Número de colunas continua com o valor 2, quando o correto deveria ser um. Vamos corrigir mais algumas propriedades da nossa Caixa de controle.
  • Número de colunas: Esta propriedades indica o número de colunas que terá a caixa de combinação, incluindo colunas ocultas. Faça o seguinte:
  • Se você tiver saído da janela de propriedades da Caixa de combinação, abra-a novamente e localize a propriedade "Número de colunas."
  • Altere o valor da propriedade "Número de colunas" para 1, pois estamos somente com a coluna CidadeDestino.
  • Largura das colunas: Esta propriedade é utilizada para especificar o tamanho das colunas em cm. Caso haja mais do que uma coluna, os diferentes tamanhos devem ser separados por Ponto e vírgula. Caso seja necessário ocultar uma determinada coluna, basta colocar um tamanho 0 ( zero ) para a mesma. Faça o seguinte:
  • Se você tiver saído da janela de propriedades da Caixa de combinação, abra-a novamente e localize a propriedade "Largura das colunas."
  • Observe que a propriedade possui o seguinte valor: 0cm;2,54cm. Isso indica que a primeira coluna está sendo ocultada e a segunda está sendo exibida com uma largura de 2,54cm. Porém após alterarmos a instrução SQL, a primeira coluna ( CódigoDoCliente) não existe mais.
  • Altere o valor desta propriedade para: 3cm, isto é, teremos uma única coluna com 3 cm de largura.
  • Coluna acoplada: Esta propriedade é utilizada para especificar o valor de qual das colunas que será utilizado para armazenagem no campo acoplado. O valor 1, indica a primeira coluna visível a partir da esquerda, 2 indica a segunda coluna visível a partir da esquerda e assim por diante.

Não precisamos alterar esta propriedade, pois ela já está com o valor correto de 1, visto que temos apenas uma coluna.

Vamos ver a Caixa de combinação em funcionamento:

  • Vá para o modo Formulário do formulário Pedidos;
  • Abra a Caixa de combinação "Escolha a CidadeDestino" e observe que os nomes das Cidades não se repetem, além disso a listagem está classificada em ordem crescente, conforme indicado pela figura a seguir.


Figura 121 – Lista sem repetições e classificada em ordem crescente.

« Anterior Δ Página principal ¤ Índice Próxima »

ESTA LIÇÃO FAZ PARTE DO SEGUINTE LIVRO DO JÚLIO BATTISTI:

 

Se você não quiser aguardar até que todas as lições sejam publicadas aqui no site (previsão de conclusão para o final de 2017), você pode ter acesso a todas as lições comprando o livro a seguir e ainda receber, de bônus, mais de 37 horas de Vídeo Aulas de Access.

 

Aprenda com Júlio Battisti: Access 2007 Avançado,

Macros e Introdução à Programação VBA

  • Crie campos calculados, critérios avançados e Consultas Parametrizadas.

  • Aprenda os comandos SQL em detalhes.

  • Criação e Utilização de Macros.

  • Configurações de Segurança do Banco de dados.

  • Exemplos práticos explicados passo a passo.

  • Introdução à programação VBA com exemplos.

  • BôNUS: 37,5 horas de Vídeo Aulas de Excel e Acc.ess +  DVD com 3167 E-books + 2400 Planilhas Profissionais Editáveis do Excel de bônus.

Aprenda com Júlio Battisti: Access 2007 Avançado, Macros e Introdução à Programação VBA

Aprenda com Júlio Battisti: Access 2007 Avançado, Macros e Introdução à Programação VBA

Na compra deste livro você recebe, via Download, todos os Bônus a Seguir:

  • Bônus 01: Vídeo Aula: Access 2007 - Básico e Prático - 5:30 horas

  • Bônus 02: Vídeo Aula: Access 2007 - Consultas - 4:30 horas

  • Bônus 03: Vídeo Aula: Access 2007 - Intermediário - 5:00 horas

  • Bônus 04: Vídeo Aula: Access 2007 - Formulários e Macros - 6:00 horas

  • Bônus 05: Vídeo Aula: Access 2007 - Avançado e VBA - 11:30 horas

  • Bônus 06: Pacote com 3167 E-books com Cursos de Informática.


Livros e Vídeo Aulas sobre Banco de Dados:

A Bíblia de Banco de Dados SQL e o Modelo Relacional de Dados

Apre.nda com Júlio Battisti: Acc.ess 2010 Avançado, Macros e Programação VBA - Passo a Passo

Apre.nda com Júlio Battisti: Banco de Dados e Acc.ess 2010 - Através de Exemplos Práticos - Passo a Passo

[186 Vídeo Aulas em 3 DVDs - Frete Grátis]: Linguagem SQL + Banco de Dados + Análise e Modelagem de Banco de Dados - Curso Completo - 186 Vídeo Aulas - 3 DVDs

  [Vídeo Aula - Frete Grátis:] Oracle PL SQL Procedures Functions Triggers Forms Reports - Curso Completo - 182 Vídeo Aulas - 3 DVDs

Best Sellers de Access do Julio Battisti

Todos com Vídeo Aulas, E-books ou Exemplos de Brinde!

Programação VBA no Access 2010 - Passo a Passo

 Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 1164 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Access 2010 Básico em 140 Lições - Através de Exemplos Práticos

Access 2010 - Curso Completo - Passo a Passo

Livro: Aprenda com Júlio Battisti: Access 2010 Completo, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1602 | Editora: Instituto Alpha

 

Livro: Aprenda com Júlio Battisti: Access 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Todos os livros com dezenas de horas de vídeo aulas de bônus, preço especial (alguns com 50% de desconto). Aproveite. São poucas unidades de cada livro e por tempo limitado.

Dúvidas?

Utilize a área de comentários a seguir.

Me ajude a divulgar este conteúdo gratuito!

Use a área de comentários a seguir, diga o que achou desta lição, o que está achando do curso.
Compartilhe no Facebook, no Google+, Twitter e Pinterest.

Indique para seus amigos. Quanto mais comentários forem feitos, mais lições serão publicadas.

Quer receber novidades e e-books gratuitos?
›››

Novidades e E-books grátis

Fique por dentro das novidades, lançamento de livros, cursos, e-books e vídeo-aulas, e receba ofertas de e-books e vídeo-aulas gratuitas para download.



Institucional

  • Quem somos
  • Garantia de Entrega
  • Formas de Pagamento
  • Contato
  • O Autor
  • Endereço

  • Júlio Battisti Livros e Cursos Ltda
  • CNPJ: 08.916.484/0001-25
  • Rua Vereador Ivo Cláudio Weigel, 537 Universitário
  • Santa Cruz do Sul/RS
  • CEP 96816-208
  • Todos os direitos reservados, Júlio Battisti 2001-2017 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI