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 :

Débutant: Intégrer les opérateurs >,=, etc lors d'une recherche dans un formulaire


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut Débutant: Intégrer les opérateurs >,=, etc lors d'une recherche dans un formulaire
    Bonjour,

    Je souhaite faire une recherche en utilisant les opérateur >, =,... pour par exemple rechercher toutes les entreprises dont le CA est > 1 . Tout cela se passe dans un formulaire de recherche. J'ai bien le code de l'exemple de Caféine mais je voudrai connaître le bon code pour faire fonctionner l'appli comme je le souhaite. Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Me.chkTurnover Then
        SQL = SQL & "And VSH!Turnover like '*" & Me.txtRechTurnover & "*' "
    End If
    Merci,

    Jocelyn

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello : )

    Like est un opérateur de comparaison pour du texte ...

    exemple pour des comparaisons numériques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Me.chkTurnover Then
        SQL = SQL & "And VSH!Turnover >= " & Me.txtRechTurnover & " "
    End If

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Merci Caféine,

    J'ai bien recopié ton code Caféine mais maintenant quand je coche la checkbox Turnover sur le formulaire l'erreur suivante s'affiche:

    Erreur de syntaxe (opérateur absent) dans l'expression
    'VSH!NumCompany <> 0 And Turnover >='.

    Comprends pas

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    quelle est alors, la valeur de Me.txtRechTurnover ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Ah non je ne veux pas mettre de valeur par défaut.
    Je veux que celle ci soit rentré dans la zone txtRechTurnover (Je fais comme dans ton exemple de formulaire de rechrche Caféine sauf ke je veux laisser le choix à celui ki réalise la recherche de déterminer le seuil voir si possible un écart (compris entre X et Y)

    Merci de ton aide Caféine

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    bon reprennons ...

    et dis nous ce que ça donne

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Il s'affiche cela:

    SELECT Company, Country, Turnover FROM VSH Where VSH!NumCompany <> 0 And VSH!Turnover >= ;

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Il faut que ton code prévoie le cas où Me.txtRechTurnover est Null ... comme cela semble être le cas actuellement.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Mais l'erreur apparait dès que je coche la checkbox alors que pour les autres variables quand je coche la checkbox cela n'a aucune incidence sur le résultat et fait seulement apparaitre le rectangle blanc pour ke je puisse filtrer.
    C'est sur que quand je coche la checkboc du turnover le rectangle blanc qui apparait est vide mais je ne vois pas comment traiter ce problème?

  10. #10
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par cafeine
    Il faut que ton code prévoie le cas où Me.txtRechTurnover est Null ... comme cela semble être le cas actuellement.
    avec un test (un bloc If) sans doute ...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Et c'est là ke le problème est. Je suis très mauvais en programmation. Je sais que c'est necessaire mais je pensais pouvoir développer une base de donnée avec access sans connaissance en programmation (si je retrouve celui qui me disais qu'access c'était simple je vais l'étriper lol). Mes dernier cours en Visual Basic remonte à 9 ans. Mais le pire c'est le SQL car je n'y comprend rien.
    C'est donc pour cela que j'ai besoin de votre aide. J'ai essayer avant de relancer de créer une boucle à la suite du code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Me.chkTurnover Then
        SQL = SQL & "And VSH!Turnover >= " & Me.txtRechTurnover & " "
        End If
    End If
    Ma boucle pourrai donc être du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     If Me.txtRechTurnover = 0 Then
            SQL = SQL & "And VSH!Turnover like '*" & ????? & "*' "
    Mon souci c'est que je ne comprends rien à la ligne SQL et que je ne sais pas quoi mettre à la place de mes ??????. La ligne SQL correspond bien à ce qui va s'afficher dans ma fenêtre lstResults (zone de liste pour les réponses)?

    Je suis désolé pour les désagréments que je cause mais c'est ma première base de donné.

    Merci

  12. #12
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Vu que je ne vais pas faire le boulot à ta place ...

    une petite aide : comment tester qu'une expression est nulle ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If MaVariable & "" = "" Then
    dans ton cas tu veux qu'elle ne soit pas Null

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.txtRechTurnover & "" <> "" Then
    Maintenant si tu ne comprends rien au SQL essaie de regarder la partie de mon tutoriel qui en traite, c'est théoriquement assez accessible.

    c'est là : http://cafeine.developpez.com/access...rchemulti/#LVI

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Merci Caféine ça marche. J'ai mis le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.chkTurnover Then
        If Me.txtRechTurnover & "" <> "" Then
        SQL = SQL & "And VSH!Turnover >= " & Me.txtRechTurnover & " "
        End If
    End If
    Tu en pense quoi?
    Je suis par contre obligé d'avoir un champ de type numérique pour turnover. Tu sais si il y a une solution pour pouvoir rajouter du texte et pouvoir faire ce genre de test?

    Sinon tu pourrais me diriger sur ma discussion intitulé:
    Débutant: Problème zone de liste

    Je te remercie encore beaucoup et concernant ton tuto je travail avec depuis le début. Mon problème avec le SQL c'es tous les &,",etc. Je ne comprend pas quand les mettres et comment.

    Merci

  14. #14
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Content que ça marche : )

    le code me paraît bon.

    le & (esperluette) est un opérateur de concaténation, ça veut dire accoler deux chaines de caractères
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    toto="Hello "
    tata ="World !!!"
    print toto & tata
    Hello World !!!
    en revanche, ta question semble saugrenue ... comment avoir un turnover en texte ? alors que c'est numérique ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Oui je sais que ma question peut sembler bizarre.

    En faite le point fort du type de donnée "texte" dans une table c'est qu'il accepte et les chiffres et le texte ce qui me permet de mettre des commentaires. Une autre possibilité je pense est de rajouter une case commentaire à coter de celle Turnover dans le formulaire. Tant pis.

    Merci Caféine!

  16. #16
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par jrogron
    Oui je sais que ma question peut sembler bizarre.

    En faite le point fort du type de donnée "texte" dans une table c'est qu'il accepte et les chiffres et le texte ce qui me permet de mettre des commentaires. Une autre possibilité je pense est de rajouter une case commentaire à coter de celle Turnover dans le formulaire. Tant pis.

    Merci Caféine!
    De rien, mais oui, c'est une hérésie d'utiliser un meme champs pour un turnover et pour un commentaire.

  17. #17
    Candidat au Club
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Je vien de voir que le sujet a été marqué résolut j'en créé donc un nouveau.

    Desoler

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Exclure une extension lors d'une recherche dans un répertoire
    Par Martipit dans le forum VB.NET
    Réponses: 5
    Dernier message: 05/05/2012, 23h02
  2. [MySQL] Problème avec les accent lors d'une recherche dans ma base de donnée
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/06/2009, 14h08
  3. Gerer les message d'erreur lors d'une recherche
    Par papy75 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 27/03/2008, 11h32
  4. [LG]Runtime Error lors d'une recherche dans un fichier
    Par Fraynor dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2005, 22h51
  5. Combler les trous lors d'une suppression dans une table
    Par Billybongjoe dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 08/04/2004, 14h02

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