Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
821 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [RESOLU] [Access] Création d'un formulaire de consultation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] [Access] Création d'un formulaire de consultation

n°321549
GENIUS999
Posté le 03-03-2003 à 12:59:44  profilanswer
 

Bonjour,  
 
Je debute sur la création des formulaires sous Access et voila ce que je voudrais faire :  
 
Créer un formulaire qui aurait pour fonction de consulter et seulement consulter une table. On choisirait dans un menu deroulant rattacher à un champ le nom de l'element à consulter et une fois celui-ci selectionné, toutes les autres infos relatives a cet éléments s'afficheraient dans les champs correspondant.
 
Pour l'instant, j'ai effectué la mise en page de tous mes champs, mais le probleme c'est que dans mon menu deroulant, je n'ai pas le liste de tous mes élements.
 
pourquoi?? :(  
 
Merci d'avance pour votre aide.   :hello:


Message édité par GENIUS999 le 05-03-2003 à 09:01:55
mood
Publicité
Posté le 03-03-2003 à 12:59:44  profilanswer
 

n°321617
vttman2
Je suis Open ...
Posté le 03-03-2003 à 14:37:46  profilanswer
 

Bon si je comprends tout ...
 
1) Essaye de faire un formulaire (forms1) qui  
contient uniquement une liste modifiable (listmod),
où tu afficheras un champ de ta table à
selectionner
 
2) Ensuite créé avec l'assistant un formulaire (forms2)
affichant tous les champs de ta table
 
3) Dans la requête source du forms2 tu conditionnes
par ta selection effectuée dans forms1 (au lieu
de prendre tous les enr.)
select * from matable where nom = forms2!listmod.value
Niveau syntaxe j'ai pas vérifié ...  :)  
 
 
 
 
 
 
 
 
 

n°321630
GENIUS999
Posté le 03-03-2003 à 14:53:59  profilanswer
 

Euh... pour les deux premieres étapes, je suis ok.
Par contre, la derniere, j'ai du mal a voir et comment je dois renseigner le fait que les infos doivent etre affiché en fonction de l'entrée du premier formulaire.
 
Il faut creer une requete??


Message édité par GENIUS999 le 03-03-2003 à 14:54:18
n°321638
GENIUS999
Posté le 03-03-2003 à 15:05:36  profilanswer
 

Bon, ca y est, j'ai a peut pres trouvé, mais quand je lance le formulaire 2, il me demande la valeur du champ que j'ai renseigné dans le formulaire 1. C'est pas normal!!

n°321650
vttman2
Je suis Open ...
Posté le 03-03-2003 à 15:18:42  profilanswer
 

Non ça veut dire que la syntaxe est pas la bonne
t'a mis quoi niveau Where ?

n°321656
GENIUS999
Posté le 03-03-2003 à 15:27:32  profilanswer
 

En fait, je ne comprends pas comment ca peut fonctionner comme ca.
Ne vaudrait il pas mieu que je fasse un bouton sur le formulaire 1 qui ouvre le formulaire 2?

n°321657
GENIUS999
Posté le 03-03-2003 à 15:28:29  profilanswer
 

vttman2 a écrit :

Non ça veut dire que la syntaxe est pas la bonne
t'a mis quoi niveau Where ?


 
 
C'est quoi le Where??

n°321664
vttman2
Je suis Open ...
Posté le 03-03-2003 à 15:34:20  profilanswer
 

Au niveau click de ta liste (malist) de choix de
ton formulaire (form1)
tu ouvres (docmd.openform "form2" )
le 2 ème formulaire (form2)dont la  
requête source est  
SELECT * FROM matable WHERE
monchamp=[forms]![form1]![malist].value;  
 
Ok ?

n°321676
GENIUS999
Posté le 03-03-2003 à 15:57:15  profilanswer
 

A non, moi, j'avais tapé :  
Select Machines.* from Machines Order by [Machines].[Nom_Machines]

n°321680
GENIUS999
Posté le 03-03-2003 à 16:01:17  profilanswer
 

Au fait, y a pas moyen de faire ca avec un assistant??
Tout de meme au 21eme siecle!! ;)

mood
Publicité
Posté le 03-03-2003 à 16:01:17  profilanswer
 

n°321688
GENIUS999
Posté le 03-03-2003 à 16:09:59  profilanswer
 

C'est vraiment pas pour t'embeter et je te remercie d'aileurs du temps que tu passe a m'aider, mais je ne comprends pas du tout ce que je dois faire...  :(  
 
Enfin, si, ne dramatisons pas non plus.
C'est juste le :
"Au niveau click de ta liste (malist) de choix de  
ton formulaire (form1)  
tu ouvres (docmd.openform "form2" )
"
 
que j'ai pas compris  :sweat:
 
 
Bon, allez, je reprends tout de zero.


Message édité par GENIUS999 le 03-03-2003 à 16:11:20
n°321722
GENIUS999
Posté le 03-03-2003 à 16:40:25  profilanswer
 

vttman2 a écrit :

docmd.openform "form2"


 
Quel est le role de cette ligne??

n°321727
vttman2
Je suis Open ...
Posté le 03-03-2003 à 16:42:07  profilanswer
 

Ok on reprend
ta table :
nom   prenom taille
Dup   Jean   1,78
Glag  gil    1,40
Gro   hervé  1,59
 
 
Dans ton formulaire form1  
tu as une liste : malist
qui contient (on verra plus tard
pour un identifiant unique car
le nom ne l'est sans doute pas ...)
Donc qui contient ...
 
Dup
Glag
Gro
 
Dans l'évenement Click  de malist
(Procédure évenementielle)
Tu codes Docmd.open "Form2"
 
Dans ton formulaire Form2 niveau requête
source => tu as (si tu as pris l'assistant) :
le nom de ta table : matable
 
Tu remplaces matable par  
select * from matable where nom = forms!form1!malist.value
 
Essaye déjà ça, fais gaffe à la syntaxe ...
 
Niveau assistant, ya peut-être ! mais
moi pas connaitre ... remarque niveau forum
on va peut-être attirer une bête qui va nous
donner une façon de procéder plus classe !  ;)  
 

n°321728
vttman2
Je suis Open ...
Posté le 03-03-2003 à 16:42:57  profilanswer
 

genius999 a écrit :


 
Quel est le role de cette ligne??


 
ça ouvre le formulaire form2

n°321756
vttman2
Je suis Open ...
Posté le 03-03-2003 à 16:56:43  profilanswer
 

A 2 mains !
 :hello:

n°321947
GENIUS999
Posté le 03-03-2003 à 17:31:26  profilanswer
 

Ok, ca ca marche!!!
Merci pour ton aide!!!
A demain pour la suite...  :D

n°322272
GENIUS999
Posté le 04-03-2003 à 08:56:24  profilanswer
 

Salut.
 
En fait, hier quand j'ai dis que ca marchais, c'etait vrai dans le cas ou je reprennais exactement a la lettre se que tu m'avais dis de faire.
Puis ensuite, j'ai créé une nouvelle base avec les parametres qui correspondent a mon application, mais toujours en suivent le modele que tu m'as donné.
Et là!! et bien ca marche pas.  
=> Quand je choisis mon enregistrement dans le menu déroulant, l'autre formulaire s'ouvre bien mais il n'afficha pas l'enregistrement correspondant, il affich rien du tout. Les champs sont vides.
J'ai pourtant bien rentré la bonne source, enfin je pense :
 
SELECT * FROM Tmachines WHERE nommachine=[forms]![Fmenu]![modifiable0].value;  
 
Je comprends pas  :cry:  ca marchais pourtant quand j'ai fait l'exemple et là non!!! :fou:

n°322286
vttman2
Je suis Open ...
Posté le 04-03-2003 à 09:14:39  profilanswer
 

Salut
Tu ouvres ton 1er formulaire, tu choisis
une valeur dans la liste et tu laisses le formulaire ouvert
puis tu créé une requête partie requêtes
dont le contenu est  
SELECT * FROM Tmachines WHERE nommachine=[forms]![Fmenu]![modifiable0].value;  
A priori ça devrait te renvoyer 1 ligne  
sinon
tu remplaces [forms]![Fmenu]![modifiable0].value
par la valeur choisie dans ta liste  
et tu retestes ta requête ...
 
tu peux aussi taper en requête
SELECT [forms]![Fmenu]![modifiable0].value FROM Tmachines WHERE nommachine=[forms]![Fmenu]![modifiable0].value;  
pour vois ce que tu as dans ce champ ...
 

n°322342
GENIUS999
Posté le 04-03-2003 à 10:27:27  profilanswer
 

Le formulaire reste bien ouvert!!!
Je vais tester les autres solutions que tu me propose.
 
 
EDIT:Rien à faire!!!! J'ai tout essayé, se que je ne comprends pas c'est que la premiere base que j'ai créé fonctionne parfaitement!!  
Je me demande quels sont les critere qui sont differnets et qui font que ca ne fonctionne pas.


Message édité par GENIUS999 le 04-03-2003 à 10:36:33
n°322358
GENIUS999
Posté le 04-03-2003 à 10:39:07  profilanswer
 

Quand je lance mon formualaire directement sans passé par le formulaire de recherche, il me demande la valeur de forms]![Fmenu]![modifiable0].value, je lui donne et ca ne marche pas non plus... :??:

n°322371
vttman2
Je suis Open ...
Posté le 04-03-2003 à 10:51:59  profilanswer
 

1) essaye de remplacer
 
SELECT * FROM Tmachines WHERE nommachine=[forms]![Fmenu]![modifiable0].value;  
 
par
SELECT * FROM Tmachines WHERE nommachine= "'" &[forms]![Fmenu]![modifiable0].value & "'";  
 
2) C pas un prob de minuscule, majuscule ?
 
 :??:  

n°322430
GENIUS999
Posté le 04-03-2003 à 12:06:51  profilanswer
 

J'ai reussi mais, j'ai triché.
Je t'explique ma methode des que j'ai plus de temps.

n°322496
GENIUS999
Posté le 04-03-2003 à 13:30:32  profilanswer
 

En faite, j'ai créé un bouton qui a comme evenement :
 
Private Sub Commande2_Click()
On Error GoTo Err_Commande2_Click
 
    Dim stDocName As String
    Dim stLinkCriteria As String
 
    stDocName = "Fmachines"
     
    stLinkCriteria = "[idmachine]=" & Me![Modifiable0]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
 
Exit_Commande2_Click:
    Exit Sub
 
Err_Commande2_Click:
    MsgBox Err.Description
    Resume Exit_Commande2_Click
     
End Sub
 
 
Je te rassure, j'ai créé le bouton avec l'assistant.
Ensuite, si je veux me passé du bouton, il suffit de le supprimer et de copier le script dans l'evenement de la liste modifiable.
 
Dans le formulaire d'affichage, la source est simplement :  
 
SELECT Tmachines.*, * FROM Tmachines;  
 
Voila tout!!
 
 
Je te remercie vraiment, encore une fois, du temps que tu as passé a me repondre et de tes reponses qui m'ont fait un peu plus découvrir access.
 
Merci a toi vttman2  :jap:  

n°322515
vttman2
Je suis Open ...
Posté le 04-03-2003 à 13:53:39  profilanswer
 

Ah ouhais mais ça c beaucoup plus
propre que ce que je t'ai montré ...
 
C même ça qu'il faut faire  :jap:  
 
 

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [RESOLU] [Access] Création d'un formulaire de consultation

 

Sujets relatifs
retrouver tous les nom des champs d'un formulaireProbleme de validation de formulaire... page2
[VBA-Access] Modifier le contenu d'un champ sans messagelire un fichier en commençant par la fin [résolu]
[PHP] récupérer valeurs multiples d'un checkbox dans un formulaireAide pour la création d'un script[Règlé]
MySQL: comment faire pour éviter des lignes en doublons [RESOLU]PostgreSQLProblème de démarrage [ RESOLU]
[c++] obtenir le nom d utilisateur du pc [RESOLU][Borland C++ Builder 6] Déclarer BD Access, sans passer par l'ODBC Win
Plus de sujets relatifs à : [RESOLU] [Access] Création d'un formulaire de consultation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR