IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

problème d'affichage dans une formulaire


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 23
    Points
    23
    Par défaut problème d'affichage dans une formulaire
    salut mes amis,

    je suis en train de développer une petite application par VB6.En fait, base de donnée comprend plusieurs tables parmi lesquels une table qui s'appelle "Opérateur". Cette table contient plusieurs colonnes qui sont : matricule, nom, prénom, service. J'ai créé une formulaire qui comprend labels matricule, nom, prénom et service

    Mon problème c'est qu'on je clique sur le roulant matricule, les noms et les prénoms ne s'affiche pas, j'ai utilisé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Public db As Database
    Public rst As Recordset
    Public strTable As String
    Public strSQL As String
     
    Private Sub matricule_Change()
    Dim strMat As String
    strMat = matricule.Text
    If Trim(strMat) <> "" Then
    ReadData (strMat)
    Else
    EraseData
    End If
    End Sub
    Private Sub ReadData(strMat As String)
    EraseData
    strTable = "opérateur"
    strSQL = "SELECT * FROM " & strTable & " WHERE mat_op=" & strMat & " "
    Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
    While Not rst.EOF
    If Not IsNull(rst(1)) Then nom.Text = CStr(rst(1))
    If Not IsNull(rst(2)) Then prénom.Text = CStr(rst(2))
    rst.MoveNext
    Wend
    rst.Close
    Set rst = Nothing
    End Sub
    Private Sub Form_Load()
    Dim strPath, strFileName As String
    strPath = App.Path & "\Datas\"
    strFileName = "Test.mdb"
    Set db = OpenDatabase(strPath & strFileName, False, False)
    ReadCboDatas
    End Sub
    Private Sub ReadCboDatas()
    matricule.Clear
    matricule.AddItem ("")
    strTable = "opérateur"
    strSQL = "SELECT mat_op FROM " & strTable & " "
    Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
    While Not rst.EOF
    If Not IsNull(rst(0)) Then matricule.AddItem (rst(0))
    rst.MoveNext
    Wend
    rst.Close
    Set rst = Nothing
    End Sub
    Private Sub EraseData()
    nom.Text = ""
    prénom.Text = ""
    End Sub
    Je n'ai pas arrivé à détecter où est le défaut de mon code !!! Est ce qu'il existe quelqu'un qui m'aide et merci d'avance.

    cordialement Yassine

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    tu fais ta requete dans l'événement change de ton textbox.
    ce qui veux dire que ta requête sera exécutée à chaque frappe de clavier. Personnelement j'utiliserais l'événement lostfocus
    Ensuite, je ne comprends pas pourquoi tu fais une boucle de lecture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
       if rst.eof then
          msgbox "code inconnu"
       else
         If Not IsNull(rst(1)) Then nom.Text = CStr(rst(1))
         If Not IsNull(rst(2)) Then prénom.Text = CStr(rst(2))
      end if
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/10/2009, 10h12
  2. Réponses: 2
    Dernier message: 23/06/2007, 14h54
  3. [MySQL] problème d'affichage dans une liste
    Par bromlecornu dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/05/2007, 16h08
  4. Problème d'affichage dans un formulaire Access
    Par JohnDoeVS dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/03/2007, 06h57
  5. Problème d'affichage dans une zone de "dessin"
    Par jason69 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 28/08/2006, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo