[Access 2000][Formulaire] help!!!!!!!!!!!!

nad -  
 nad -
salut!!
j'ai vraiment besoin d'aide, c'est assez urgent !!!!
alors voila, j'ai un formulaire qui permet de chercher un dossier soit par son nom soit par son numéro
le numéro est précis mais si la recherche se fait par le nom c'est inéxacte c'est à dire que je peux taper h et avoir tous les noms qui sont composés de h
alors je devrai faire cela dans une requete que j'appelle à l'aide d'un bouton
au fait je travail sur access 2000
merci de repondre

13 réponses

  1. Utilisateur anonyme
     
    J'ai pas compris la question.
    Il est où ton problème ? Tu as ton formulaire, c quoi que tu attends de nous ?
    0
  2. nad
     
    j'explique ce que doit faire mon formulaire
    soit l'utilisateur entre le nom du dossier cherché soit son numéro
    la recherche concernant le numéro doit être exacte mais celle concernant le nom peut être approximative

    ce que j'attends de vous c'est une aide pour pouvoir faire cette recherche approximative
    come j'ai un bouton dans le formulaire qui execute une requete je vous montre ce que j'ai fait
    SELECT dossier.numdos, dossier.numcarton, dossier.date_envoi, LigneCommande.date_reception, LigneCommande.date_Renvoi, TypePiece.lib_typepiece, Commande.date_cmde, Commande.date_réalisation, Utilisateur.nom, Utilisateur.prénom, Utilisateur.service, dossier.nomdos
    FROM Utilisateur INNER JOIN (TypePiece INNER JOIN (dossier INNER JOIN (Commande INNER JOIN LigneCommande ON Commande.num_cmde = LigneCommande.num_cmde) ON dossier.numdos = LigneCommande.numdos) ON TypePiece.code_typepiece = LigneCommande.code_typepiece) ON Utilisateur.code_u = Commande.code_u
    WHERE (((dossier.nomdos) Like [Formulaires]![recherchedos]![Ndosrecherche]));
    pour l'instant j'essaie de faire la recherche approximative
    mais avec ça ça ne marche pas alors voila
    merci
    0
  3. bnb Messages postés 150 Statut Membre 5
     
    Et si tu essayais 1 truc du style: WHERE (((dossier.nomdos) Like *[Formulaires]![recherchedos]![Ndosrecherche]*));

    Et 1 tournevis, 1.
    Quand bnb picole, Les autres racollent!
    0
    1. nad
       
      j'ai une erreur du genre "operateur absent dans l'expression
      0
  4. Utilisateur anonyme
     
    Et si dans ton champs de formulaire tu mets une * soit avant, soit après, soit les 2 ?
    exemple tu cherches tous les noms commençant par DUP, tu saisis DUP*.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nad
     
    en sql ça me fait des erreurs du genre caractère en trop
    0
  7. Utilisateur anonyme
     
    Si dans ton formulaire du tapes dup*, ça marche pas ?
    0
    1. nad
       
      oui ça marche, mais le probleme c'est que l'utilisateur devra taper à chaque fois *, on peut faire quelque chose dans le sql pour que l'utilsateur n'ait pas à le saisir
      0
  8. bnb Messages postés 150 Statut Membre 5
     
    Et si tu essayais 1 truc du style: WHERE (((dossier.nomdos) Like '*[Formulaires]![recherchedos]![Ndosrecherche]*'));

    OU BIEN

    Et si tu essayais 1 truc du style: WHERE (((dossier.nomdos) Like "*[Formulaires]![recherchedos]![Ndosrecherche]*"));

    Et 1 tournevis, 1.
    Quand bnb picole, Les autres racollent!
    0
    1. nad
       
      non les 2 ne marchent pas
      0
  9. Utilisateur anonyme
     
    Tu me rassures que ça marche.
    Essaies-ça :

    WHERE (((dossier.nomdos) Like "*"&[Formulaires]![recherchedos]![Ndosrecherche]&"*"));
    0
    1. nad
       
      super ça marche !!!
      merci beaucoup
      0
    2. bnb Messages postés 150 Statut Membre 5
       
      Excuses, je le savais aussi mais j'avais oublié des bribes au passage... Cela ne pouvait qu'être cela voyons!

      Et 1 tournevis, 1.
      Quand bnb picole, Les autres racollent!
      0
  10. nad
     
    au fait j'ai encore un petit hic pour ma requete
    SELECT dossier.numdos, dossier.numcarton, dossier.date_envoi, LigneCommande.date_reception, LigneCommande.date_Renvoi, TypePiece.lib_typepiece, Commande.date_cmde, Commande.date_réalisation, Utilisateur.nom, Utilisateur.prénom, Utilisateur.service, dossier.nomdos
    FROM Utilisateur INNER JOIN (TypePiece INNER JOIN (dossier INNER JOIN (Commande INNER JOIN LigneCommande ON Commande.num_cmde = LigneCommande.num_cmde) ON dossier.numdos = LigneCommande.numdos) ON TypePiece.code_typepiece = LigneCommande.code_typepiece) ON Utilisateur.code_u = Commande.code_u
    WHERE (((dossier.numdos)=[Formulaires]![recherchedos]![Nudosrecherche])) or (((dossier.nomdos) Like "*" & [Formulaires]![recherchedos]![Ndosrecherche] & "*"));

    Les deux conditions ne sont pas réalisées, il y en a qu'une qui se realise c'est celle avec le nom.
    Si j'essaie avec le numéro, ça m'affiche tous les dossiers et pas seulement le dossier que j'ai demandé
    voila merci
    0
  11. Utilisateur anonyme
     
    Le plus simple, c faire 2 champs de recherche : 1 pour le nom et un pour le numéro.
    Le plus compliqué, c de vérifier la saisie, du genre si le champ contient un chiffre, c une recherche par numéro donc requête numéro, sinon, c une recherche par nom, donc recherche par nom.
    Je ne vois pas comment faire d'autre sur le coup.
    @+
    0
  12. Utilisateur anonyme
     
    Salut nad,

    Je te donnes un exemple:

    gLink = "[DR-NOM] Like " & " '* " & Me![Nom].Value & " * ' " DoCmd.OpenForm stDocName, , , gLink

    !!! Attention aux single et double quotes
    Explication: gLink est le string contenant le critère de sélection. [DR-NOM] est le nom du champ "nom" dans ma table contenant les données. Me![Nom].Value est le champ "nom" de mon formulaire.

    DoCmd.OpenForm stDocName, , , gLink donne l'instruction d'ouvrir le form en utilisant comme critère de sélection gLink.

    Bonne chance

    Rien n'est plus dangereux qu'une idée quand on a 
    qu'une idée  :-)
    0
  13. nad
     
    j'étais entrain de tester, et donc j'ai fait 2 requetes diferentes mais dans le code du formulaire j'ai fait une condition, selon ce qui est saisie ouvrir telle requete
    voila merci encore
    bye
    0