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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  access. mise à jour dans un formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

access. mise à jour dans un formulaire

n°982109
derrichter
pitié pour un pauvre nb ^_^
Posté le 15-02-2005 à 12:55:41  profilanswer
 

J'ai fais une base de données gérant des ordinateurs pour une entreprise. BDD sous access avec impression des état et une présentation dans un formulaire.  
lorsque je choisis une salle (à laquelle appartient l'ordinateur) je veux que la liste de choix des étages et celle des batiments se remplisse toute seule. J'ai donc fais une table contenant toute les informations (disons que je ne suis pas regardant sur le nombre de redondance  )  
Je n'arrive pas à trouver la requete SQL qui permettrait de remplir ces champs automatiquement (quand je choisis la salle).  
 
Et est il possible de faire (en plus) que lorsque je choisis un étage, on ne m'autorise que les salle appartenant à cet étage (tout batiment confondu). Je sais que cela est possible mais je suis de nouveau coincé par le fait que quand je choisis l'étage, la liste de choix des salles ne se met pas automatiquement à jour.  
 
merci d'avance pour votre aide

mood
Publicité
Posté le 15-02-2005 à 12:55:41  profilanswer
 

n°982144
FlorentG
Unité de Masse
Posté le 15-02-2005 à 13:44:57  profilanswer
 

Pour qu'elle se mette à jour, il faut la mettre à jour manuellement. Donc dans l'événement AfterUpdate de ta première liste, tu appelle la méthode requery() sur ta deuxième liste.

n°982682
moi23372
Posté le 15-02-2005 à 19:54:08  profilanswer
 

exactement...
 
requery et dans certain cas refresh...

n°983145
derrichter
pitié pour un pauvre nb ^_^
Posté le 16-02-2005 à 09:15:33  profilanswer
 

si j'ai bien compris, dans les propriétés de la zone de liste, j'appelle la méthode requery(). Et ce dans le champs "sur changement". C'est à dire que la fonction sera invoquée après que j'ai choisi un élément dans la liste de choix. C'est bien ça?
requery() relance la requete que l'on veut je crois mais il faut que je fasse une macro derriere? car il me dit que la macro "requery" n'existe pas.

n°983156
FlorentG
Unité de Masse
Posté le 16-02-2005 à 09:31:21  profilanswer
 

Oula, laisse tomber les vieilles macros d'il y a 10 ans
 
C'est du VBA ;)
 
Donc dans l'évènement sur changemet, tu met une procédure évenementielle, dans laquelle tu appelle le requery sur l'autre liste. Donc, si l'autre liste s'appelle par exemple CboChoixEtage et la première CboChoixSalle, ça donnera ça

Code :
  1. Public Sub CboChoixSalle_AfterUpdate()
  2.   Me!CboChoixEtage.Requery()
  3. End Sub


Message édité par FlorentG le 16-02-2005 à 09:31:32
n°983660
derrichter
pitié pour un pauvre nb ^_^
Posté le 16-02-2005 à 15:43:26  profilanswer
 

le "Me!CboChoixEtage.Requery()" consiste à appeler la requete attribuée à l'autre liste. Ca c'est ok.
Mais (désolé d'être vraiment stupide), ma requete sélectionnant des éléments de "CboChoixEtage" doit fonctionner en fonction du choix de la liste "CboChoixSalle". (le B.A.BA d'une requéte SQL en fait).
voici la requete:  

Code :
  1. SELECT [matable].[N°auto], [matable].[N°salle]
  2. FROM matable
  3. WHERE [matable].[N°salle]=XXXXXXX;


XXXXXX est la valeur sélectionnée dans la première liste de choix.
Quelle est la syntaxe à utiliser? le nom de la 1ere liste de choix du formulaire?
Cest surement tout bete mais je vois pas, ou alors je me plante complétement...

n°983764
FlorentG
Unité de Masse
Posté le 16-02-2005 à 17:11:07  profilanswer
 

Dans la requête, à la place des XXXXX tu peux mettre  

Forms![NomDeTonFormulaire]![CboChoixSalle]

n°983910
derrichter
pitié pour un pauvre nb ^_^
Posté le 16-02-2005 à 19:29:53  profilanswer
 

Je te remercie d'abord pour ton aide très précieuse.
 
Ca fonctionne presque, bon, il y a le presque qui m'ennuie un peu, quand je choisis mon N° de salle, il me met une erreur de syntaxe dans VBA pour "Me![N°etage].Requery()". Je dois me tromper de nom pour la liste, j'ai essayer de mettre "modifiable135" qui est le nom de l'élément liste mais ça ne change rien. Mais sinon ça à l'air de marcher, il ne me laisse choisir que l'étage correspondant au N° de la salle.
 
A quoi correspond le "Me"?

n°984334
FlorentG
Unité de Masse
Posté le 17-02-2005 à 00:05:33  profilanswer
 

Je pense que le caractère '°' dans un nom de champs ne doit pas lui plaire, non ?

n°984335
FlorentG
Unité de Masse
Posté le 17-02-2005 à 00:06:10  profilanswer
 

Le Me, c'est le Form en cours. J'aime bien mettre Me partout, même si c'est facultatif. Au moins on sait d'où sort la variable à laquelle on fait référence :)

mood
Publicité
Posté le 17-02-2005 à 00:06:10  profilanswer
 

n°1113630
ndmax
Posté le 09-06-2005 à 10:21:41  profilanswer
 

Slt !
 
J'avais le même soucis et j'ai pu m'en sortir grâce à ces explications!
Par contre, je souhaite mettre le résultat dans une zone de texte et non
pas dans uns liste!!! Ca fonctionne bien dans une liste, mais impossible
de faire la même chose dans une zone de texte!!!!!
 
Ca doit être une connerie, ou alors un autre objet à utiliser, mais je ne vois pas..

n°1113685
ndmax
Posté le 09-06-2005 à 10:55:18  profilanswer
 

Bon, c'était vraiment pas évident à trouver !!!
http://access.developpez.com/faq/?page=TAZdt#RenvVal


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  access. mise à jour dans un formulaire

 

Sujets relatifs
Problème de mise en forme. forum en phpbbCommande/Lgne de commande sous Access
Aide urgente query accessApostrophes dans une requete access exoprtee sous excel
listes dynamiques + formulaire + mysqlpb formulaire frontpage 2003
Impossible de se connecter à une base Access ...Pool et access
[html] envoi / recuperation de données de formulaireExcel : problème de sauvegarde de formulaire
Plus de sujets relatifs à : access. mise à jour dans un formulaire


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