begin process at 2008 07 19 08:45:52
1 212 721 membres
60 nouveaux aujourd'hui
14 165 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

REMPLIR UNE COMBO BOX AVEC UNE TABLE (DAO)


Information sur la source

Description

Explications :
Cette source se sert d'une base de données Access et la manipule grâce à la DAO. Elle permet de remplir une Combo Box avec une table de la source, suite à une requête sur cette table.
La combo est de style 2, c'est-à-dire qu'on ne pourra pas saisir dans la zone de texte, mais seulement faire un choix dans la liste déroulante.

Composants et propriétés :
Combobox (name = choix_entite   -   style = 2)

Source

  • 'déclarations
  • 'de la base
  • dim db as dao.database
  • 'de la requête
  • dim rq_ent as dao.recordset
  • 'initialisations
  • 'de la base
  • set db = opendatabase ("chemin de la base")
  • 'de la requête qui selectionne les noms des entités
  • Set req_ent = db.OpenRecordset("select nom_entité from entite")
  • 'Si des enregistrements correspondent à la requête alors
  • If req_ent.RecordCount > 0 Then
  • 'se placer sur le premier enregistrement
  • req_ent.MoveFirst
  • 'Tant que ce n'est pas la fin des enregistrements
  • Do While req_ent.EOF = False
  • 'ajouter dans la combo l'enregistrement en cours
  • combo_entite.AddItem req_ent!nom_entité
  • 'passer à l'enregistrement suivant
  • req_ent.MoveNext
  • 'refaire
  • Loop
  • 'sinon
  • Else
  • 'mettre dans la zone de texte un message qui signale qu'il n'y a pas
  • d'enregistrements
  • combo_entite.Text = "pas encore de rubriques enregistrées"
  • 'fin si
  • End If
'déclarations
'de la base
dim db as dao.database
'de la requête
dim rq_ent as dao.recordset
'initialisations
'de la base
set db = opendatabase ("chemin de la base")
'de la requête qui selectionne les noms des entités
Set req_ent = db.OpenRecordset("select nom_entité from entite")
'Si des enregistrements correspondent à la requête alors
If req_ent.RecordCount > 0 Then
    'se placer sur le premier enregistrement
    req_ent.MoveFirst
    'Tant que ce n'est pas la fin des enregistrements
    Do While req_ent.EOF = False
        'ajouter dans la combo l'enregistrement en cours
        combo_entite.AddItem req_ent!nom_entité
        'passer à l'enregistrement suivant
        req_ent.MoveNext
        'refaire
    Loop
'sinon
Else
    'mettre dans la zone de texte un message qui signale qu'il n'y a pas         
     d'enregistrements
    combo_entite.Text = "pas encore de rubriques enregistrées"
'fin si
End If

Conclusion

n'oubliez pas la référence DAO 3.6 ;-)
Biz
  • signaler à un administrateur
    Commentaire de yafisab le 18/05/2004 14:47:07

    bonjour,

    Je suis débutant en vba et je viens d'essayer ton code, et chez moi il ne marche pas, le compilateur n'arrive pas à trouver additem....cela vient peut-être de la référence dao....


    comment faut-il faire?

  • signaler à un administrateur
    Commentaire de yafisab le 18/05/2004 15:06:18

    bonjour,

    Je suis débutant en vba et je viens d'essayer ton code, et chez moi il ne marche pas, le compilateur n'arrive pas à trouver additem...sais tu où est le problème?

  • signaler à un administrateur
    Commentaire de yafisab le 18/05/2004 15:19:01

    zut redite, je croyais que la première était pas passée....bon j'ai règlè mon problème: j'avais pas pris le combobox de msform....lol

  • signaler à un administrateur
    Commentaire de makdad le 18/12/2006 11:11:17

    salut je suis débutante en vb.net je voudrai savoir comment remplir un combobox par des enregistrement qui n'existent pas dans les tables merci d'avance pour l'aide...

  • signaler à un administrateur
    Commentaire de kabalonda le 03/05/2007 13:44:31

    salut,
    je suis très content d'avoir cette source car elle va m'aider a faire un travail qui m'a été demandé. je viens de prendre la source en cas de bug je vais pas tarder a faire un message.
    Merci a toous!
    Mais j'ai un autre problème mais après avoir essayé la source, je vais vous le  dire!
    Bye

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS