Aide pour une requete sous Access 2007

Fermé
Gillesdu75 Messages postés 7 Date d'inscription mercredi 1 avril 2009 Statut Membre Dernière intervention 21 juin 2011 - 1 avril 2009 à 22:50
blux Messages postés 26055 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 mai 2024 - 3 avril 2009 à 16:52
Bonjour,

Il y a bien longtemps que je ne touche plus à Access et j’aurais besoins de votre aide svp

Je re travail donc sous Access version 2007 j’aurais besoins d’une syntaxe complète pour une requête sur un champ

Sur un champ nommé IDENTIFIANT j’ai 2 voir 3 ou 4 noms et prénoms de plusieurs personnes séparé par un point virgule
Exemple :

_____________________________________
I (Champ)IDENTIFIANTS I
I____________________________________I
I Jean GABIN ;Alain Delon ;Clara MORGANE I
I____________________________________I
I Nicolas SarcoZIZI I
I____________________________________I

Je voudrais par une requête interrogé ma table ou ce trouve les noms et prénoms.

J’utilise le syntaxe [Forms]![Choix]![ChoixNom] si je demande donc Nicolas SARCOZIZI pas de souci mais si je demande Clara MORGANE ou Jean GABIN cela ne me donne rien étant donné que c’est une ligne ou il y a plusieurs Prénoms et Noms

Donc je voudrais interroger ma table via la requête sur n’importe quel des divers Prénoms et noms.

Si je demande Jean GABIN que je ne sois pas bloqué s’il y a d’autre prénoms et noms sur cette même ligne si je vois apparaitre les autres noms de cette même ligne cela n’est pas grave au contraire.

Merci infiniment de votre aide.

Gillesdu 75

7 réponses

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
1 avril 2009 à 23:00
B'soir

Je ne sais pas si cela répond exactement à ce que tu veux faire, mais tu peux tjs essayer ceci :

"SELECT Identifiants FROM TaTable WHERE Identifiants LIKE *" & [Forms]![Choix]![ChoixNom] & "*"

Cdlt

IC
0
Bonjour

Merci de ton aide mais cela ne fonctionne pas, la syntaxe est bonne car access la valide mais cela ne me sort rien de ma table !!!

"SELECT Identifiants FROM TaTable WHERE Identifiants LIKE *" & [Forms]![Choix]![ChoixNom] & "*"

Pour ma requete en faite cela donne ca :

Ma table c'est Mes_Inters_2007
Mon champ qui est intérrogé porte le nom [À]

"SELECT À FROM Mes_Inters_2007 WHERE À LIKE *" & [Forms]![Choix]![ChoixNom] & "*"
(Identifiants) (Mon champs)

Je suis sur qu'il ne manque pas grand chose .

Help help please
Thank
0
incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
2 avril 2009 à 21:12
Bonsoir,

Je viens de faire des tests et apparemment le problème vient des * qui ne sont pas pris en compte.

Voici la requete que j'ai testé :

SELECT Personne.NomPersonne
FROM Personne
WHERE (((UCase([NomPersonne])) Like '*' & [CeNom] & '*'));

J'ai créé une table Personne avec 2 champs : idPersonne et NomPersonne. Dans le champ NomPersonne, j'ai saisi des prénoms et noms espacés par un ";"

[CeNom] est un paramètre et la requete me demande avant l'exécution la valeur que je veux lui donner.

Si je tape tout ou partie d'un nom présent, je récupère l'enregistrement associé. Je pense que cela devrait faire ton affaire. PS, j'ai Access 2000.

Bon courage.

IC
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112 > incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012
2 avril 2009 à 22:48
Bonsoir incaout,

Nota : Les * sont à encadrer avec des doubles cotes "

A+
Cordialement
0
Dreadoune Messages postés 123 Date d'inscription mercredi 25 mars 2009 Statut Membre Dernière intervention 24 avril 2010 7
2 avril 2009 à 10:16
essayes ca :


"SELECT * FROM Mes_Inters_2007 WHERE IDENTIFIANTS LIKE "&À&" order by Asc"
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
2 avril 2009 à 15:05
Bonjour Gillesdu75,

Voici une syntaxe de recherche sur chaîne de caractères. Elle m'a rendu de bons services.
En l'adaptant elle devrait vous être utile.

SELECT <Nom_Table>.<Nom_champ>
FROM <Nom_Table
WHERE (((<Nom_Table>.<Nom_champ>) Like "*" & [ Valeur recherchée ? ] & "*"));


Cordialement
0

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

Posez votre question
Slt

SELECT <Mes_Inters_2007>.<À>FROM <Mes_Inters_2007> WHERE (((<Mes_Inters_2007>.<À>) Like "*" & [ Valeur recherchée ? ] & "*"));

Access me dit Cette expression comporte une sous requête erronée
Placer la sous requête entre parenthèse


Pour moi entre parenthèse cela me gonfle grrrrrrrrrrrrrrrrrr


Je vais voir pour expliqué peut être mieux mon problème .
En tous cas merci de votre aide.
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
3 avril 2009 à 16:29
Bonsoir Gillesdu75,

Je ne vois pas d'erreur évidente ... D'autant que la même syntaxe fonctionne normalement chez moi sous ACCESS 2000.

A noter tout de même que sous SQL les caractères accentués sont interdits de séjours. L'accentuation est inconnue chez les anglo-saxons ....
Il faut aussi un espace avant FROM

Vérifie ces 2 points

A+
0
blux Messages postés 26055 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 mai 2024 3 290
3 avril 2009 à 16:52
Salut,

moi je mettrais une simple quote pour déclarer le début de chaine, car les doubles-quotes ne sont là que pour entourer une valeur, elles ne sont pas dans la requête ainsi générée...
LIKE "'*" & [Valeur recherchée ?] & "*'"
donnera :
LIKE '*toto*'
au lieu de
LIKE *toto*
--

A+ Blux           
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0