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 :

Problème Script et QBE


Sujet :

Access

  1. #1
    Membre actif
    Problème Script et QBE
    Bonjour à tous,

    Pour commencer, ci-dessous ma table :



    J'ai un problème d'exécution de script lié à du QBE.

    Comme vous pouvez le voir sur l'image ci-dessous, j'ai créé un formulaire en liaison avec une requête :

    Requête :



    Formulaire :



    J'ai intégré le script à la zone de texte XXXXX (intitulé : mot_rechercher) :







    Logiquement avec tout ça cela me permet de faire une recherche sur les rubriques suivantes :
    - Nom
    - Société
    - Numéro Facture

    Cependant, cela ne marche pas sur la rubrique Nom. Pourquoi?

    De plus j'aimerais ne plus avoir cette fenêtre qui apparaît lors de chaque mise à jour de la zone de texte :




    Merci de votre aide et bonne journée

  2. #2
    Modérateur

    Bonjour.

    Cependant, cela ne marche pas sur la rubrique Nom. Pourquoi?
    Les macros (ce que tu appelles script) sont assez opaques et difficiles à débuguer.
    De plus tu ne montres pas ce que tu as mis comme étapes donc je vais faire un "guess", tes 2 autres champs ne sont pas des textes et dans tes critères pour [nom] tu n'as pas mis les bons (ou pas du tout de) délimiteurs.

    Pour du texte le critères doit être entouré soit par des guillemets (") soit par des apostrophes ('). Perso je recommande les guillemets qui sont plus rares que les apostrophes en français.
    ex :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    [MonChampTexte]="UnTexte"


    Pour les nombres, il n'y a pas de délimiteurs.
    ex :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    [MonChampNombre]=123.45


    Pour les dates le délimiteur est le dièse (#).
    ex :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    [MonChampDate]=#2020-10-09#



    De plus j'aimerais ne plus avoir cette fenêtre qui apparaît lors de chaque mise à jour de la zone de texte :
    Ce message apparaît quand Access ne trouve pas le champs mentionné dans la source de données.
    Gnéralement c'est du à :
    1. une faute d'orthographe dans le nom.
    2. un champ qui a été supprimé.
    3. un changement de source de données.


    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Modérateur

    Re-bonjour.

    Tu voudras peut-être aussi voir https://access.developpez.com/cours/...#formrecherche.

    Il y a toute une série sur les formulaires de recherches, du plus simples au plus complexe.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Expert éminent sénior
    bonsoir,
    Cependant, cela ne marche pas sur la rubrique Nom. Pourquoi?
    cela fonctionne t-il au moins sur les autres rubriques ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  5. #5
    Membre actif
    Bonjour tout le monde,

    J'ai renommé le champ Int_num afin que le message n'apparaît plus.

    Je ne comprends pas la notion de "délimiteur"?

    Vous trouvez ci-dessous le paramétrage de mes trois champs qui sont de type Texte court.

    Pour rappel : lorsque je tape, dans ma barre de recherche, un nom et bien cela ne marche pas alors que si c'est un numéro de facture ou un nom de société, cela marche...






  6. #6
    Expert éminent sénior
    bonjour,
    Pour rappel : lorsque je tape, dans ma barre de recherche, un nom et bien cela ne marche pas alors que si c'est un numéro de facture ou un nom de société, cela marche...
    est-ce que le champ Int_nom contient quelque chose dans l'onglet Liste de choix ?
    Je ne comprends pas la notion de "délimiteur"?
    comme l'a dit marot_r:
    Pour du texte le critères doit être entouré soit par des guillemets (") soit par des apostrophes (').
    mais cela s'applique dans VBA pour les variables, ici dans SQL cela s'applique au littéraux comme tu l'as fait ici avec l'astérisque: Comme "*"
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  7. #7
    Membre actif
    Bonjour,

    Cela veut dire que pour mon critère je dois plutôt mettre :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Comme """ & [Forms]![F02_rechercher]![mot_rechercher] & """


    au lieu de :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Comme "*" & [Forms]![F02_rechercher]![mot_rechercher] & "*"


    De plus, pour le champs Int_nom, je n'ai rien en liste de choix comme vous pouvez le constater ci-dessous :


  8. #8
    Expert éminent sénior
    Cela veut dire que pour mon critère je dois plutôt mettre :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Comme """ & [Forms]![F02_rechercher]![mot_rechercher] & """

    Non, j'ai dit que cela s'applique dans SQL uniquement pour les littéraux (un texte en dur, comme le caractère *, par exemple) pas pour les variables (un contrôle du formulaire comme [mot_rechercher], par exemple), la syntaxe que tu utilises est correcte.
    Et si il n'y a pas de liste déroulante, le problème doit venir d'ailleurs mais je ne sais pas où ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  9. #9
    Membre actif
    Ok merci pour toutes ces informations.

    Je vais essayer de persévérer dans mes recherches.

###raw>template_hook.ano_emploi###