Como exibir números de linha em registros do subformulário no Access 2002

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: 325236
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para uma versão deste artigo do Microsoft Access 97, consulte 120913.
Para uma versão deste artigo do Microsoft Access 2000, consulte 210340.

Avançadas: Requer especialista de codificação, interoperabilidade e habilidades de multiusuário.

Este artigo se aplica somente a um banco de dados do Microsoft Access (.mdb).

NESTA TAREFA

Sumário
Este artigo mostra como criar e como usar um procedimento para exibir a linha atual ou o número da linha atual em um subformulário.

back to the top

Como criar a função GetLineNumber()

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. Os exemplos a seguir demonstram como criar e como usar a função de exemplo, GetLineNumber() .

Observação : O exemplo códigos este artigo utiliza Microsoft Data Access Objects. Para que este código seja executado corretamente, você deve fazer referência a Microsoft DAO 3.6 Object Library. Para fazer isso, clique em referências no menu Ferramentas no Editor do Visual Basic e veja que a caixa de seleção Microsoft DAO 3.6 Object Library está selecionada.

  1. Abra o banco de dados de exemplo Northwind.mdb.
  2. Crie um módulo e, em seguida, digite a seguinte linha na seção Declaração:
    Option Explicit					
  3. Digite o seguinte procedimento:
    Function GetLineNumber (F As Form, KeyName As String, KeyValue)   Dim RS As DAO.Recordset   Dim CountLines   On Error GoTo Err_GetLineNumber   Set RS = F.RecordsetClone   ' Find the current record.   Select Case RS.Fields(KeyName).Type      ' Find using numeric data type key value.      Case dbInteger, dbLong, dbCurrency, dbSingle, dbDouble, dbByte         RS.FindFirst "[" & KeyName & "] = " & KeyValue         ' Find using date data type key value.      Case dbDate         RS.FindFirst "[" & KeyName & "] = #" & KeyValue & "#"         ' Find using text data type key value.      Case dbText         RS.FindFirst "[" & KeyName & "] = '" & KeyValue & "'"      Case Else         MsgBox "ERROR: Invalid key field data type!"         Exit Function   End Select   ' Loop backward, counting the lines.   Do Until RS.BOF      CountLines = CountLines + 1      RS.MovePrevious   LoopBye_GetLineNumber:   ' Return the result.   GetLineNumber = CountLines   Exit FunctionErr_GetLineNumber:   CountLines = 0   Resume Bye_GetLineNumberEnd Function					
A função GetLineNumber() requer três parâmetros a seguintes:
  • O objeto de formulário no qual colocar números de linha.
  • O nome do campo chave exclusivo na tabela base do subformulário. Se a fonte do Registro não tiver um único campo de chave exclusivo, adicione um campo com um tipo de dados AutoNumeração para a tabela subjacente para essa finalidade.
  • O valor atual do campo de chave.
Você pode usar a expressão de exemplo a seguir como a configuração da propriedade OrigemDoControle de uma caixa de texto em um subformulário, se a tabela base do subformulário tem um campo que é chamado de ID como seu campo de chave exclusivo:
=GetLineNumber(Form,"ID",[ID])				
back to the top

Como usar a função GetLineNumber()

cuidado : se você seguir as etapas neste exemplo, você modificar o banco de dados de exemplo Northwind.mdb. Convém fazer o backup do arquivo Northwind.mdb e seguir essas etapas numa cópia do banco de dados.

  1. Abra a tabela Detalhes do pedido no modo Design, adicione o seguinte campo à tabela e, em seguida, salvar a tabela:
       Field Name: ID   Data Type:  AutoNumber						
    este campo serve como o campo exclusivo único necessário para a tabela.
  2. Abra a consulta detalhes adicionais do pedido no modo de design, adicione o campo ID da tabela Detalhes do pedido para a grade da consulta e, em seguida, salve a consulta.
  3. Abra o formulário subformulário no modo de design e, em seguida, adicione a seguinte caixa de texto à seção detalhe do formulário:
       Name: LineNum   ControlSource: =GetLineNumber([Form], "ID", [ID])					
  4. No menu Exibir , clique em Ordem de tabulação . Arraste o campo LineNum da parte inferior da lista ordem personalizada para a parte superior e, em seguida, clique em OK .
  5. Salve e feche o subformulário.
  6. Abra o formulário Pedidos no modo de formulário e mova para um registro com vários itens de linha de ordem. Observe que a caixa de texto LineNum exibe o número do Registro para cada produto na ordem.
back to the top
ACC2002

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 325236 - Última Revisão: 12/07/2015 11:39:13 - Revisão: 5.0

Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbprogramming kbhowto kbusage KB325236 KbMtpt
Comentários