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

Fermé
nad - 15 juil. 2003 à 15:36
 nad - 16 juil. 2003 à 10:02
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

Utilisateur anonyme
15 juil. 2003 à 16:12
J'ai pas compris la question.
Il est où ton problème ? Tu as ton formulaire, c quoi que tu attends de nous ?
0
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
bnb Messages postés 150 Date d'inscription jeudi 20 septembre 2001 Statut Membre Dernière intervention 7 décembre 2007 5
15 juil. 2003 à 16:35
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
j'ai une erreur du genre "operateur absent dans l'expression
0
Utilisateur anonyme
15 juil. 2003 à 16:35
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
en sql ça me fait des erreurs du genre caractère en trop
0
Utilisateur anonyme
15 juil. 2003 à 16:43
Si dans ton formulaire du tapes dup*, ça marche pas ?
0
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
bnb Messages postés 150 Date d'inscription jeudi 20 septembre 2001 Statut Membre Dernière intervention 7 décembre 2007 5
15 juil. 2003 à 16:44
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
non les 2 ne marchent pas
0
Utilisateur anonyme
15 juil. 2003 à 16:54
Tu me rassures que ça marche.
Essaies-ça :

WHERE (((dossier.nomdos) Like "*"&[Formulaires]![recherchedos]![Ndosrecherche]&"*"));
0
super ça marche !!!
merci beaucoup
0
bnb Messages postés 150 Date d'inscription jeudi 20 septembre 2001 Statut Membre Dernière intervention 7 décembre 2007 5
15 juil. 2003 à 17:23
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
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
Utilisateur anonyme
16 juil. 2003 à 09:31
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
Utilisateur anonyme
16 juil. 2003 à 09:36
donc requête nom
0
Utilisateur anonyme
16 juil. 2003 à 10:00
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
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