ACC2000: Função CaixaDeMensagem ignora no sinal (@) formatação

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: 242889
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.

Este artigo se aplica a um banco de dados do Microsoft Access (.mdb) e para um projeto Microsoft Access (.adp).

Sintomas
No Microsoft Access 2000, o sinal de arroba (@) não oferece formatação especial quando você utiliza com a função MsgBox .
Causa
A função MsgBox fornecida pelo Microsoft Visual Basic Editor (Vbe6.dll) não dá suporte a formatação fornecida pelo sinal de arroba (@).
Resolução
Há duas soluções possíveis. Uma solução é usar a ação CaixaDeMensagem em uma macro. Outra solução é escrever uma função definida pelo usuário que usa a função Eval para chamar a função MsgBox .

Criar uma macro que usa a ação CaixaDeMensagem

  1. Na janela banco de dados, clique em macros sob objetos e, em seguida, clique em novo .
  2. Na janela Macro, clique na seta em ação e, em seguida, clique em MsgBox na lista de ação .
  3. Pressione F6 para mover o ponteiro para a caixa de mensagem em Argumentos da ação .
  4. Digite a seguinte mensagem na caixa de mensagem :
    Botão errado!@Este botão não funciona.@Tente outro.
  5. No menu arquivo , clique em Salvar como e, em seguida, clique em OK para salvar a macro com o nome padrão.
  6. No menu Executar , clique em Executar . Observe que a primeira linha da mensagem está em negrito.

Criar a função FormattedMsgBox

A função Eval força o Visual Basic for Applications expressão serviço para avaliar a função MsgBox separadamente do Editor do Visual Basic e, portanto, é possível aproveitar no sinal de formatação. O exemplo a seguir usa uma função definida pelo usuário chamada FormattedMsgBox em vez da função MsgBox . Para criar a função FormattedMsgBox, execute essas etapas:
  1. Inicie o Microsoft Access.
  2. Abra o banco de dados de exemplo Northwind.mdb.
  3. Crie um novo módulo.
  4. Adicione o procedimento a seguir ao módulo:
    Function FormattedMsgBox(Prompt As String, _                         Optional Buttons As VbMsgBoxStyle = vbOKOnly, _                         Optional Title As String = "Microsoft Access", _                         Optional HelpFile As Variant, _                         Optional Context As Variant) As VbMsgBoxResult    Dim strMsg As String    If IsMissing(HelpFile) Or IsMissing(Context) Then       strMsg = "MsgBox(" & Chr(34) & Prompt & Chr(34) & ", " & Buttons & _                 ", " & Chr(34) & Title & Chr(34) & ")"    Else       strMsg = "MsgBox(" & Chr(34) & Prompt & Chr(34) & ", " & Buttons & _                 ", " & Chr(34) & Title & Chr(34) & ", " & Chr(34) & _                      HelpFile & Chr(34) & ", " & Context & ")"    End If    FormattedMsgBox = Eval(strMsg)End Function					
  5. Salve o módulo usando o nome padrão que aparece na caixa Nome do módulo .
  6. Quando você deseja usar a formatação especial fornecida pelo sinal de arroba, chamar a função FormattedMsgBox em vez da função MsgBox interna. Por exemplo:
    Sub TestMsgBox()    Dim lngResult As Long    lngResult = FormattedMsgBox("Extremely Important@This is an invalid operation.@Refer to online help.", _        vbCritical + vbOkOnly, "Microsoft Access")End Sub					
Mais Informações
Em versões anteriores do Microsoft Access, você pode usar o sinal para partes do formato do texto da mensagem em uma função MsgBox . Quando você usa dois em sinais no texto da função MsgBox , o texto delimitado pelo sinal de arroba é separado em três parágrafos na caixa de mensagem, com o primeiro parágrafo em negrito.

Essa funcionalidade é fornecida pelo Visual Basic para biblioteca de aplicativos (Vba332.dll) no Microsoft Access 97. Com a integração do Editor do Visual Basic da Microsoft, Microsoft Access 2000 não implementa Vba332.dll.

Etapas para reproduzir o problema

  1. Inicie o Microsoft Access.
  2. Abra o banco de dados de exemplo Northwind.mdb.
  3. Crie um novo módulo.
  4. Adicione o seguinte código para o módulo:
    Option Compare DatabaseOption ExplicitSub FormatMessage()    Dim strMsgText As String    strMsgText = "Extremely Important@This is an invalid operation.@" & _                 "Refer to online help."    MsgBox strMsgTextEnd Sub					
  5. Execute este procedimento na janela Verificação imediata.
Observe que a mensagem contém a seqüência literal "extremamente Important@This é um operation.@Refer inválido a Ajuda on-line." No Microsoft Access 95 e 97, esta mensagem está formatada em três parágrafos separados com o texto "Extremamente importante" em negrito, semelhante à seguinte:
extremamente importante

Esta é uma operação inválida.

Consulte a Ajuda on-line.
PRB

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 242889 - Última Revisão: 10/22/2013 01:08:43 - Revisão: 3.0

Microsoft Access 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbprb KB242889 KbMtpt
Comentários