Merci Claude, heureux oui on peut le dire !
Par contre on dirait que la recherche sur chaine de caractères ne fonctionne pas avec les listes. Est ce que ça fonctionne chez toi ?
Merci Claude, heureux oui on peut le dire !
Par contre on dirait que la recherche sur chaine de caractères ne fonctionne pas avec les listes. Est ce que ça fonctionne chez toi ?
Alors voila après quelques tentatives supplémentaires, j'ai fini par remplacer :
qui ne fonctionnait pas par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part AND ([T_VOIES.VOI_LIBCOMPFIL]=IIf([Formulaires]![F_ListeCommerces]![filtreCboAdresse1].[listIndex]=-1,(T_VOIES.VOI_LIBCOMPFIL) Like "*" & [Formulaires]![F_ListeCommerces]![filtreCboAdresse1] & "*",[Formulaires]![F_ListeCommerces]![filtreCboAdresse1]) Or [Formulaires]![F_ListeCommerces]![filtreCboAdresse1] Is Null)
et ça fonctionne. Est ce que ça reste compatible avec le reste ? (zones de texte, de listes et cases à cocher)
Code : Sélectionner tout - Visualiser dans une fenêtre à part AND ((T_VOIES.VOI_LIBCOMPFIL) Like IIf([Formulaires]![F_ListeCommerces]![filtreCboAdresse1].[ListIndex]=-1,"*" & [Formulaires]![F_ListeCommerces]![filtreCboAdresse1] & "*",[Formulaires]![F_ListeCommerces]![filtreCboAdresse1]))
Merci
Bonjour,
Tu as raison, ma proposition ne fonctionne pas correctement pour les zones de liste !
Par contre, je ne crois pas que la tienne ramène le cas où la colonne adresse1_FK est NULL.
Je demande une trêve : à force de sécher, c’est comme si j’avais passé mon week-end dans l’essoreuse !
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
OK pour une trêve, je te laisse finir de sécher alors !
Tu as raison, mon dernier test ne renvoie pas les Null pour l'adresse, il commençait à se faire tard hier et j'ai un peu trop vite pris mes désirs pour des réalités !
A plus tard
Nouvelle tentative
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT T_Commerces.idCommerce_PK, T_Commerces.nomCommercial, T_Commerces.codeSiren, T_Commerces.numTiers, T_Commerces.raisonSociale, T_Commerces.numVoirie, T_VOIES.VOI_LIBCOMPFIL, T_VOIES.LDT_NOM, T_Commerces.adresse2, T_Commerces.preemption, T_Commerces.avisHygiene FROM T_VOIES RIGHT JOIN T_Commerces ON T_VOIES.ID_VOIE = T_Commerces.adresse1_FK WHERE (([nomCommercial] like "*" & [Formulaires]![F_ListeCommerces]![filtreTxtNomCommercial] & "*" Or [Formulaires]![F_ListeCommerces]![filtreTxtNomCommercial] Is Null) AND ([codeSiren] like "*" & [Formulaires]![F_ListeCommerces]![filtreTxtcodeSiren] & "*" Or [Formulaires]![F_ListeCommerces]![filtreTxtcodeSiren] Is Null) AND ([numTiers] like "*" & [Formulaires]![F_ListeCommerces]![filtreTxtnumTiers] & "*" Or [Formulaires]![F_ListeCommerces]![filtreTxtnumTiers] Is Null) AND ([raisonSociale] like "*" & [Formulaires]![F_ListeCommerces]![filtreTxtraisonSociale] & "*" Or [Formulaires]![F_ListeCommerces]![filtreTxtraisonSociale] Is Null) AND ([numVoirie] like "*" & [Formulaires]![F_ListeCommerces]![filtreTxtnumVoirie] & "*" Or [Formulaires]![F_ListeCommerces]![filtreTxtnumVoirie] Is Null) AND (((T_VOIES.VOI_LIBCOMPFIL) Like IIf([Formulaires]![F_ListeCommerces]![filtreCboAdresse1].[ListIndex]=-1,"*" & [Formulaires]![F_ListeCommerces]![filtreCboAdresse1] & "*",[Formulaires]![F_ListeCommerces]![filtreCboAdresse1]) Or [Formulaires]![F_ListeCommerces]![filtreCboAdresse1] Is Null) AND ((T_VOIES.LDT_NOM) Like IIf([Formulaires]![F_ListeCommerces]![filtreCboSecteur].[ListIndex]=-1,"*" & [Formulaires]![F_ListeCommerces]![filtreCboSecteur] & "*",[Formulaires]![F_ListeCommerces]![filtreCbosecteur]) Or [Formulaires]![F_ListeCommerces]![filtreCboSecteur] Is Null)) AND ((T_Commerces.preemption)=IIf([Formulaires]![F_ListeCommerces]![BoxPreemption]=1,[preemption],[Formulaires]![F_ListeCommerces]![BoxPreemption])) AND ((T_Commerces.avisHygiene)=IIf([Formulaires]![F_ListeCommerces]![boxAvisHygiene]=1,[AvisHygiene],[Formulaires]![F_ListeCommerces]![boxAvisHygiene])));
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Ça maaaaarche !
Tous les critères fonctionnent, peuvent être combinés entre eux avec en plus la recherche par chaine de caractères. Et les cases à cocher aussi.
Un énorme merci à toi Claude
Heu c'est encore moi...
J'essaye d'ajouter le filtre sur les dates, mais problème habituel, je ne trouve pas la bonne façon d'écrire la requête pour avoir les Null au départ, puis le bon critère quand j'entre mes dates.
Soit le filtre fonctionne mais je n'ai pas les Null au départ comme ceci :
soit j'ai les Null mais le filtre me retourne ensuite toutes les dates comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part And (debutArrete>=IIf(IsNull(Formulaires!F_ListeInstallations!debutFiltreDu),#1/1/1900#,Formulaires!F_ListeInstallations!debutFiltreDu));
Quel pourrait être la bonne façon d'écrire la requête ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part And (debutArrete>=IIf(Formulaires!F_ListeInstallations!debutFiltreDu,#1/1/1900#,Formulaires!F_ListeInstallations!debutFiltreDu) Or Formulaires!F_ListeInstallations!debutFiltreDu Is Null);
Merci
Hâtez-vous lentement, et sans perdre courage,
Vingt fois sur le métier remettez votre ouvrage,
Polissez-le sans cesse, et le repolissez,
Ajoutez quelquefois, et souvent effacez.
Boileau... jusqu'à la lie (l'hallali) ♫ La, la, li ♫
On cherche...
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Absolument, qui cherche trouve parait-il, mais il semblerait que pas toujours parce que ça fait des heures que je suis dessus et rien à faire...
L'évidence doit être sous mon nez mais je ne la vois pas.
EDIT : toujours pas trouvé, il y a ceci qui fonctionne pour le filtreDu mais qui me parait plutot bizarre, et de plus quand j'ajoute quelque chose de similaire pour le filtreAu plus rien ne fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 And (debutArrete>=IIf(Formulaires!F_ListeInstallations!debutFiltreDu,Formulaires!F_ListeInstallations!debutFiltreDu,Formulaires!F_ListeInstallations!debutFiltreDu) or Formulaires!F_ListeInstallations!debutFiltreDu is Null));
Bon voila je pense avoir trouvé, si ce n'est "la" solution, "une" solution qui fonctionne. Pour la partie filtreDU
suivie de, pour la partie filtreAu
Code : Sélectionner tout - Visualiser dans une fenêtre à part And (debutArrete>=IIf(IsNull(Formulaires!F_ListeInstallations!debutFiltreDu),#1/1/1900#,Formulaires!F_ListeInstallations!debutFiltreDu) Or Formulaires!F_ListeInstallations!debutFiltreDu Is Null)
Je ne sais pas si c'est comme ça qu'il fallait faire mais en tous cas ça fonctionne. Allez maintenant 2 aspro et dodo
Code : Sélectionner tout - Visualiser dans une fenêtre à part And (debutArrete<=IIf(IsNull(Formulaires!F_ListeInstallations!debutFiltreAu),#1/1/2100#,Formulaires!F_ListeInstallations!debutFiltreAu) Or Formulaires!F_ListeInstallations!debutFiltreAu Is Null));
et pour rester dans la même BD,"une" solution qui fonctionne
je dirais même plus : "une" solution qui fonctionne !
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Bonjour Claude,
Si par hasard tu passes par la, j'aimerais savoir s'il est possible d'entrer pour une valeur numérique quelque chose du genre >10 ou <100 par exemple.
Voila c'est tout, à bientôt.
Bonjour,
Ça, c'est tout facile ! C'est comme l'exemple des dates « Du » et « Au », mais sans délimiteur (puisque numérique) ni de reformatage.
Donc dans le filtre l'utilisateur saisit un nombre minimum (et/ou maximum) et dans la requête tu testes >= (ou <=) à ce nombre.
Meilleurs vœux pour 2015.
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Il faut donc bien deux zones de texte pour faire ça ?
Meilleurs vœux pour 2015 également
Bonjour,
Ben oui !
L'une pour la limite inférieure, l'autre pour la limite supérieure.
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Bonjour Claude,
Tu dis sans délimiteur ni reformatage, pour le délimiteur il faut que je mette 0 sinon ça ne marche pas, pour le reformatage que veux-tu dire ?
Il y a ceci qui a l'air de fonctionner, peux-tu me corriger si besoin est ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part And (surface>=IIf(IsNull(Formulaires!F_RechercheInstallations!filtretxtSurface),0,Formulaires!F_RechercheInstallations!filtretxtSurface) Or Formulaires!F_RechercheInstallations!filtretxtSurface Is Null)
Délimiteur = les signes que l'on utilise pour signaler le début et la fin d'une valeur.
Exemple des croisillons pour une date #mm/dd/aa#
des apostrophes droites pour du texte 'MonTexte' ou des doubles-quotes "MonTexte"
et rien pour du numérique.
et quand c'est une date, il faut parfois la reformater à la sauce anglaise mois/jour/année.
Ton code est bon, ce n'est donc pas étonnant qu'il fonctionne !
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Bonjour,
j'ai suivi le tuto suivant afin de rajouter [Tous] à une liste déroulante. Par contre, comment faire correspondre ce [Tous] à "*" dans une requête ?
J'ai essayé le code suivant sans succès dans une requête :Avez vous des idées ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Comme VraiFaux([Formulaires]![Import]![Liste_déroulante_Ligne]="[Tous]";"*";[Formulaires]![Import]![Liste_déroulante_Ligne])
Par avance, merci.
Bonjour,
???tuto suivant
Difficile de t'aider sans voir les propriétés de ta zone de liste.
Peux-tu poster un échantillon de ta base dans une version compatible Access2000 ?
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager