[Formulaires] Recherche avec différentes tables (indépendamment) [Résolu/Fermé]

Signaler
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
-
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
-
Bonjour à toutes et à tous!

J'ai une base Access composée de plusieurs table dont la plupart sont liées à une autre table. Pour l'exemple:

- Conseiller, Vendeur, Tailleur
- Clients

Comment puis-je faire, via un formulaire, pour avoir la possibilité de rechercher la liste des données selon une donnée en particulier?

Pour être clair, avec l'exemple, ça veut dire pouvoir trouver la liste des "Clients" selon le Conseiller/Vendeur/Tailleur de manière indépendante (pas une liste commune).

Merci d'avance et bonne journée! :)

8 réponses

Bonjour,

je vous donne un exemple de requête qu'il faut utiliser.

Si tu recherche par le nom de l'agence

SELECT clients.nom
Agence.Nom Agence
specialites.DetailSpecialite
FROM clients , Agences, specialites
Where clients.refNomAgence = Agences.refNomAgence
And clients.refSpecialites = specialites.detailsSpecialites
And ref Nom Agence = 'Agence1';



Quand tu utilises es champs pour relier des tables entre elles, il vaut mieux utiliser des nombre (des id).

Dans le noms des colonnes, il ne faut mettre d'espace ni d'accent. Cela peut créer des erreurs lors des requêtes SQL.


Je ne pense pas que la jointure des des tables jointes concernant les Agences, les Gestionnaires et les Corporate puisse poser des problèmes.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56874 internautes nous ont dit merci ce mois-ci

Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
1
Bonjour Dev1 et merci pour cette réponse!

A vrai dire, est-il possible de reproduire cela sous forme de Formulaire? Dois-je intégrer ce code SQL dans les propriétés de mes listes de choix ou bien cela se fait-il autrement?

Et merci pour le conseil! J'en prends note pour la suite (il est malheureusement un peu tard pour adapter à ce projet)

Merci bien :)
>
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016

https://1fichier.com/?qxx0t7xrut
un exemple de recherche multicritere
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
1
Je ne peux malheureusement acceder au fichier :/
>
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016

http://www.cjoint.com/c/EIlu0o76cDk

je te remets un lien
Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
1 501
Bonjour,

Voilà un exemple de formulaire avec une liste déroulante.


<?php

echo "<form method='post' action='ventes_rajout'>\n";
echo "<center>";
echo "<table class=\"green\">";
echo "<tr><td>Client</td>";
echo "<td>";

//recuperation de la liste des clients
$query = "SELECT id_client, nom_client ";
$query .= "FROM clients ";
$query .= "; ";
$result = execute_query($query);

//creation select avec liste des clients
echo "<select id='id_client' name='id_client'>";
while($row = mysql_fetch_array($result)) {
$id_client = $row[0];
$nom_client = $row[1];
echo " <option value='" . $id_client . "'>" . $nom_client . "</option>";
}//end while
echo "</select>";
echo "</td>";
echo "</tr>";

echo "<tr><td> </td><td><input type='submit'></td></tr>\n";

echo "</tr>";
echo "</td>";
echo "</table>";
echo "</form><br/>\n";

?>


Après dans la page où sont envoyées les données il faut mettre ceci
if(isset($_REQUEST["id_client"   ])) {$id_client    = $_REQUEST["id_client" ];}
else {$id_client = "";}
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56874 internautes nous ont dit merci ce mois-ci

Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
1
Hello DeINC,
Merci pour ta réponse fort complète!

Malheureusement, je suis que très moyennement bon en SQL et encore moins bon en php (niveau qui se rapproche de 0, à vrai dire).

Du coup, et je me suis visiblement mal exprimé dans ma question, mon objectif est de réaliser le travail en utilisant uniquement les solutions "simplifiées" d'Access.

En tous les cas, j'apprécie énormément ton aide! Et désolé si cela t'a fait perdre du temps..
Bonjour,

comme çà je ne peux pas vous répondre. Il faut que je sache comment les tables sont reliées entre elles.
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
1


Bonjour Dev1 et merci pour ta réponse!

Ci-joint le schéma des relations :)

