Entrar

Erro: Propriedade DBCombo SelectedItem não é actualizada quando escreve seleçã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.

281940
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você usa os tipo-ahead recursos de pesquisando do controle DBCombo de DBList32.ocx, a propriedade SelectedItem não é atualizada e DBCombo não reflete a entrada correspondente for encontrada.
Resolução
Uma correção suportada está agora disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente aos computadores que apresentarem esse problema específico. Pode ser nessa correção testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, a Microsoft recomenda que você aguarde o próximo service pack do Visual Studio que contém essa correção.

Para resolver esse problema imediatamente, contate o Microsoft serviços de suporte para obter a correção. Para obter uma lista completa dos números de telefone do Atendimento Microsoft do e informações sobre os custos de suporte, visite o seguinte site: Observação : em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

Observação : você deve ter um contrato de licença Visual Studio para obter essa correção.

Situação
A Microsoft confirmou que este é um bug no Microsoft produtos que estão listados no início deste artigo.
Mais Informações
Quando você seleciona um item na parte de um DBCombo lista controle, a propriedade SelectedItem contém um indicador que você pode usar para reposicionar o registro selecionado no Recordset do controle de dados que especifica a propriedade OrigemDaLinha . Esta propriedade deve ser atualizada se o usuário usa um mouse ou o teclado para selecionar o item. Portanto, quando você usa o recurso de pesquisando à frente de tipo deste controle, você espera que a propriedade SelectedItem é atualizada após você digitar um nome que corresponde a um nome na lista e pressione a tecla ENTER. Além disso, o texto na DBCombo deve refletir a entrada correspondente for encontrada. No entanto, essa funcionalidade não funciona quando você usar o combinação de ligação de dados padrão e o controle Data intrínsecos fornecida com o Visual Basic 6.0.

Etapas para reproduzir o problema

  1. Crie novo projeto Standard EXE. O Form1 é criado por padrão.
  2. A partir do menu Project , clique em componentes , selecione a caixa de seleção dados 6.0 de controles de lista vinculado e, em seguida, clique em OK .
  3. Adicione uma combinação de ligação de dados, DBCombo1, ao Form1.
  4. Adicione dois controles TextBox, Text1 e Text2.
  5. Adicione um controle de dados, dados1.
  6. Configure as configurações de propriedade desses controles como segue:
    Data1 - controle de dados
    NomeDoBancoDeDados = Biblio.mdb
    OrigemDaLinha = autores
    ReadOnly = True

    Texto2 - controle TextBox
    DataSource = Data1
    DataField = autor
    Visível = False

    DBCombo1 - controle de combinação de ligação de dados
    OrigemDaLinha = Data1
    ListField = autor
  7. Adicione o seguinte código à seção General Declarations do Form1:
    Option ExplicitPrivate Const UP_ARROW = 38Private Const DOWN_ARROW = 40    Private Sub Data1_Reposition()   '   ' Copy Text from Bound Text2 to Unbound Text1.   Text1.Text = Text2.TextEnd Sub    Private Sub DBCombo1_KeyUp(KeyCode As Integer, Shift As Integer)   Dim bmk As Variant   Dim x As Integer   Dim msg As String   On Error GoTo ErrHandler   '   ' Save Bookmark on CR and Arrow Key Activity.   Select Case KeyCode      Case Asc(vbCr), UP_ARROW, DOWN_ARROW          msg = "DBCombo1.SelectedItem has the value "          bmk = DBCombo1.SelectedItem          ' The next line raises error 13 if bmk has no value.          For x = 0 To UBound(bmk)              msg = msg & bmk(x)          Next x          Data1.Recordset.Bookmark = bmk          Debug.Print msg   End Select   Exit Sub            ErrHandler:   If Err.Number = 13 Then   ' Type mismatch      Debug.Print "DBCombo1.SelectedItem is not assigned a value."   Else      MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical _         + vbOKOnly   End IfEnd SubPrivate Sub Form_Load()   Text1.Text = ""   DBCombo1.Text = ""End Sub					
  8. Execute o projeto e digite um nome que corresponda a uma entrada no controle acoplado DBCombo (como Curry, Dave ).
  9. Pressione ENTER. Observe que a propriedade DBCombo1.SelectedItem não é atualizada.
  10. Limpar o texto nas DBCombo e digite um nome que corresponda a uma entrada na lista (como Wellin, Paul ).
  11. Pressione a tecla seta para cima ou seta para baixo. Observe que DBCombo1.SelectedItem é atualizado com o indicador para "Wellin, Paul".

Warning: This article has been translated automatically

Propriedades

ID do Artigo: 281940 - Última Revisão: 02/24/2014 12:42:50 - Revisão: 3.2

  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • kbnosurvey kbarchive kbmt kbbug kbcodesnippet kbctrl kbpending kbprb KB281940 KbMtpt
Comentários