Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Se quiser que uma consulta no Access peça valores de entrada sempre que for executada, pode criar uma consulta parametrizada.

Também pode criar um formulário para recolher valores de parâmetros que será utilizado para restringir os registos devolvidos para consultas, formulários ou relatórios. Este artigo explica como utilizar formulários para melhorar a sua utilização de parâmetros em consultas, formulários e relatórios.

Neste artigo

Descrição Geral

Pode utilizar critérios numa consulta parametrizada no Access para restringir o conjunto de registos que a consulta devolve. Poderá considerar que as caixas de diálogo fornecidas por uma consulta parametrizada são insuficientes para os fins pretendidos. Nesse caso, pode criar um formulário que se adeque melhor às suas necessidades de recolha de parâmetros. Este artigo explica como criar um formulário que recolha parâmetros de consultas e relatórios. Este artigo pressupõe que está familiarizado com a criação de consultas e a definição de parâmetros em consultas. No mínimo, deve estar familiarizado com a criação de uma consulta selecionar antes de continuar.

Este artigo fornece exemplos da utilização de parâmetros em consultas. Não fornece uma referência detalhada para especificar critérios.

Utilizar parâmetros em consultas

Utilizar um parâmetro numa consulta é tão fácil como criar uma consulta que utiliza critérios. Pode estruturar uma consulta para que esta lhe peça uma informação, como um número de peça, ou mais do que uma informação, como duas datas. Para cada parâmetro, uma consulta parametrizada apresenta uma caixa de diálogo em separado que lhe pede um valor para esse parâmetro.

Adicionar um parâmetro a uma consulta

  1. Crie uma consulta selecionar e, em seguida, abra a consulta na vista de Estrutura.

  2. Na linha Critérios de um campo ao qual pretende que seja aplicado um parâmetro, escreva o texto que pretende que a caixa de diálogo do parâmetro apresente, entre parêntesis retos. Por exemplo:

    [Data de Início]

    Ao executar a consulta parametrizada, o pedido é apresentado numa caixa de diálogo sem os parêntesis retos.

    Também pode utilizar uma expressão com os seus pedidos de parâmetros. Por exemplo:

    Entre [Data de Início] E [Data de Fim]

    Nota: Será apresentada uma caixa de diálogo em separado para cada pedido de parâmetro. No segundo exemplo, são apresentadas duas caixas de diálogo: uma para Data de Início e uma para Data de Fim.

  3. Repita o passo 2 para cada campo ao qual pretenda adicionar parâmetros.

Pode utilizar os passos anteriores para adicionar um parâmetro a qualquer um dos seguintes tipos de consulta: Selecionar, Cruzar, Acrescentar, Criar tabela ou Carregar.

Também pode adicionar um parâmetro a uma consulta união ao seguir estes passos:

  1. Abra a consulta união na vista SQL.

  2. Adicione uma cláusula WHERE que contenha todos os campos para os quais pretende pedir um parâmetro.

    Se já existir uma cláusula WHERE, verifique se os campos em que pretende utilizar um pedido de parâmetro já estão na cláusula. Se não estiverem, adicione-os.

  3. Em vez de utilizar um critério na cláusula WHERE, utilize um pedido de parâmetro.

Especificar tipos de dados de parâmetros

Também pode especificar o tipo de dados que um parâmetro deve aceitar. Pode especificar o tipo de dados para qualquer parâmetro, mas é especialmente importante especificar o tipo de dados para dados numéricos, de moeda ou de data/hora. Quando especificar o tipo de dados que um parâmetro deve aceitar, os utilizadores irão ver uma mensagem de erro mais útil se introduzirem o tipo de dados incorreto como, por exemplo, texto em vez de moeda.

Nota: Se um parâmetro estiver configurado para aceitar dados de texto, qualquer entrada é interpretada como texto e não é apresentada nenhuma mensagem de erro.

Para especificar o tipo de dados dos parâmetros numa consulta, siga estes passos:

  1. Com a consulta aberta na vista Estrutura, no separador Estrutura, no grupo Mostrar/Ocultar, clique em Parâmetros.

  2. Na caixa de diálogo Parâmetros da Consulta, na coluna Parâmetro, escreva o pedido para cada parâmetro para o qual pretende especificar o tipo de dados. Certifique-se de que cada parâmetro corresponde ao pedido utilizado na linha Critérios da grelha de estrutura da consulta.

  3. Na coluna Tipo de Dados, selecione o tipo de dados para cada parâmetro.

