Como implementar a consulta por QBF (formulário) em um projeto do Access

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 286828
Avançadas: Requer especialista de codificação, interoperabilidade e habilidades de multiusuário.

Este artigo se aplica somente a um projeto Microsoft Access (.adp).

Para uma versão deste artigo do Microsoft Access 2000, consulte 235359.
Sumário
Este artigo mostra como usar um formulário do Microsoft Access para especificar os critérios de consulta em um projeto do Access.
Mais Informações
Em um banco de dados do Access (.mdb) ou em um banco de dados do Microsoft Office Access 2007 (.accdb), você pode usar a consulta por técnica de formulário (QBF) para criar um "formulário de consulta" em que você insira critérios. O formulário de consulta contém caixas de texto em branco ou caixas de combinação, cada uma representando um campo em sua tabela que você deseja consultar. Criar entradas somente nas caixas para o qual você deseja especificar critérios de pesquisa.

Você também pode implementar a técnica QBF um Access projeto. Em um projeto do Access, você deve usar um procedimento armazenado para localizar registros que você deseja exibir e, em seguida, criar um formulário adicional para exibir a saída do procedimento armazenado, da seguinte maneira.

Criar um procedimento armazenado

Siga estas etapas para criar um procedimento armazenado que você usará para retornar dados para um formulário:
  1. Abra o projeto do Access de exemplo NorthwindCS.adp. <drive>Por padrão, esse arquivo é instalado no <unidade>: \ < pasta de exemplos de Microsoft Access >.
  2. No Microsoft Office Access 2003 ou no Microsoft Access 2002, clique em Query no menu Inserir .

    No Microsoft Access 2007, clique na guia criar .
  3. No Access 2003 ou no Access 2002, clique em Criar texto de Stored Procedure na caixa de diálogo Nova consulta e, em seguida, clique em OK .

    No Access 2007, clique em Stored Procedure no outro grupo.
  4. Digite instruções Transact-SQL a seguir na janela de procedimento armazenado:
    Create Procedure "QBFProc"    @CustomerID varchar(10), @EmployeeID int, @OrderDate datetime    As    Declare @SQLSTRING  varchar(1000)    Declare @SelectList varchar(1000)    SET NOCOUNT ON    SELECT @SelectList = 'SELECT * FROM Orders'    --Check to see if CustomerID search criteria is NULL.    --If it contains a value, Begin to construct a WHERE clause.    IF @CustomerID Is NOT NULL          BEGIN            SELECT @SQLString = 'WHERE CustomerID = ''' + @CustomerID + ''''        END    --Check to see if EmployeeID search criteria is NULL.     --If it contains a value, add additional information to the WHERE clause.      IF @EmployeeID Is NOT NULL        BEGIN            IF @SQLSTRING Is NOT NULL                 BEGIN                    SELECT @SQLSTRING = @SQLSTRING + ' AND EmployeeID = ' + Convert(varchar(100), @EmployeeID)                END            ELSE                 BEGIN                    SELECT @SQLSTRING = 'WHERE EmployeeID = ' + Convert(varchar(100), @EmployeeID)                END        END    --Check to see if OrderDate search criteria is NULL.     --If it contains a value, add additional information to the WHERE clause.      IF @OrderDate Is NOT NULL        BEGIN            IF @SQLSTRING Is NOT NULL                 BEGIN                    SELECT @SQLSTRING = @SQLSTRING + ' AND OrderDate = ''' + Convert(varchar(20), @OrderDate) + ''''                END            ELSE                BEGIN                    SELECT @SQLSTRING = 'WHERE OrderDate = ''' + Convert(varchar(20), @OrderDate) + ''''                END        END    --Concatenate the SELECT and the WHERE clause together    --unless all three parameters are null in which case return    --@SelectList by itself without criteria.    IF @CustomerID IS NULL AND @EmployeeID IS NULL AND @OrderDate IS NULL	BEGIN	    SELECT @SelectList = @SelectList	END    ELSE	BEGIN	    SELECT @SelectList = @SelectList + ' ' +  @SQLSTRING	END    --Execute the SQL statement.    EXECUTE(@SELECTLIST)					
  5. Salve o procedimento armazenado com o nome padrão de QBFProc e feche o procedimento.

Criar a consulta por formulário

Siga estas etapas para criar o formulário QBF_Form, que você irá usar para escolher os critérios de pesquisa usados pelo procedimento armazenado.
  1. Criar um novo formulário que não é baseado em qualquer tabela ou consulta e denomine QBF_Form.
  2. No Access 2003 ou no Access 2002, certifique-se que o botão Assistentes de controle não é pressionado na caixa de ferramentas. No Access 2007, certifique-se de que Usar assistentes de controle de botão não esteja pressionado o grupo de controles . Em seguida, adicionar três caixas de combinação ao formulário com as atribuições de propriedade a seguir:
       Combo Box:   Name: cboCusID   Row Source Type: Table/View/StoredProc   Row Source: SELECT CustomerID FROM Customers   Combo Box:   Name: cboEmpID   Row Source Type: Table/View/StoredProc   Row Source: SELECT EmployeeID, LastName FROM Employees   Column Count: 2   Column Widths: 0;1   Bound Column: 1   Combo Box:   Name: cboOrder   Row Source Type: Table/View/StoredProc   Row Source: SELECT OrderDate FROM Orders					
  3. Adicionar um botão de comando ao formulário com as atribuições de propriedade a seguir:
       Name: cmdOpenFinal   Caption: Open Form   On Click: [Event Procedure]					
  4. Clique no botão Construir (...) à direita da [procedimento de evento] e defina o procedimento da seguinte maneira:
    Private Sub cmdOpenFinal_Click()    DoCmd.OpenForm "frmFinal", acFormDSEnd Sub					
  5. Salve e feche o formulário, certificando-se de salvar o formulário como QBF_Form.

Criando o formulário para exibir os resultados

Siga estas etapas para criar o formulário frmFinal, que exibirá os resultados do procedimento armazenado com base nos critérios que você digitar na QBF_Form.
  1. No Access 2003 ou no Access 2002, clique em consultas em objetos na janela banco de dados e clique em procedimento QBFProc armazenadas para que ele tenha o foco.

    No Access 2007, clique em formulários de grupo no painel de navegação e em procedimento QBFProc armazenadas para que ele tenha o foco.
  2. No Access 2003 ou no Access 2002, clique em AutoFormulário no menu Inserir .

    No Access 2007, clique na guia criar e, em seguida, clique em formulário no grupo de formulários .
  3. Quando você for solicitado para inserir um parâmetro, clique em Cancelar .
  4. Salve o formulário que você acabou de criar como frmFinal.
  5. Definir a propriedade ParâmetrosDeEntrada deste formulário para:
    @CustomerID varchar(10) = Forms!QBF_Form!cboCusID, @EmployeeID int = Forms!QBF_Form!cboEmpID, @OrderDate datetime = Forms!QBF_Form!cboOrder					
  6. Salve e feche o formulário frmFinal.
Para usar o exemplo que você acabou de criar, abra o QBF_Form formam e selecionar valores em qualquer ou todas as caixas de combinação. Clique o botão de comando para abrir o formulário frmFinal, que exibirá quaisquer registros correspondentes que atendem aos critérios que você selecionou no formulário QBF_Form.
Referências
Para obter informações adicionais sobre QBF em um banco de dados do Access, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
209645ACC2000: Como utilizar a técnica de consulta, formulário (QBF)
Para obter informações adicionais sobre TRANSACTA-SQL (TSQL) e criar procedimentos armazenados com parâmetros de entrada, visite o seguinte site:
inf consulta pelo formulário ACC2002 reviewdocid ACC2007

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 286828 - Última Revisão: 11/14/2007 08:55:20 - Revisão: 5.2

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition

  • kbmt kbadp kbprogramming kbdesign kbdatabase kbdta kbhowto KB286828 KbMtpt
Comentários