Pour expliciter dans mon contexte, je cherche à avoir la liste des Clients (tout à droite) selon que je les recherche par Agence, Gestionnaire CSS ou Corporate Banker...
J'aimerais, en même temps, avoir les "Spécificités" pour ces Clients (qui est l'information centrale à récupérer à travers cette base).

Tu remarqueras que j'ai des tables jointes concernant les Agences, les Gestionnaires et les Corporate. Cela peut-il poser problème..?

Merci d'avance pour ton aide! :)
Bonjou
Une mehode que j'emploie.
Tu fais une requete de tous les champs concernés.
Tu ouvres un formulaire vierge puis tu incorpores des listes deroulantes independantes sur les tables qui serviront de recherches.
Tu nomes ces liste deroulantes du memes nom que les champs que tu veux rechercher.
Ensuite tu ajoutes un sous formulaire a l'aide de la requete, puis en mode creation tu regardes dans les propriétes du sous formulaires lechamp per et fils.Tu ajoutes le nom des clés primaires de tes tables qui servent de recherches.
Pour l'exemple tu peux faire un formulaire et sous formulaire avec une table de recherche et la requete
Bonjour Bobbyli,

je vais te préparer un modèle de formulaire, avec des listes déroulantes.
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
1
Hello à vous deux,

Merci beaucoup pour votre patience.

castours, je vais regarder plus attentivement ton fichier (beaucoup d'informations pour mes petites connaissances!) mais j'ai l'impression que ça correspond. C'est bien une recherche multicritère qu'il me faut même si il faudrait que ces critères soient potentiellement indépendant.

Je vais aussi tester ce que tu m'as dit :).

Merci encore à tous les deux!
http://www.cjoint.com/c/EImvPiCCqvk
Bonjour
Je t ai fait un exemple avec les tables que tu as fourni.
Les valeurs sont fausse bien entendu
Tu remplis les tables de quelques valeurs et tu essaies.
Tu essaie deja ce que j'ai fait
>
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016

bonjour
Ce que je t'ai envoyé fonctionne sur le principe du formulaire et sous formulaire lorsque les tables sont reliées entre elles.Le formulaire principal ,c'est la table clé primaire le sous formulaire. En regardant dans les propriétés du sous formulaire, on peut le nom des champs père et fils. Ceux sont eu qui relie le formulaire et le sous formulaire En partant de cette analyse, lors du fonctionnement des formulaires on s'aperçoit lorsque on fait un choix dans le formulaire principale, entraine tous les enregistrements qui liés par la clé primaire.Comme je te le disais pour le fichier adresse.
C'est ce principe que j'ai appliqué dans la base que je t'ai envoyé. J'ai créé manuellement la relation champ père et fils dans le sous formulaire.
Compèete ta table principale et les listes déroulantes par des enregistrements. En suite tu pourras faire des recherches en appliquant les critères des liste déroulantes.
>
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016

Bonjour
Qu'appelles tu critère indépendant?
Un nom ne figurant pas dans la liste déroulante
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
1
Hey castours, merci pour l'information!

Et en passant, désolé de répondre toujours tardivement, je prépare un long périple donc j'arrive et travaille la base quand j'ai du temps!

Concernant les "critères indépendants", si on considère les formulaires que tu m'as fait, les critères permettent pour ainsi dire d'affiner la recherche.
On a: les agences, les gestionnaires pour cette agence, les CB pour ce gestionnaire et enfin, les clients pour ce CB.
L'idée, ce serait de pouvoir afficher les clients sans avoir à filtrer via Gestionnaires et CB (ou alors que ce soit optionnel, comme avec un critère "Tous")
>
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016

Bonjour
Tu fais une requette sur ta table enchoissant les champs qui te conviennent.
Tu fais un 3 eme bouton pour ouvrir cette requete sur le formulaire
Messages postés
218
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
3 janvier 2016
1
Hello castours!

J'ai enfin réussi à faire quelque chose de convenable au regard de mes objectifs.

Je te remercie infiniment pour le temps et l'aide que tu m'as accordé. De même que Dev1, d'ailleurs!

Je peux enfin mettre ce post en résolu!

Merci beaucoup! :)