Criar um formulário que recolha parâmetros

Apesar de terem uma caixa de diálogo incorporada que recolhe parâmetros, as consultas parametrizadas fornecem apenas funcionalidades básicas. Ao utilizar um formulário para recolher parâmetros, irá obter as seguintes funcionalidades:

  • A capacidade de utilizar controlos específicos para tipos de dados, como controlos de calendário para datas.

  • Persistência dos parâmetros recolhidos, para poder utilizá-los com mais do que uma consulta.

  • A capacidade de fornecer uma caixa de combinação ou de listagem para a recolha de parâmetros, o que lhe permite escolher a partir de uma lista de valores de dados disponíveis.

  • A capacidade de fornecer controlos para outras funções, como abrir ou atualizar uma consulta.

O seguinte vídeo mostra como pode criar um formulário simples para recolher parâmetros para uma consulta, em vez de utilizar as caixas de diálogo normalmente associadas a consultas parametrizadas.

O seu browser não suporta vídeo. Instale o Microsoft Silverlight, o Adobe Flash Player ou o Internet Explorer 9.

Criar um formulário que recolha parâmetros para um relatório

Existem várias formas de abordar este cenário, mas iremos mostrar apenas uma técnica ao utilizar principalmente macros. Siga estes passos para criar um formulário que recolha parâmetros para um relatório.

Passo 1: criar um formulário que aceite entradas

  1. No separador Criar, no grupo Formulários, clique em Estrutura de Formulário.

  2. Na vista Estrutura, prima F4 para mostrar a folha de propriedades e, em seguida, especifique as propriedades do formulário, conforme apresentado na seguinte tabela.

    Propriedade

    Definição

    Legenda

    Introduza o nome que pretende que seja apresentado na barra de título do formulário.

    Vista Predefinida

    Formulário Simples

    Permitir Vista Formulário

    Sim

    Permitir Vista de Folha de Dados

    Não

    Permitir Vista de Tabela Dinâmica

    Não

    Permitir Vista de Gráfico Dinâmico

    Não

    Barras de Deslocamento

    Nenhuma

    Seletores de Registos

    Não

    Botões de Navegação

    Não

    Estilo de Limite

    Caixa de diálogo

  3. Para cada parâmetro que pretenda que o formulário recolha, clique em Caixa de Texto no grupo Controlos no separador Estrutura.

  4. Defina as propriedades das caixas de texto, conforme apresentado na seguinte tabela.

    Propriedade

    Definição

    Nome

    Introduza um nome que descreva o parâmetro. Por exemplo, DataDeInício.

    Formato

    Selecione um formato que reflita o tipo de dados do campo de parâmetro. Por exemplo, selecione Data Geral para um campo de data.

  5. Guarde o formulário e atribua-lhe um nome, como frmCritérios.

Passo 2: criar um módulo de código para verificar se o formulário de parâmetros já foi carregado

  1. No separador Criar, no grupo Macros e Código, clique em Módulo

    Será aberto um novo módulo no Visual Basic Editor.

  2. Escreva ou cole o seguinte código no Visual Basic Editor:

    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
      If oAccessObject.CurrentView <> acCurViewDesign Then
        IsLoaded = True
      End If
    End If
    End Function
    
  3. Guarde o módulo com um nome exclusivo e, em seguida, feche o Visual Basic Editor.

Passo 3: criar uma macro que controle o formulário e o relatório

Ao utilizar as funcionalidades de submacro das macros do Access, podemos definir todos os passos que precisamos de executar numa única macro. Vamos criar quatro submacros (Caixa de Diálogo Abrir, Caixa de Diálogo Fechar, OK e Cancelar) para controlar as várias tarefas necessárias para este procedimento. Utilize a captura de ecrã abaixo como guia e crie uma nova macro com as seguintes submacros e ações. Nota: neste exemplo, o nosso formulário de parâmetros chama-se frmCritérios. Ajuste a sua macro para corresponder ao nome do formulário que criou anteriormente. Também terá de certificar-se de que clica em Mostrar Todas as Ações no separador Estrutura para ver todas as ações de macro.

Captura de ecrã de uma macro do Access com quatro submacros e ações.

Guarde e feche a macro. Atribua um nome à macro, por exemplo, Macro de Intervalo de Datas.

Passo 4: adicionar os botões de comando OK e Cancelar ao formulário

  1. Abra novamente o formulário de parâmetros que criou na vista Estrutura.

  2. Certifique-se de que a opção Utilizar Assistentes de Controlo, no grupo Controlos, no separador Estrutura não está selecionada.

  3. No separador Estrutura, no grupo Controlos, clique em Botão.

  4. Posicione o ponteiro por baixo das caixas de texto no seu formulário e, em seguida, arraste para criar um botão de comando OK.

  5. Se a folha de propriedades não estiver visível, prima F4 para a apresentar.

  6. Defina as propriedades do botão OK, conforme apresentado na seguinte tabela.

    Propriedade

    Definição

    Nome

    OK

    Legenda

    OK

    Predefinição

    Sim

    AoFazerClique

    Introduza o nome da macro. Por exemplo, Macro de Intervalo de Datas.OK.

  7. Crie um botão de comando Cancelar e defina as suas propriedades, conforme apresentado na seguinte tabela.

    Propriedade

    Definição

    Nome

    Cancelar

    Legenda

    Cancelar

    AoFazerClique

    Introduza o nome da macro. Por exemplo, Macro de Intervalo de Datas.Cancelar.

  8. Guarde e feche o formulário.

Passo 5: utilizar os dados do formulário como critérios de consulta

  1. Abra a consulta que criou anteriormente na vista Estrutura.

  2. Introduza os critérios dos dados. Utilize o objeto Formulários, o nome do formulário e o nome do controlo:

    • Por exemplo, numa base de dados do Access (.accdb ou .mdb), para o formulário com o nome frmCritérios, utilize a seguinte expressão para se referir aos controlos com o nome Data de Início e Data de Fim na consulta:

      Entre [Formulários]![frmCritérios]![Data de Início] E [Formulários]![frmCritérios]![Data de Fim]

Passo 6: adicionar as ações de macro aos eventos de relatório

  1. Abra o relatório que pretende utilizar na vista Estrutura.

  2. Se a folha de propriedades não estiver visível, prima F4 para a apresentar.

  3. Certifique-se de que a propriedade Origem de Registos do relatório está a utilizar a consulta parametrizada que definiu anteriormente.

  4. Defina estas duas propriedades de relatório adicionais, conforme apresentado na seguinte tabela.

    Propriedade

    Definição

    AoAbrir

    Introduza o nome da macro. Por exemplo, Macro de Intervalo de Datas.Caixa de Diálogo Abrir.

    AoFechar

    Introduza o nome da macro. Por exemplo, Macro de Intervalo de Datas.Caixa de Diálogo Fechar.

    No evento Abrir do relatório, o Access irá devolver-lhe as ações definidas na submacro Caixa de Diálogo Abrir do objeto Macro de Intervalo de Datas. Da mesma forma, quando fechar o relatório, o Access irá devolver-lhe as ações definidas na submacro Caixa de Diálogo Fechar do objeto Macro de Intervalo de Datas.

  5. Guarde e feche o relatório.

Passo 7: experimentar

Agora que criou todos os objetos do Access, só falta experimentar. Abra o relatório na Vista de Relatório ou Pré-visualização e repare que, antes de o Access mostrar o relatório, o seu formulário de parâmetros é aberto no modo de caixa de diálogo. Introduza os critérios necessários nas caixas de texto que criou anteriormente e, em seguida, clique no botão de comando OK no formulário. Em seguida, o Access oculta o formulário (Visível = Não) e abre o relatório com apenas os dados que correspondem aos seus critérios. Isto funciona porque a consulta parametrizada em que o relatório é baseado consegue ler os valores nos controlos no formulário ocultado. Quando fechar o relatório, o Access também irá fechar o formulário de parâmetros.

Início da Página

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.