Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se ao: Access 2013, Office 2013
Um bloco de dados PesquisarRegistro executa um conjunto de ações em um registro específico.
Observação
O bloco de dados PesquisarRegistro está disponível somente em Macros de Dados.
Setting
A ação PesquisarRegistro tem os seguintes argumentos.
Argumento |
Obrigatório |
Descrição |
|---|---|---|
Em |
Sim |
Uma cadeia de caracteres que identifica o registro a ser utilizado. O argumento In pode conter o nome da tabela, uma consulta selecionada ou uma instrução SQL. OBSERVAÇÃO: o registro especificado não pode incluir dados armazenados em uma tabela vinculada ou fonte de dados ODBC. |
Condição Where |
Não |
Uma expressão de cadeia de caracteres usada para restringir o intervalo de dados no qual o bloco de dados PesquisarRegistro opera. Por exemplo, os critérios geralmente são equivalentes à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se os critérios forem omitidos, o bloco de dados LookupRecord funcionará em todo o domínio especificado pelo argumento In . Qualquer campo incluído nos critérios também deve ser um campo em Em. |
Alias |
Não |
Uma cadeia de caracteres que fornece um nome alternativo para o registro especificado pelo argumento In . Comumente usado para reduzir o nome da tabela para subsequentes referências, evitando referências ambíguas. Se o Alias não for especificado, o nome da tabela ou da consulta será usado como o alias. |
Comentários
Se os critérios especificados pelos argumentos In e Where Condition retornarem mais de um registro, o bloco de dados LookupRecord funcionará apenas no primeiro registro. No caso de nenhum registro corresponder aos critérios especificados, o Access ignorará o conjunto de ações contidas no bloco LookupRecord , como se tivesse sido uma expressão de bloco de macro If avaliada como false.
Exemplo
O exemplo a seguir mostra como usar a ação SetReturnVar para retornar um valor de uma macro de dados nomeada. Um ReturnVar chamado CurrentServiceRequest é retornado à sub-rotina de macro ou Visual Basic for Applications (VBA) que chamou a macro de dados nomeada.
Código de exemplo fornecido pelaReferência do programador do Microsoft Access 2010.
RunDataMacro
Macro Name tblServiceRequests.dmGetCurrentServiceRequest
Parameters
prmAssignedTo =[ID]
SetProperty
Control Name txtCurrentSR
Property Value
Value =[ReturnVars]![CurrentServiceRequest]
O exemplo a seguir mostra como usar a ação RaiseError para cancelar o evento de macro de dados Antes de Alterar. Quando o campo AssignedTo é atualizado, um bloco de dados LookupRecord é usado para determinar se o técnico atribuído está atribuído atualmente a uma solicitação de serviço aberta. Se isso for true, o evento Before Change será cancelado e o registro não será atualizado.
/* Get the name of the technician */
Look Up A Record In tblTechnicians
Where Condition =[tblTechnicians].[ID]=[tblServiceRequests].[AssignedTo]
SetLocalVar
Name TechName
Expression [tblTechnicians].[FirstName] & " " & [tblTechnicians].[LastName]
/* End LookUpRecord */
If Updated("AssignedTo") Then
Look Up A Record In tblServiceRequests
Where Condition SR.[AssignedTo]=tblServiceRequests[AssignedTo] And
SR.[ID]<>tblServiceRequests.[ID] And IsNull(SR.[ActualCompletionDate])
Alias SR
RaiseError
Error Number 1234
Error Description ="Cannot assign a request to the specified technician: " & [TechName]
End If