SQL & Access

SQL & Access - Programmation

Marsh Posté le 07-08-2002 à 14:31:19    

je voudrais savoir comment faire pour que les champs renvoyés par une requete SQL s'affichent dans un formulaire
 
je voudrais que le "paramètre" d'une requete SQL soit lié avec un champ de texte de formulaire...
je vais essayer de mieux m'expliquer:
lorsque l'utilisateur rentre une valeur dans le champ d'enregistrement du formulaire et qu'il lance une requete sql, il faudrait que access place automatiquement la valeur de ce champ en "parametre" dans la requete SQL de manière à ce que l'utilisateur ne doive pas rentrer la valeur une fois de plus (une fois pour le champ formulaire et une fois pour la valeur "paramètre" de la requete)...

Reply

Marsh Posté le 07-08-2002 à 14:31:19   

Reply

Marsh Posté le 07-08-2002 à 14:32:22    

1-je voudrais savoir comment faire pour que les champs renvoyés par une requete SQL s'affichent dans un formulaire
 
2-je voudrais que le "paramètre" d'une requete SQL soit lié avec un champ de texte de formulaire...
je vais essayer de mieux m'expliquer:
lorsque l'utilisateur rentre une valeur dans le champ d'enregistrement du formulaire et qu'il lance une requete sql,  
 
il faudrait que access place automatiquement la valeur de ce champ en "parametre" dans la requete SQL de manière à  
 
ce que l'utilisateur ne doive pas rentrer la valeur une fois de plus (une fois pour le champ formulaire et une fois  
 
pour la valeur "paramètre" de la requete)...

Reply

Marsh Posté le 07-08-2002 à 15:33:26    

?

Reply

Marsh Posté le 07-08-2002 à 16:04:34    

Tu veux faire ça en vb ou sur un formulaire classique ?

Reply

Marsh Posté le 07-08-2002 à 17:10:57    

je veux bien apprendre avec les 2 !!!
 
de plus je rajoute deux questions :
 
3-comment construire une requete SQL qui peut permettre de rechercher une approximation de la valeur du parametre saisit
 
4-comment lancer son application access sans le cadre "access"
 

Reply

Marsh Posté le 07-08-2002 à 23:20:26    

.

Reply

Marsh Posté le 08-08-2002 à 11:13:27    

darkfloor a écrit a écrit :

.




 
En fait, on va commencer avec la méthode la plus simple :
 
quand tu fais une query, au lieu de mettre un critère "fixe", tu peux dire à ACCESS d'aller chercher la valeur dans un formulaire.
 
Exemple tu crées un formulaire avec un zone de texte. Tu sauvegarges.
 
Pour ça, tu fais clic droit dans la cellule criteria et tu choisis builder (le truc avec la baguette magique): cela va ouvrir le selecteur d'objet. Ensuite tu choisis forms -> all form -> le form qui contient la valeur à utiliser dans la query et le champ à utiliser (généralement textbox ou combo box) et tu double-cliques sur <value>.
 
Normalement dans ta fenêtre, tu dois avoir qq chose comme Forms![lenomdetonform]![lenomdetonchamp].
 
 Maintenant fais un essai : tu remplis ton champ texte et tu lances ta query.

Reply

Marsh Posté le 08-08-2002 à 19:43:20    

merci beaucoup de ton aide j'essaye et je reviens...

Reply

Marsh Posté le 09-08-2002 à 14:08:39    

désolé en fait je n'y arrive pas, j'ai besoin d'un exemple concret :
 
-voila le mld :
 
auteur(numA,nomA)
livre(numL, titreL, numA#)
 
-la requete :
 
select titreL
from livre
where nomA=[tapez le nom de l'auteur];
 
J'ai un formulaire "livres d'un auteur" avec une zone de texte nomA et un sous formulaire avec une zone de texte titreL, ainsi qu'un bouton de commande qui lance la requete...
 
bon c'est à toi maintenant !!!
merci de ta patience en tout cas...

Reply

Marsh Posté le 09-08-2002 à 15:18:43    

up

Reply

Marsh Posté le 09-08-2002 à 15:18:43   

Reply

Marsh Posté le 09-08-2002 à 16:56:24    

lofteurs

Reply

Marsh Posté le 09-08-2002 à 18:35:08    

up and down

Reply

Marsh Posté le 09-08-2002 à 20:53:41    

Bon, du pas à pas :
 
tu crées un formulaire et tu le sauvegarde sous form1
tu affiches entête et pieds de formulaire (option d'affichage)
dans l'entête tu crées un champ texte (Auteur) et un bouton (command1)
 
Ensuite, dans ta fenetre propriété, tu selection l'objet fomulaire.
Sous l'onglet Données / source, tu copie colle la chaine suivante :
 

Code :
  1. SELECT auteur.NomA, auteur.NumA, livre.NumL, livre.titreL
  2. FROM auteur INNER JOIN livre ON auteur.NumA = livre.NumA
  3. WHERE (((auteur.NomA)=[Formulaires]![form1]![Auteur]));


 
Normalement la liste des champs s'affiche : tu dois avoir NumA, NumL et titreL.
tu fais glisser les deux derniers dans ta section détail.
 
ensuite, tu prends les propriétes de command1. te selection l'évènement sur clic, générateur de code et tu mets
 

Code :
  1. me.requery


 
dans le code.
 
Ca doit marcher.


Message édité par latruffe le 09-08-2002 à 20:54:49
Reply

Marsh Posté le 10-08-2002 à 13:09:27    

Salut latruffe, bon j?ai suivit tes conseils et ça marche bien comme tu m?as expliqué sauf pour le champ texte auteur, voilà ce que j?ai fait :
 
-tu crées un formulaire et tu le sauvegarde sous form1 = basé sur aucune table ni requete
-dans l'entête tu crées un champ texte (Auteur)  avec source de contrôle  "=[auteur]![NomA]"  
 
quand je passe en mode formulaire dans la zone texte il y a marqué "#Nom ?" et je ne peux pas saisir d'enregistrement du coup je ne peux pas tester?
quel est le probleme ?
 
 
 
 

Reply

Marsh Posté le 11-08-2002 à 13:48:38    

dis latruffe, je sais que je suis chiant et visiblement je comprends pas vite mais si tu pouvais me donner un dernier petit coup de pouce...

Reply

Marsh Posté le 12-08-2002 à 11:02:01    

allo?

Reply

Marsh Posté le 12-08-2002 à 15:25:06    

G connut le même pb que toi avec un champ texte qui ne voulait pas afficher les données, je vais voir comment g géré ça.
@+

Reply

Marsh Posté le 13-08-2002 à 02:34:56    

jan san kar  
c cool j'espere que tu m'apporteras la solution...
@+

Reply

Marsh Posté le 13-08-2002 à 10:51:51    

Donc, il y a deux trucs à faire :
1- tu affiche les propriétés de ton formulaire, tu vas dans Données et tu choisit la table ou la requète où sont des données textes
2- tu affiche les propriétés de ta zone de texte tu vas dans données, source contrôle et la tu as un menu déroulant, tu n'as plus qu'à choisir le champ à afficher, ou alors clique droit (générer) et la tu choisit les données directement dans ta requete.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed