Como implementar a função DPesquisa no Visual Basic

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: 99704
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Microsoft Access fornece um conjunto de domínio ou registro definir, funções que são úteis em Obtendo o valor de um campo com base em critérios envolvendo outro campo. A função de domínio DPesquisa é particularmente útil.

Embora Visual Basic não contenha a função DPesquisa, você pode escrever o equivalente usando código do Visual Basic. Este artigo descreve como implementar a função de domínio DPesquisa no Visual Basic.
Mais Informações
No Microsoft Access, a função de domínio DPesquisa retornará o valor de um campo para um determinado conjunto de critérios. A sintaxe para a função DPesquisa é da seguinte maneira:
   DLookup(expr, domain , criteria)				

   Argument   Description   ----------------------------------------------------------------   expr       String expression identifying the field that contains              the data you want to return. Operands in expr can              include the name of a table field.   domain     String expression identifying the records that              constitute the record set. It can be a table name,              query name, or SQL expression that returns data.   criteria   Optional string expression used to restrict the range              of data on which DLookup is performed. For example,              criteria could be the SQL expression's WHERE clause              without the word WHERE. If criteria is omitted, DLookup              evaluates expr against the entire record set.				

Passo a passo para uma função de DPesquisa personalizada Visual Basic

As seguintes etapas mostram pelo exemplo de como criar uma função DPesquisa personalizada do Visual Basic.
  1. Inicie o Visual Basic ou no menu File, escolha New Project (ALT, F, N) se o Visual Basic já estiver sendo executado. O Form1 é criado por padrão.
  2. Adicione os seguintes controles com as propriedades associadas ao Form1:
       Control          Name       Property Settings   -------------------------------------------------------------   Command Button   Command1   Caption = "Lookup"   Label            Label2   Data             Data1      Databasename = "BIBLIO.MDB"                               RecordSource = "Authors"   Label            Label1     DataSource = Data1                               DataField = Author						
  3. Adicione o seguinte código à seção declarações gerais de Form1:
       Dim gDefaultDatabase As Database						
  4. Adicione o seguinte código à seção geral de Form1:
       'Enter the following two lines as one, single line:   Function DLookup (ByVal FieldName As String, ByVal RecSource      As String, ByVal Criteria As String) As Variant      Dim dsResult As Dynaset      Dim ReturnValue As Variant      On Local Error GoTo Error_DLookup:      'Create a dynaset based on the record source or SQL string provided      Set dsResult = gDefaultDatabase.CreateDynaset(RecSource)      'Find the first record that meets the criteria provided      dsResult.FindFirst Criteria      'See if we found any records      If Not dsResult.NoMatch Then         'Return the value of the field         DLookup = dsResult(FieldName).Value      Else          DLookup = Null      End If   DLookup_Exit:   Exit Function   Error_DLookup:       'Display the error and get out       MsgBox "Error (" & Err & "): " & Error(Err) & " in DLookup", 64       Resume DLookup_Exit:   End Function						
  5. Adicione o seguinte código ao procedimento de evento Command1_Click:
       Sub Command1_Click ()      'Get the first book title for the current author.      'Enter the following two lines as one, single line:      Label2.Caption = DLookup("Title", "Titles", "Au_ID = " &         Format(data1.Recordset("Au_ID")))   End Sub						
  6. Adicione o seguinte código ao procedimento de evento Form_Load do Form1:
       'Cause the records to be read from the database. This is   'needed to initialize the Database property.   data1.Refresh   'Keep the default database in a global variable to be used   'by the DLookup function   Set gDefaultDatabase = data1.Database						
  7. No menu ' Executar ', escolha Start (ALT, R, S) ou pressione F5 para executar o programa.
  8. Clique nas setas direcionais no controle de dados para exibir nomes de autor diferente no Label1.
  9. Clique no botão de pesquisa e título para exibir um dos livros do autor em Label2.
Conforme demonstrado neste programa exemplo, você pode usar DPesquisa para retornar um valor de campo, como título do livro com base no valor de outro campo, como identificação do autor.

Exemplos mostrando como usar DPesquisa

Abaixo estão alguns exemplos mais mostrando como você pode usar a função DPesquisa.

No exemplo a seguir, da tabela autores no banco de dados de exemplo BIBLIO.MDB do Visual Basic, DPesquisa usa o campo Au_ID para retornar o nome do autor correspondente para o autor cuja ID é 17. Presuma que AuthorName variável é uma seqüência de caracteres.
   AuthorName = DLookup("Author", "Authors", "Au_ID = 17")				

Se o argumento de critérios contiver texto não-numéricos diferente de nomes de campo, você deverá colocar o texto entre aspas simples. No exemplo a seguir da tabela de títulos do banco de dados BIBLIO.MDB, ISBN é o nome de um campo e 0895886448 é uma seqüência de caracteres literal.
   BookTitle1 = DLookup("Title", "Titles", "ISBN = '0895886448'")   BookTitle2 = DLookup("Title", "Titles", "Au_Id = 17")				

Mesmo se mais de um registro satisfaz a critérios, DPesquisa retornará apenas um campo. Se nenhum registro satisfizer critérios, ou se o domain não contiver registros, DPesquisa retornará um nulo.
3,00

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 99704 - Última Revisão: 12/04/2015 09:28:45 - Revisão: 1.1

Microsoft Visual Basic 3.0 Professional Edition

  • kbnosurvey kbarchive kbmt KB99704 KbMtpt
Comentários