Error: No se actualiza DBCombo SelectedItem (propiedad) al tipo de selección

Seleccione idioma Seleccione idioma
Id. de artículo: 281940 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se utiliza las características de búsqueda anticipada para el tipo del control DBCombo desde DBList32.ocx, no se actualiza la propiedad SelectedItem y DBCombo no refleja la entrada coincidente que se encuentra.

Solución

Ahora tiene a su disposición una revisión para la que Microsoft proporciona soporte técnico, pero que sólo se diseñó para corregir el problema descrito en este artículo. Aplíquela sólo a equipos que experimenten este problema específico. Se efectuarán pruebas adicionales de esta revisión. Por lo tanto, si no se ve muy afectado por este problema, Microsoft recomienda que espere al próximo service pack de Visual Studio que contenga esta revisión.

Para resolver este problema inmediatamente, póngase en contacto con los Servicios de soporte técnico de Microsoft con el fin de obtener la revisión. Para obtener una lista completa de los números de teléfono de servicios de soporte de técnico de Microsoft e información acerca de los costos de soporte, visite el siguiente sitio Web:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Nota : en casos especiales, los que normalmente se incurre llamadas de soporte técnico pueden cancelarse si un profesional de soporte técnico de Microsoft determina que una actualización específica resolverá el problema. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con la actualización en cuestión.

Nota : debe tener un acuerdo de licencia de Visual Studio para obtener esta revisión.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados al principio de este artículo.

Más información

Al seleccionar un elemento en la parte de un DBCombo lista control, la propiedad SelectedItem contiene un marcador que se puede utilizar para cambiar la posición del registro seleccionado en el objeto Recordset del control de datos que especifica la propiedad RowSource . Esta propiedad se debe actualizar si el usuario utiliza un mouse o el teclado para seleccionar el elemento. Por lo tanto, cuando se utiliza la característica de búsqueda anticipada para el tipo de este control, se espera que la propiedad SelectedItem se actualiza después de escribir un nombre que coincida con un nombre en la lista y presione la tecla ENTRAR. Además, el texto de DBCombo debe reflejar la entrada coincidente que se encuentra. Sin embargo, esta funcionalidad no funciona cuando utiliza el enlace de datos combinado estándar y el control de datos intrínsecos que incluye con Visual Basic 6.0.

Pasos para reproducir este comportamiento

  1. Crear nuevo proyecto EXE estándar. Se creará Form1 de manera predeterminada.
  2. En el menú proyecto , haga clic en componentes , seleccione la casilla de verificación 6.0 de controles de lista enlazado datos y, a continuación, haga clic en Aceptar .
  3. Agregue a un combinado de enlace de datos, DBCombo1, a Form1.
  4. Agregue dos controles TextBox, Text1 y Text2.
  5. Agregue un control Data, Data1.
  6. Configurar el propiedad estos controles como sigue:
    Data1 - control de datos
    DatabaseName = Biblio.mdb
    RowSource = autores
    ReadOnly = True

    texto2 - control TextBox
    DataSource = Data1
    DataField = Author
    Visible = False

    DBCombo1 - control de enlace de datos combinados
    RowSource = Data1
    ListField = Author
  7. Agregue el código siguiente a la sección General Declarations de Form1:
    Option Explicit
    
    Private Const UP_ARROW = 38
    Private Const DOWN_ARROW = 40
        
    Private Sub Data1_Reposition()
       '
       ' Copy Text from Bound Text2 to Unbound Text1.
       Text1.Text = Text2.Text
    End 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 If
    End Sub
    
    Private Sub Form_Load()
       Text1.Text = ""
       DBCombo1.Text = ""
    End Sub
    					
  8. Ejecute el proyecto y escriba un nombre que coincide con una entrada en el control DBCombo enlazado (como Curry, Dave ).
  9. Presione ENTRAR. Observe que no se actualiza la propiedad DBCombo1.SelectedItem .
  10. Desactive el texto de DBCombo y escriba un nombre que coincida con una entrada en la lista (como Wellin, Paul ).
  11. Presione la tecla flecha arriba o flecha abajo. Observe que DBCombo1.SelectedItem se actualiza con el marcador para "Wellin, Paul".

Propiedades

Id. de artículo: 281940 - Última revisión: lunes, 24 de febrero de 2014 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 6.0 Edición de aprendizaje
Palabras clave: 
kbnosurvey kbarchive kbmt kbbug kbcodesnippet kbctrl kbpending kbprb KB281940 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 281940

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com