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

Contribuez Discussion :

"tout et rien" [Trucs & Astuces]


Sujet :

Contribuez

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 4
    Points
    4
    Par défaut "tout et rien"
    Bonjour à tous,

    Le titre du message peut paraitre particulièrement vague....

    Voici le problème:

    Dans ma requête, j'utilise pour prendre tout les champs, le problème et que certain sont Null, il faut alors faire pour les prendre.

    Existerait il, par hazard, une expression suivante: "je te chope n'importe quel champs quel que soit son contenu, champ rempli, chaine vide ou champ null" ; en gros TOUT

    Franchement ca me simplifirait la vie !

    Merci à vous

  2. #2
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,
    Je comprends pas trop ton problème, mais as tu essayé

  3. #3
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    je ne connais pas la structure de ta table. mais moi je n'ai aucun problème avec les champs Null. en ayant des champs Null de ma table, et en faisiant une requête avec "*" j'ai tous mes champs en résultat (y compris les Null).

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Salut,

    J'ai oublié de précisé que j'essaie de rentrer mon code directement dans la requete access.

    Du coup, le il ne l'encaisse pas du tout et me ressort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme VraiFaux(EstVide(nz([forms]![Menu]![SearchISIN]));([DATA].[ISIN]) Comme "*" Ou ([DATA].[ISIN]) Est Null;[forms]![Menu]![SearchISIN])
    quand je saisi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme VraiFaux(EstVide(nz([forms]![Menu]![SearchISIN]));"*" Ou  EstNull;[forms]![Menu]![SearchISIN])
    Ca donne à réfléchir...

    Pour te répondre Petrogaz, le mien n'encaisse pas les Null... un problème de paramétrage des champs dès le début ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    pour tout avoir il suffit de ne pas mettre de critère

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Salut Random,

    Bien vu, si je ne met pas de critère, je vais effectivement tous avoir.

    Le problème (car il y a toujours un problème...) c'est que dans ma requete je fais référence à différents champs optionnels sur un formulaire(c'est une recherche multi critères).

    Voila la traduction en francais de ce que je veux:
    Si le champ du formulaire est vide, tu acceptes tous (champs remplis, chaiens vide ou Null), si le champ est renseigné tu fais la recherche avec ce qu'on te donnes.

    Pas très compliqué à priori, mais en vérité ca fait deux jour que je me prend la tête la dessus... GRRR !!

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Pourquoi tu veux mettre le code directement dans la requête ?
    Un bouton [Rechercher] serait plus facile à coder et ta requête à paramétriser.

    Gézabel.

  8. #8
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    je viens de comprendre ce que tu veux. en fait le champ vide c'est sur le formulaire. il faut donc mettre ceci dans le critère de ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme [Forms]![menu]![SearchISIN] & "*"
    avec ça si tu renseigne un nom il te le trouve sinon il t'affiche tous les enregistrements.
    voilà !

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Je test !

    Merci les gars

  10. #10
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    n'oublis pas le tag résolu !

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Ah en fait nan je crois qu'on c'est mal compris.

    Voila le code que j'ai déjà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme VraiFaux(EstVide(nz([forms]![Menu]![SearchISIN]));"*";[forms]![Menu]![SearchISIN])
    Ce code est entré directement dans la requète, car il y a 8 options dans le formulaire, et je vais être amené à la dupliquer après.... (de toute manière je suis débutant alors je prefère ne rester au bon vieux tableau de requete pour l'instant)

    Voila l'effet de ce code:

    Access regarde ce qu'il y a dans le champ du formulaire SearchISIN; si il n'y a rien, il me sort l'ensemble des champs A L'EXEPTION DES NULL, si il y a quelque chose, il recherche avec.

    CE QUE JE VEUX: si le champ du formulaire n'est pas renseigné, je veux que la requête sorte TOUS, les champs renseignés ET les Null.

    Voila, je suis pret à me déplacer pour venir embrasser celui ou celle qui viendra me délivrer (j'espère que ca va motiver et n'aurra pas l'effet inverse

  12. #12
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Bon, si y a des bisous en jeu, je veux bien m'y mettre... A bientôt...

  13. #13
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    Citation Envoyé par alexei
    CE QUE JE VEUX: si le champ du formulaire n'est pas renseigné, je veux que la requête sorte TOUS, les champs renseignés ET les Null.
    as-tu bien testé mon code dans ton critère. parce qu'il répond bien à la question.

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    je viens de comprendre ce que tu veux. en fait le champ vide c'est sur le formulaire. il faut donc mettre ceci dans le critère de ta requête :
    Bein en fait je croyais avoir été clair, (mais en fait c'était sous entendu, bon ok ma faute) : LE CHAMP VIDE QUI ME POSE PROBLEME N'EST PAS DANS LE FORMULAIRE; IL EST DANS LA TABLE QUE J'INTERROGE (avec la requête).

    Les champ vide des formulaires, je les gère déjà avec la formule VraiFaux.

    Ce que je gère pas, c'est la table ou il y a à la fois des champs remplis et des Null ou des chaines vides.

  15. #15
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Bon... me revoilà pour les bisous !

    Voici comment construire ton SQL (plus spécialement ta clause WHERE) proprement :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    Dim strSQL As String
     
    'WHERE
     
      'Critère 1
     
      'Exemple pour un champ falcultatif avec critère facultatif de type string
      If (Len(Nz(TextBoxCritère1, "")) > 0) Then strSQL = " (nz([MaTableOuRequête].[ChampCritère1],"""")" & " Like ""*" & TextBoxCritère1 & "*"")"
     
      'Critère 2
     
      'Exemple pour un champ obligatoire avec critère facultatif de type string
      If strSQL <> "" Then strSQL = strSQL & " AND"
        If (Len(Nz(TextBoxCritère2, "")) > 0) Then
          strSQL = " ([MaTableOuRequête].[ChampCritère2] Like ""*" & TextBoxCritère2 & "*"")"
        End If
      End If
     
      'Critère 3
     
      'Exemple pour un champ obligatoire avec critère facultatif de type numérique
      If Len(Nz(TextBoxCritère3, "")) > 0 Then
        If strSQL <> "" Then strSQL = strSQL & " AND"
        strSQL = strSQL & " (MaTableOuRequête.ChampCritère3 =" & TextBoxCritère3 & ")"
      End If
     
      'Critère N, etc.
      '...
     
      'Finalisation de la clause where
      If strSQL <> "" Then strSQL = " WHERE " & strSQL
     
     
    'SELECT
        strSQL = "SELECT ... FROM " & strSQL
     
    'ORDER BY
        strSQL = strSQL & " ORDER BY ..."
    Edit : correction critère 2

  16. #16
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    Citation Envoyé par alexei
    Bein en fait je croyais avoir été clair, (mais en fait c'était sous entendu, bon ok ma faute) : LE CHAMP VIDE QUI ME POSE PROBLEME N'EST PAS DANS LE FORMULAIRE; IL EST DANS LA TABLE QUE J'INTERROGE (avec la requête).
    ok donc j'avais mal compris. c'est pas juste c'est FRED qui aura le Bisous !!

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    bon pour les bisous en fait... (confirme moi dans mon doute Fred, tu es bien... un homme )


    Blague à part : il est 19H et je quitte le taf, je remet donc le test à demain.

    Néanmoins, ca me complique un peu d'utiliser SQL ; je suis un débutant (un peu effarouché) et je m'en tient pour l'instant au table de requete toutes gentilles et facile ; et d'un point de vu technique, je vais être amené à employer un grand nombre de requete (en gros 6 tableau de requete pouvant utiliseé 8 champs + 2 champs pour une recherche avec date contenu .... et encore, dès que je fini un truc mon boss m'en rajoute !)

    Bref, si il pouvait exister une expression qui soit l'equivalent de "*" + Null en langage de requete access (sql simplifié je crois ? ) ce serait quand même vachement cool !

    Donc, non je ne me défile pas pour le bisous , oui je vais tester (mon acharnement est sans limite, mon taf en dépend) MAIS, mon instinct de débutant me dis que plus simple ca doit exister.

    pour finir: MERCI Fred et à demain pour la suite

  18. #18
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    voilà pour moi ma dernière réponse pour ce soir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Comme VraiFaux(Nbcar(nz([forms]![Menu]![SearchISIN]));"")>0;[forms]![Menu]![SearchISIN];[forms]![Menu]![SearchISIN]&"*" ou EstNull)
    j'aurais peut être mon bisous.

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 4
    Points
    4
    Par défaut
    Bonjour à tous,

    toujours pas trouvé de slution satisfaisante malgré les test...

    Merci quand même les gars.


    Keep going...

  20. #20
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    à mon avis il va falloir que tu te mette au langage SQL et un peu de VBA pour avoir ce que tu veux. l'assistant est bien limité pour certaines opérations. à mmois qu'il y ai quelqu'un avec la solution miracle.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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