Requete sql

Fermé
samsan - 10 juil. 2008 à 10:32
 samsan - 22 juil. 2008 à 09:48
Bonjour,
on a créer une bdd sous access de gestion de client et on veut créer un formulaire qui permet de rechercher lles clients par leurs code national en se basant sur une requete sql qui permet de faire cette recherche(on fait entrer le code puis cliquer sur un boutton rechercher et les autres information doivent s'afficher )
svp aidez nous a trouver cette requette
merci

14 réponses

CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
10 juil. 2008 à 10:56
Bonjour,

C'est assez simple,il y a plusieurs solutions,je t'en explique une. Voilà les étapes.
- Tout d'abord tu crées une requête qui va te servir à lister les codes nationnaux (déjà présent dans une table j'imagine), en les regroupement pour ne pas avoir de doublon.
La requête est : SELECT [Code_nationnal] FROM [Table_client] GROUP BY [Code_nationnal]
- Ensuite tu crées un formulaire "FormChoixClient" en mode création.Tu crées une liste déroulante "ChoixCode" basé sur la requête précédente.
- Tu crées une nouvelle requête qui va lister toute tes infos clients:
SELECT [Code_nationnal],[Client] FROM [Table_client] WHERE [Client]=Formulaires!FormChoixClient!ChoixCode.
- Tu retourne à ton formulaire "FormChoixClient" et tu crées un bouton qui lance la dernière requête.

Tu peux évidement rajouter toutes les infos que tu as besoin dans la dernière requête et pourquoi pas créer un état pour que ce soit plus joli (sauf que le bouton devra executer le nouvel état et non la requête).

J'espère que ça t'as aider ;)
0
merci bcp pour ton aide je sais si on peux se contacter dans msn pou mieux t'expliquer la situation si c'est possible
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51 > samsan
10 juil. 2008 à 11:31
Bah là je suis au boulot donc ça va pas être possible pour msn.
Ce soir ce sera possible par contre. Sinon en attendant, explique moi ici plus en détail ta situation et je vais voir ce que je peux faire.
0
je vai bien expliquer la situation
bon an créer 2 formaulaire le premier c'est le principale a partir de la table clients et on veut crée un autre formulaire qui contient une zone de texte permettant de saisir le code du client et en cliquant sur un bouton rechercher les autres informatines des clients s'affichent dans le formulaire principale
merci bcp pou ton aide
0
pardon moi si j'ai commis dse fautes d'orthographe car j'essaye d'etre rapide pou gagner du temps
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51 > samsan
10 juil. 2008 à 11:48
J'étais pas loin dans mon explication en fait sauf que j'ouvrais une seconde requête au lieu d'ouvrir le formulaire principale.

Donc je reprends.

Tu crées le formulaire avec la liste (basé sur la p'tite requête du début) comme je t'ai dis plus haut.
Dans ce formulaire tu crée un bouton, et là y'a un "assistant Bouton". tu fais donc:
- Opération sur formulaire > Ouvrir un formulaire (puis suivant)
- Tu choisis ton formulaire principal (puis suivant)
- Tu fais "Ouvrir le formulaire et trouver les infos spécifiques à afficher" (puis suivant)
- Tu choisis le champs code_nationnal des 2 côtés et tu appuie sur la flêche <->.

Voilà, ça devrait marcher !
0
j'ai bien compris et je vais essayer d'appliquer ces etapes et je vais voir ce que cela donnera
je te remercie infiniment c'est trés gentille de votre part
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
10 juil. 2008 à 13:40
Si tu as Access 2003 (et 2000 aussi je penses), dans la barre de menu tu vas dans "Outil", puis tu cliques sur "Démarrage..."
A un endroit tu verras "Afficher formulaire/Page", et là tu sélectionnes dans la liste ton formulaire en question.
Si tu ferme et réouvre ta base, ça marche (je viens de tester).

Bonne journée, n'hésite pas pour les questions.
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
10 juil. 2008 à 16:11
merci bcp tu es dans quelle ecole?merciiiiiiiiiiiiiiiiiiiiii bien avec access 2003 c a bien marché
tu t'appelle comment?
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
10 juil. 2008 à 16:14
pour le formlulaire rechercher il n ya pas une autre façon qui permet de saisir le code du clients dans une zone de texte au lieu e la liste déroulante
desolé pour le dérangement
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51 > samsan
10 juil. 2008 à 16:23
Je suis à l'école à Nantes ;)

Pour revenir au problème, tu fais "clique droit" sur la zone de texte en question et tu fais "remplacer par zone de texte"

Le problème qui peut se passer c'est que si tu ne tapes pas le code du clients EXACT et que tu clique sur le bouton, ça ne t'afficheras rien dans ton formulaire principal. A toi de voir.

Bonne journée.
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
10 juil. 2008 à 16:27
1___pour le formlulaire rechercher il n ya pas une autre façon qui permet de saisir le code des clients dans une zone de texte au lieu de la liste déroulante ??????
2___dans le formulaire principal clients on a crée un bouton sauvegarder enregistrement est ce qu'il ya une façon qui permet de sauvegarder les informations et aprés vider toutes les cases automatiquement sans ajouter un autre bouton "nouveau"
désolé pour le derangement
0
mai l'encadrant nous a demandé de créeu un boutton sauvegarder et d'afficher un message de confirmation puis les zones de texte se vident automatiquement
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
10 juil. 2008 à 17:17
Ok,il va falloir rajouter une ligne de code vba.

Sur ton bouton "sauvegarder" , vas dans les proprités, ensuite sur"evenement" puis "sur click". Tu clique sur les 3 p'tits points |...| Et ça t'ouvre le vba, tu verra une ligne du style:
DoCmd.DoMenuItem ac FormBar, ac RecordsMenu, acSaveRecord, ...

En dessous, tu mets juste:
DoCmd.GotoRecord , , acNewRec

Voilà ;)
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
11 juil. 2008 à 10:04
bonjour
on veut afficher un message(enregistrement introuvable)si le code du client n'existe pas dans la table
merci
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
11 juil. 2008 à 10:04
bonjour
on veut afficher un message(enregistrement introuvable)si le code du client n'existe pas dans la table
merci
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51 > samsan
11 juil. 2008 à 10:12
Je te répond dans quelques minutes ;)
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51 > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
11 juil. 2008 à 10:35
En fait faut faire une requête SQL qui compte les code client. Si y'en a 1 c'est bon sinon ça affiche le message. Dans le code VBA de ton bouton tu mets:

Set db = CurrentDb()
Set res = db.OpenRecordset("SELECT COUNT(table_client.code_client) AS compteur FROM table_client WHERE (((Code_client) = " & Formulaires!FormChoixClient!ChoixCode & "));")

If res![compteur] = 0 Then
MsgBox ("Le code client entré est mauvais")
End If

Le code_client c'est le nom du champs de ta table.
La table_client, c'est le nom de ta table ou il y a les codes client.
Formulaires!FormChoixClient!ChoixCode, c'est le nom du code client du formulaire.

En espérant que ça fonctionne ^^
0
ok merci bcp
0

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

Posez votre question
meme moi je comprend pas c'est ce qu'on m'a demandé est ce que je te renvoie ma base de données avec les nouvelles modifications???????????
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
15 juil. 2008 à 11:20
Erf, bah si même toi tu comprends pas je penses que je pourrais pas t'aider.

Le mieux c'est que tu ailles voir la personne qui te demandes de faire la base de données, en lui redemandant précisement ce qu'il veut concernant la recherche par personnes. Car là ce n'est pas clair du tout.

Pour moi le mieux est de faire deux listes comme je t'es dit plus haut. Au pire explique ça à la personne qui te demandes de faire la base de données.
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
15 juil. 2008 à 11:28
est ce que tu peux m'envoyé le code pour vider la zone de texte cin dans le formulaire recherche (en cliquant sur le boutton "rechercher" les informations s'affichent et aprés la zone de texte se vide
0
daccord aide moi pour faire la liste c'est ce que je veux faire et tant pis pour lui
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
15 juil. 2008 à 11:47
Tu crées d'abord une requête "Choix nom" basée sur ta table ou il y a les personnes. Tu mets juste le champs "nom" auquel tu appliques un regroupement (c'est le E bizarre en haut dans ta barre des taches).

Ensuite tu crées une requête "Choix Prénom" basée sur la même table. Là tu mets le champs "prénom" et le champs "nom". Dans les critères au niveau du champs "nom" tu mets Forms!Recherche!ChoixNom.

Tu crées ton formulaire recherche dans le quel tu mets deux zones de liste. La première est alimentée par les noms de ta requête (Choix Nom) (tu vas dans propriété>contenu) et la deuxième par les prénoms (Choix Prénom).

Si tu veux faire ça nickel:
Dans ta liste "nom": Propriété après MAJ, un p'tit clic sur le bouton à trois points, générateur de code... Tu met juste un Me!ChoixPrénom.Requery dans le VBA

Et bien sûr ensuite un bouton qui lance ton formulaire en choisissant les informations spécifiques.
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
15 juil. 2008 à 11:51
merci bcp c'est deja fait
la question concernanat vider la zone de texte cin ???
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51 > samsan
15 juil. 2008 à 12:03
Tu vas dans les propriété "sur click" du bouton.

Puis dans le VBA tu mets:
Champs = ""

ou si ça marche pas:

Champs.text =""
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
15 juil. 2008 à 12:13
pour la liste deroulante est ce qu'on met .text ou quoi???
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
15 juil. 2008 à 12:22
pour la liste deroulante est ce qu'on met "CHAMPS.text "ou quoi???????????????????
0
slt
voila ce que tu a dit"N'hésite pas à poser d'autres questions !"
je croi que tu doit relire la discussion pour voir ce que tu as dit
merci en tout cas je suis désolé pour le derangement
au revoir
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
16 juil. 2008 à 18:22
J'avais pas internet aujourd"hui désolé ;)

j'avais posté ça plus haut:

Tu vas dans les propriété "sur click" du bouton.

Puis dans le VBA tu mets:
Champs = ""

ou si ça marche pas:

Champs.text =""
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
17 juil. 2008 à 09:40
ca n apas marché ans les 2 cas mais c pas grave
concernant le login et le mot de passe tu as une solution???????
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51 > samsan
17 juil. 2008 à 09:56
Ca dépend.

Si tu veux juste protéger ta base par un mot de passe:
- tu vas dans "outils" puis "sécurité" puis "définir un mot de passe".

Si tu veux faire un système avec plusieurs login et mots de passe:
-tu vas dans "outils" puis "sécurité" puis "Assistant sécurité au niveau utilisateur"

Je te rapelle qu'avec l'aide d'Access tu trouvais directement cette info...bref.
0
merci le prb est réglé
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
17 juil. 2008 à 10:27
Ok, met dans ton 1er ost tout en haut "probleme résolu".

Et si tu as un autre problème tu crées un nouveau post.

Bonne continuation. A+
0
o
mais je sais pas comment
0
o
mais je sais pas comment
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
17 juil. 2008 à 10:38
Tu remontes tout en haut de cette page. Et en haut à côté du titre de ce post tu verras:
Statut: o Non résolu o résolu

Puis tu coches "résolu".
0
pour le prb du formulaire reccherche (recherche avancée) on a fait le formulaire avec la liste déroulante mais l'encadrant n' a pas acc"pté
il veux une zone de texte qui permet de saisire le nom et en cliquant sur rechercher (ex on a entré un nom qui commence par b) on doit afficher dans une lzone de liste tous les noms qui commencent par b et chaque nom est un lien quand on y clique les info de cette personne doivent s afficher dans le fomulaire principal c assez complex!!!!!!!!!!!!
c le dernier probléme!
merci bcp
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
17 juil. 2008 à 11:04
Je te donnes juste une piste car j'ai jamais eut à faire ce genre de truc.

En fait dans le formulaire_nom ou tu mets la zone de text "nom", tu mets juste un bouton qui renvoie vers le formulaire_tri_par_lettre.

Ce dernier tu le lie à une reqûete du style
SELECT Nom FROM table WHERE LIKE "[formulaires]![formulaire_nom]![nom]*";

Par contre, je pense que ça ne fonctionne que si tu ne tapes qu'une seule lettre au départ.
0
slt
est ce que tu n'as pas de solution pour qu'on puisse faire le login et le mot de passe par le code vba
pcq on nous a demandé de créer un menu d'admiistration qui permet de choisir l'utilisateur(administrateur ou un autre utilisateur) et le mot de passe bien sur mais seul l'administrateur peut effectuer des modifications sdans la base de données
merci et désolé pour le dérangement
0
ok je vais essayer *merci
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
18 juil. 2008 à 13:03
Normalement tu n'as pas besoin de vba.

"Assistant sécurité au niveau utilisateur" te suffis.

Sinon crées un nouveau post car je ne peux te répondre.
0
samsan > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
22 juil. 2008 à 09:48
bonjour capit est ce que tu es la??
0
oui je te comprend bien mais je veux le faire avec vba afin de permettre le choix de l'utilisateurs et son type(administrateur ou utilisateur simple)ses informations sont stockés dans une table(user)
d accord je vais demander de l aide a quelqu'un d autre mais si tu as trouvé la solution ca serai un grand plaisir pour moi
merci bcp bcp et désolé pour le dérangement
0