Mensagem de erro quando você adicionar programaticamente um novo registro a uma tabela usando o evento NotInList da caixa de combinação em um formulário no Microsoft Access: "O texto é inserido não é um item na lista"

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

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: 824176


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

Para uma versão deste artigo do Microsoft Access 97, consulte 161007.
Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.
Sintomas
Quando você tenta adicionar um novo registro programaticamente a uma tabela utilizando o evento NotInList da caixa de combinação em um formulário, você pode receber a seguinte mensagem de erro:
O texto digitado não é um item na lista.

Selecione um item da lista ou digite o texto que corresponde a um dos itens listados.
No entanto, o novo registro com êxito é adicionado à tabela. Como resultado, o novo item que você inseriu é adicionado à lista de itens na caixa de combinação.
Causa
Esse problema ocorre quando a caixa de combinação está acoplada a uma coluna número do tipo de dados e a propriedade formato para a coluna é definida como Moeda ou para o Euro .
Como Contornar
Para contornar esse problema, digite o valor na caixa de combinação que coincida com o formato da coluna que a caixa de combinação está acoplada. Por exemplo, se o formato da coluna for Moeda , digite $ 20 em vez de 20 .

No entanto, se o formato da coluna é definido em euros , talvez não seja possível digitar um número que coincide com o formato da coluna.

Observação Se você redefinir a propriedade de formato da coluna, o problema não ocorre.
Mais Informações
Você também pode receber a mensagem de erro quando você digita um número que corresponde a um item na caixa de combinação que já existe. Esse problema pode ocorrer se o número digitado não coincidir com as entradas formatadas de conjunto de registros subjacente que já existe.

Etapas para reproduzir o comportamento no Microsoft Office Access 2003

  1. Inicie o Microsoft Access.
  2. Crie um novo banco de dados Db1.mdb.
  3. Para criar a tabela de exemplo necessários, execute essas etapas:
    1. Na janela banco de dados, clique em tabelas sob objetos .
    2. No painel de direito, clique duas vezes criar tabela no modo de design .
    3. Na primeira linha do Nome do campo coluna, digite identificação e defina o Tipo de dados correspondente como AutoNumeração .
    4. Na segunda linha do Nome do campo coluna, digite taxas e, em seguida, defina o Tipo de dados correspondente como número .
    5. No painel de Propriedades do campo , clique na guia Geral .
    6. Defina a propriedade formato para Moeda .
    7. No menu arquivo , clique em Salvar .
    8. Na caixa de diálogo Salvar como , digite taxas e em seguida, clique em OK .
    9. No menu arquivo , clique em Fechar .
  4. Na janela banco de dados, clique em formulários sob objetos .
  5. No painel direito, clique duas vezes em Criar formulário no modo de design .
  6. Adicionar uma caixa de combinação ComboTest ao formulário e, em seguida, defina as propriedades da seguinte maneira:

    Nome:ComboTest
    Coluna acoplada:1
    TipoDeOrigemDaLinha:Tabela/consulta
    Origem da linha:Rates.ID SELECT, rates.rates FROM taxas;
    Expandir automaticamente:Sim
    Limite a lista:Sim
    Número de colunas:2
    Larguras de coluna:0 "; 1"
  7. No menu Exibir , clique em código para abrir o Editor do Visual Basic.
  8. Cole o seguinte código no NotInList evento da caixa de combinação ComboTest . Observação O exemplo de código neste artigo utiliza Microsoft Data Access objetos. 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.
       Dim Db As DAO.Database   Dim Rs As DAO.Recordset   Dim Msg As String          Msg = "'" & NewData & "' is not in the list." & vbCr & vbCr       Msg = Msg & "Do you want to add it?"       If MsgBox(Msg, vbQuestion + vbYesNo) = vbNo Then           Response = acDataErrContinue          MsgBox "Try again."       Else           Set Db = CurrentDb           Set Rs = Db.OpenRecordset("Rates", dbOpenDynaset)           Rs.AddNew           Rs![Rates] = NewData           Rs.Update           Response = acDataErrAdded       End If
  9. No menu arquivo , clique em Salvar .
  10. Na caixa de diálogo Salvar como , digite FormTest e, em seguida, clique em OK .
  11. No menu arquivo , clique em Fechar .
  12. No painel de direito da janela banco de dados, clique duas vezes em FormTest .
  13. Digite um número na caixa de combinação e pressione ENTER a chave.

    O evento NotInList é acionado. Você receber a mensagem de erro mencionada na seção "Sintomas" deste artigo.
Referências
Para obter mais informações sobre o evento NotInList, clique em Ajuda do Microsoft Access no menu Ajuda , digite o Evento NotInList no Assistente do Office ou no Assistente de resposta e, em seguida, clique em Pesquisar para exibir o tópico. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
197526ACC2000: Usar o evento NotInList para adicionar um registro para caixa de combinação
ACC2000 ACC2002 ACC2003 ACC2007

Propriedades

ID do Artigo: 824176 - Última Revisão: 04/13/2007 20:58:27 - Revisão: 2.1

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

  • kbmt kbtshoot kbexpertiseinter kbformat kbevent kberrmsg kbdatabinding kbcombobox kbprb KB824176 KbMtpt
Comentários