BOGUE : DBCombo SelectedItem, propriété n'est pas mise à jour lorsque vous utilisez la sélection

Traductions disponibles Traductions disponibles
Numéro d'article: 281940 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous utilisez les fonctions de recherche saisie semi-automatique du contrôle DBCombo à partir de DBList32.ocx, la propriété SelectedItem n'est pas mis à jour et DBCombo ne reflète pas l'entrée correspondante est trouvée.

Résolution

Un correctif pris en charge est désormais disponible auprès de Microsoft, mais il ne vise qu'à corriger le problème décrit dans cet article. Il s'appliquent uniquement aux ordinateurs rencontrant ce problème spécifique. Ce correctif peut être soumise à des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, Microsoft vous recommande d'attendre le prochain service pack Visual Studio qui contiendra ce correctif.

Pour résoudre ce problème immédiatement, contactez Microsoft Product Services de support pour obtenir le correctif. Pour obtenir une liste complète des numéros de téléphone support technique Microsoft, ainsi que des informations sur les frais de support technique, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Remarque : dans certains cas, frais généralement encourus de support technique par téléphone vous seront facturés si un technicien du support technique Microsoft détermine qu'une mise à jour spécifique peut résoudre votre problème. Les coûts de prise en charge par défaut s'appliqueront aux questions supplémentaires et aux problèmes qui ne relèvent pas de la mise à jour en question.

Remarque : vous devez disposer d'un accord de licence de Visual Studio afin d'obtenir ce correctif.

Statut

Microsoft a confirmé l'existence de ce bogue dans Microsoft produits répertoriés au début de cet article.

Plus d'informations

Lorsque vous sélectionnez un élément dans la partie liste d'un DBCombo contrôle, la propriété SelectedItem contenait un signet qui vous permet de repositionner l'enregistrement sélectionné dans l'objet Recordset du contrôle Data Spécifie la propriété RowSource. Cette propriété doit être mis à jour si l'utilisateur utilise une souris ou le clavier pour sélectionner l'élément. Par conséquent, lorsque vous utilisez la fonctionnalité de recherche saisie semi-automatique de ce contrôle, vous vous attendez que la propriété SelectedItem est mis à jour une fois que vous avez tapé un nom qui correspond à un nom dans la liste et appuyez sur ENTRÉE. En outre, le texte dans DBCombo doit refléter l'entrée correspondante est trouvée. Toutefois, cette fonctionnalité ne fonctionne pas lorsque vous utilisez la norme de liste déroulante liée aux données et le contrôle de données intrinsèques fourni avec Visual Basic 6.0.

Procédure pour reproduire le problème

  1. Créer nouveau projet standard EXE. Form1 est créé par défaut.
  2. Dans le menu projet, cliquez sur composants, activez la case à cocher Data Bound liste Controls 6.0 et puis cliquez sur OK.
  3. Ajoutez une liste déroulante liée aux données, DBCombo1, à Form1.
  4. Ajoutez deux contrôles TextBox, Text1 et Text2.
  5. Ajoutez un contrôle de données, Data1.
  6. Configurez les paramètres de propriété de ces contrôles comme suit :
    Data1 - contrôle de données
    DatabaseName = Biblio.mdb
    RowSource = auteurs
    ReadOnly = True

    Texte2 - contrôle TextBox
    DataSource = Data1
    DataField = Author
    Visible = false

    DBCombo1 - contrôle de liste déroulante liée aux données
    RowSource = Data1
    ListField = Author
  7. Ajoutez le code suivant à la section déclarations générales 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. Exécutez le projet, puis tapez un nom qui correspond à une entrée dans le contrôle DBCombo (comme curry, Dave).
  9. Appuyez sur ENTRÉE. Notez que la propriété DBCombo1.SelectedItem n'est pas mis à jour.
  10. Supprimer le texte dans DBCombo et tapez un nom qui correspond à une entrée dans la liste (par exemple Wellin, Paul).
  11. Appuyez sur la touche de direction haut ou bas. Notez que les DBCombo1.SelectedItem est mis à jour à l'aide du signet pour «Wellin, Paul».

Propriétés

Numéro d'article: 281940 - Dernière mise à jour: lundi 24 février 2014 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition initiation
Mots-clés : 
kbnosurvey kbarchive kbmt kbbug kbcodesnippet kbctrl kbpending kbprb KB281940 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 281940
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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