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

Access Discussion :

Erreurs sur formulaire multicritères


Sujet :

Access

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2022
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Erreurs sur formulaire multicritères
    Bonjour,

    J'ai un formulaire me permettant de faire une sélection multicritères à partir de listes déroulantes. Les résultats s'affichent dans un sous-formulaire. Jusque là tout va bien... Au début et durant un certain temps cela fonctionne bien mais au bout d'un moment les enregistrements filtrés ne correspondent plus aux critères de sélection !!! J'imagine qu'il doit y avoir une histoire de cache qui n'est pas vidé ou kekchose dans le genre mais je ne trouve pas le chmilblic ! Cela se produit aussi si je ferme le formulaire, la requête de sélection appelée, la base de données...

    Pour info, au chargement du formulaire toutes les listes sont positionnées sur Value = 0 (les 2 listes de date sur Value = Null), puis j'utilise DoCmd.ShowAllRecords
    Et pour chaque liste déroulante, à l'évènement "sur changement" j'appelle la macro "AfficherTousEnreg"

    Le sous-formulaire a pour source une requête de sélection pour lesquels les critères correspondant aux listes suivent ce genre d'expression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme VraiFaux([Formulaires]![F_monFormulaire]![cboTruc]=0;"*" & Null & "*";[Formulaires]![F_monFormulaire]![cboTruc])
    Ou pour le critère de dates (entre telle et telle année):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >=VraiFaux(EstNull([Formulaires]![F_monFormulaire]![cboAnneeDu]);2018;[Formulaires]![F_monFormulaire]![cboAnneeDu]) Et <=VraiFaux(EstNull([Formulaires]![F_monFormulaire]![cboAnneeAu]);2100;[Formulaires]![F_monFormulaire]![cboAnneeAu])
    Encore une fois, au début tout semble fonctionner et au bout d'un moment ça part en cacahuètes...

    Merci par avance pour votre aide précieuse !

  2. #2
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut
    Je ne comprends les valeurs initiales annoncées à l'ouverture de votre frm.
    Normalement, vos comboboxes ne devraient rien afficher. (voir img)
    Citation Envoyé par chadoc31 Voir le message
    ... Pour info, au chargement du formulaire toutes les listes sont positionnées sur Value = 0 (les 2 listes de date sur Value = Null)
    Une idée en passant par vba
    On peut aliment la combobox cboClient sur activation de celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub cboClient_GotFocus()
    strSql = "SELECT ID, Société FROM Clients"
    Me!cboClient.RowSource = strSql
    Me!cboClient.ColumnCount = 2
    Me!cboClient.ColumnWidths = "0cm; 5cm"
    Me!cboClient.ListWidth = "6"
    End Sub
    En sélectionnant ou en changeant de valeur dans la combobox, on rafraichit le sform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cboClient_Change()
    Me.frmSearch_sfcmde.Requery
    End Sub
    Le sform est alimenté par une qry ou autre avec des critères et à titre d'exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ID Like IIf([Formulaires]![frmSearch]![cboClient].[ListIndex]=-1,"*" & [Formulaires]![frmSearch]![cboClient] & "*",[Formulaires]![frmSearch]![cboClient])
    Images attachées Images attachées  

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2022
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci pour ces suggestions. Je suis occupée à autre chose durant plusieurs jours mais j'essayerai ces modifs la semaine prochaine.
    Au chargement du formulaire, j'initialise les combobox sur la première valeur, que j'ai ajouté en indiquant "Tous". Je peux essayer de le supprimer et de modifier le code et les critères de requête en conséquence, mais comme au début ça fonctionne je ne pense pas que le problème vienne de là...

Discussions similaires

  1. [AC-2003] Erreur sur formulaire multicritères
    Par rafalemirage dans le forum IHM
    Réponses: 12
    Dernier message: 24/12/2010, 09h47
  2. [AC-2007] Probléme sur formulaire multicritère
    Par ronaldo98 dans le forum IHM
    Réponses: 2
    Dernier message: 01/09/2009, 15h22
  3. probleme avec sql sur formulaire multicritères
    Par crash_fr dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 14/08/2008, 00h31
  4. Contrôle d'erreur sur formulaire
    Par Artusamak dans le forum Langage
    Réponses: 4
    Dernier message: 03/01/2008, 17h54
  5. Petite erreur sur formulaire
    Par shub dans le forum Access
    Réponses: 2
    Dernier message: 26/04/2006, 11h55

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