Bonjour,
Je me présente, je suis en école d'ingénieur et je dois réaliser un jeu de carte ( Le UNO) sous Access sans avoir de cours d'informatique. Je me suis donc lancer dans l'interface, et sa se passe plutôt bien. Cependant, lorsqu'on va commencer une partie, je souhaite que le joueur ai un nom. J'ai donc mi une liste déroulante pour que le joueur marque son nom ou en choisissent un existant.
Mais, j'aimerai que ce nom soit sauvegarder lorsqu'on valide la saisie...
je suis tombé sur ceci ( ListeDeroulanteNomJoueur est le nom de ma zone de liste déroulante):
Mais des problèmes subsistent:
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 Private Sub ListeDeroulanteNomJoueur_AfterUpdate() Const NB_ITEMS As Long = 20 'Nombre d'éléments archivés dans la liste Dim b As Byte 'Maj de la liste des derniers critères recherchés With ListeDeroulanteNomJoueur 'Si la valeur saisie est un Null _ ou une chaîne de longeur nulle _ ou égale au premier item, _ alors aucune Maj de la liste n'est nécessaire. If Nz(.Value, "") = "" Or .Value = .Column(0, 0) Then Exit Sub 'Etant donné qu'on ne souhaite pas de doublons, _ on va parcourir tous les éléments _ pour éliminer un éventuel doublon avant d'ajouter notre valeur en haut de liste. For b = 1 To .ListCount - 1 If .Column(0, b) = .Value Then .RemoveItem b: Exit For Next b 'Ajoute la nouvelle saisie .AddItem Item:=.Value, Index:=0 'Limite la liste à NB_ITEMS éléments If .ListCount = NB_ITEMS Then .RemoveItem NB_ITEMS - 1 End With End Sub
-Lorsque je rentre en nom dans ma liste, et que je valide en appuyant sur "entrer", j'ai un message d'erreur "erreur d'exécution '6' Dépassement de capacité' et la ligne " For b = 1 To .ListCount - 1" se met en surbrillance jaune.
-J'ai donc supprimer cette partie qui évite les doublons (qui ne m'est pas indispensable). Le code marche mais en fait je souhaite que les noms soient conservés si l'on change de formulaire, or ce n'est pas le cas. Il s'accumule que si l'on ne change pas de formulaire. Comment faire pour les sauvegarder?
Partager