Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/10/2011, 09h13   #1
Invité régulier
 
Homme
Inscription : octobre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 20
Points : 8
Points : 8
Par défaut Afficher par défaut la première valeur d'une zone de liste

Bonjour à tous

"Un problème qui a déjà été traité 500 fois" vous direz-vous en lisant le titre...
Oui, je sais, mais malgré mes recherches, je ne trouve pas

J'ai un formulaire et une zone de liste.
Dans l'évènement "ouverture" de mon formulaire, je défini le RowSource de ma ZdL grâce à une requête SQL.

Tout fonctionne, mais une fois chargé, la valeur par défaut de ma ZdL c'est "".

J'aimerai que ça soit la 1ère valeur. Après, je me débrouillerai pour la récupérer et afficher les information en conséquence.


J'ai testé les propriétés itemdata(0), Selected, ListIndex à l'ouverture, au chargement ou directement en mode création dans la fenêtre de propriété sur "Valeur par défaut".

Ça me retourne soit "Utilisation incorrecte de null", soit "Utilisation incorrecte de la propriété".

Je n'arrive pas à trouver d'où vient l'erreur !

Merci d'avance de votre aide !
Tevsox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 10h12   #2
Membre régulier
 
Inscription : février 2010
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 100
Points : 92
Points : 92
Bonjour,

En VBA, la propriété pour assigner une valeur par défaut, ça devrait plutôt être :

Code :
Me.NomDeLaListe.DefaultValue = "TaValeurParDefaut"
Il renvoit une utilisation incorrecte là-dessus ?

Cordialement,
Beub'
Beub' est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/10/2011, 10h42   #3
Invité régulier
 
Homme
Inscription : octobre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 20
Points : 8
Points : 8
Citation:
Envoyé par Beub' Voir le message
Bonjour,

En VBA, la propriété pour assigner une valeur par défaut, ça devrait plutôt être :

Code :
Me.NomDeLaListe.DefaultValue = "TaValeurParDefaut"
Il renvoit une utilisation incorrecte là-dessus ?

Cordialement,
Beub'
Salut et merci d'essayer de me faire avancer dans mon schmilblick (je sais pas comment ça s'écrit, mais bref ^^).

C'est peut-être bien DefaultValue qu'il faut que j'utilise, mais je ne sais pas quoi lui donner comme paramètre pour qu'il prenne la 1ère valeur de la liste.

Code :
Me.NomDeLaListe.DefaultValue = Me.NomDeLaListe.ItemData(0)
ou
Code :
Me.NomDeLaListe.DefaultValue = Me.NomDeLaListe.ListIndex(0)
ne fonctionnent pas (Utilisation incorrecte de null).

Code :
Me.NomDeLaListe = Me.NomDeLaListe.ItemData(0)
comme indiqué dans la FAQ me vide carrément le contenu de ma liste.

Code :
Me.NomDeLaListe.Selected(0) = True
(aussi indiqué dans la FAQ) n'a aucun effet...
Tevsox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 11h21   #4
Membre régulier
 
Inscription : février 2010
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 100
Points : 92
Points : 92
En ce qui me concerne, quand j'ai une liste déroulante et que je fais

Code :
Me.Modifiable0.DefaultValue = Me.Modifiable0.ItemData(i)
Le code ne génère aucune erreur (mieux, il marche ! )

Sur quel évènement est-ce que tu te places ?
Le contenu de ta liste est-il systématiquement non nul ?

Cordialement,
Beub'
Beub' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 11h42   #5
Invité régulier
 
Homme
Inscription : octobre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 20
Points : 8
Points : 8
Le contenu de ma liste est toujours non null.
Elle se rempli dans "Open".

Dans mon message précédent, j'avais testé en mettant sur l'évènement "Load"

J'ai lu entre temps quelque part que le Load se faisait avant le Open.
J'ai donc testé dans le Open.

Rien ne marche, au mieux il ne se passe rien

Code :
Me.NomDeLaListe.DefaultValue = Me.NomDeLaListe.ItemData(0)
me retourne encore "utilisation incorrecte de null".

Peut-être est-ce du à la façon dont je construit la liste ?

Voilà la totalité du code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form_Open(Cancel As Integer)
    Dim SQL As String
 
    SQL = "SELECT IdPlante, Numero_collection FROM Plante ORDER BY Numero_collection;"
 
    With Me.Numéro_CmbBox
        .ColumnCount = 2
        .BoundColumn = 0
        .ColumnWidths = "0;3"
        .RowSource = SQL
    End With
 
    Me.Numéro_CmbBox.DefaultValue = Me.Numéro_CmbBox.ItemData(0)
End Sub
Merci du coup de main
Tevsox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 12h06   #6
Membre régulier
 
Inscription : février 2010
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 100
Points : 92
Points : 92
Si tu essaies en passant le BoundColumn à 1 au lieu de 0...?
Beub' est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/10/2011, 13h57   #7
Invité régulier
 
Homme
Inscription : octobre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 20
Points : 8
Points : 8
Citation:
Envoyé par Beub' Voir le message
Si tu essaies en passant le BoundColumn à 1 au lieu de 0...?



Je pensais que la numérotation commençait à 0.
Comme jusque là ça marchait, je ne m'étais pas posé de question.

En la passant à 1, tout marche !

Comme quoi, on se prend la tête sur des trucs... Parfois il suffit d'un œil extérieur pour se rendre compte que c'est une broutille !

Merci merci !
Tevsox est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h35.


 
 
 
 
Partenaires

Hébergement Web