Liste access rowsource et defaultvalue

Résolu/Fermé
mohcultiv Messages postés 48 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 19 juin 2007 - 1 mars 2007 à 11:02
mohcultiv Messages postés 48 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 19 juin 2007 - 1 mars 2007 à 15:11
Salut,
j'ai créé un formulaire multi-recherche sous access (vba),
j'ai plusieurs liste déroulantes et en fonction des selectios sur ces listes je rempli une derniere zone de liste que j'ai appelé listreult à l'aide de la propriété suivante:
listerult.rowsource= sql
sql étant une chaine de caractère contenant ma requête créée précedement en fonction des chois sur les listbox.

J'ai testé la requête obtenu à la fin sur access et elle retourne ce qu'il faut, donc ma requête est bonne.

Le souci c'est que ma liste m'afiche les champs contenues dans mon select.


Afin que vous compreniez mieux voici mon code:

----------------------------------------------------------------------------

Dim sql As String


' Création de la requête

sql = "SELECT Nom, Nom_geo, Date, Val_niv"
sql = sql & " FROM Description, Decoupage_geographique, Valeur"
sql = sql & " where Decoupage_geographique.Num_geo = Valeur.Num_geo and Description.Num_index = Valeur.Num_index"
If indicateur.Value <> "" Or indicateur.Value <> indicateur.DefaultValue Then
sql = sql & " and Description.nom=' " & indicateur.Value & " ' "
End If
If zonegeo.Value <> "" Or zonegeo.Value <> zonegeo.DefaultValue Then
sql = sql & " and Decoupage_geographique.Nom_geo=' " & zonegeo.Value & " ' "
End If
If periodicite.Value <> "" Or periodicite.Value <> periodicite.DefaultValue Then
sql = sql & " and Description.periodicité=' " & periodicite.Value & " ' "
End If
If periode.Value <> "" Or periode.Value <> periode.DefaultValue Then
sql = sql & " and valeur.date=#" & periode.Value & "#"
End If
sql = sql & ";"

Texte145 = sql
Listresult.RowSource = sql 'remplit la liste avec la requête
Listresult.Requery 'met à jour la liste
totaltxt = Listresult.ListCount - 1 'compte le nbre d'enregistrement contenue dans la liste
----------------------------------------------------------------------------

voilà, mais ma liste affiche 4 collones identiques:

Nom
Nom_geo
Date
Val_niv

comme ca en ligne, j'ai rien compris.



J'ai un autre pb toujours dans le même code lorsque je crée ma requête sql.
dans mon form_load j'initialise chaque zone de liste à sa valeur par défaut:

periode.Value = periode.DefaultValue

et lorsque je compare ensuite (sans avoir touché à ma liste periode bien sur) periode.Value et periode.DefaultValue j'obtiens false alors mon "if" suivant ne fonctionne plus

----------------------------------------------------------------------------
If periode.Value <> "" Or periode.Value <> periode.DefaultValue
----------------------------------------------------------------------------

là aussi j'ai pas tout compris, alors si quelqun sait quelque chose...

Merci encore ca me bloque vraiment cette histoire.

2 réponses

mohcultiv Messages postés 48 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 19 juin 2007 8
1 mars 2007 à 11:36
Laisser tomber le deuxième problème c'est que j'avais mis or au lie de and maintenant ca marche merci quand meme.
Parcontre le premier je vois vraiment pas, si vous avez une solution..
Merci
0
mohcultiv Messages postés 48 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 19 juin 2007 8
1 mars 2007 à 15:11
c'est bon excusez moi j'ai trouvé c'est que j'avais pas mis tables et requetes en source. merci
0