Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/02/2011, 17h01   #1
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Par défaut Mise à jour contrôle dans formulaire

Bonjour à tous et à toutes,

Sous Access 2003 j'ai une base pour gérer les adhérents d'une
association.

J'ai un formulaire pour visualiser les données des adhérents (basé sur
la table adhérents et une requête calculant les cotisations dues).

Code sql :
1
2
3
4
SELECT [T Adhérents].*, [R Montant dû].Montant_dû
FROM [T Adhérents] INNER JOIN [R Montant dû] ON [T Adhérents].N
°Adherent = [R Montant dû].N°Adherent
ORDER BY [T Adhérents].Nom;
Le montant du correspond aux 5 dernières cotisations.

Lorsque je rentre les données d'un nouvel adhérent, le contôle
"Montantdu" n'affiche rien, il faut que je ferme le formulaire
(changer d'enregistrement ne suffit pas) et que je le réouvre sur
l'enregistrement concerné pour que ce contrôle affiche le montant du
(en l'occurrence 0 pour un nouvel adhérent).

Pour info, je n'ai aucun problème pour les enregistrements existants.

Comment faire pour que s'affiche le montant du ?

Merci de votre aide.

A+

C15
Castel15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 18h46   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

Sur l'événement Sur activation fais un recalcul.

Sinon sur l'événement Si Modification.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 21h23   #3
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Par défaut Mise à jour contrôle dans formulaire

Bonsoir,

Désolé mais cela ne marche pas sur l'un ou l'autre des événements.

Merci de ton aide

A+

C15
Castel15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 22h51   #4
Membre du Club
 
Emmanuel
Inscription : novembre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Emmanuel

Informations forums :
Inscription : novembre 2010
Messages : 49
Points : 66
Points : 66
Bonsoir.

As-tu vérifié si ta requête affiche ton résultat souhaité et surtout à partir de quand elle l'affiche ?

Si je crois comprendre la conception de ton form, tu enregistres un nouvel adhérent (ses coordonnées, ....) et tu ne saisi rien dans ton champ Montant dû puisque c'est ta requête qui s'en charge et affiche par défault "0". C'est bien ça ?

Si c'est le cas, à la fin de ta saisie il faut mettre à jour ta requête car si j'ai bien compris jusque là, la seule procédure qui ordonne à Access cette MAJ c'est l'ouverture de ton formulaire. Ainsi en fermant puis en ouvrant ton form, Access effectue la MAJ de toutes les requêtes.

Essaie :

Cdlt
Dixies est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 08h42   #5
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
Bonjour ,
Tu peux essayer aussi de mettre sur l'événement sortie du dernier champs saisi
un Me.requery .
A+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 09h19   #6
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Bonjour,

Je ne sais pas trop comment vérifier quand la requête se déclenche.

Tu as tout à fait compris le fonctionnement de mon formulaire.

Pour être plus précis, les contrôles sont bloqués pour éviter une modif intempestive.

Lorsque je créé une nouvelle fiche, je les débloque.
Après ma saisie je valide par un bouton où j'ai mis le code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub Sauvegarde_Click()
 
Dim stDocName As String
 
On Error GoTo Err_Sauvegarde_Click
 
On Error Resume Next
 
 
    DoCmd.RunCommand acCmdSaveRecord
    Me.DateMiseAJour = Date
    Me.Refresh
    DoCmd.Requery
 
    Dim Ctl As Control
    For Each Ctl In Me.Détail.Controls
    If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox) Or (Ctl.ControlType = acCheckBox) Then
    Ctl.Locked = True
    End If
    Next Ctl
 
 
Exit_Sauvegarde_Click:
    Exit Sub
 
Err_Sauvegarde_Click:
    MsgBox Err.Description
    Resume Exit_Sauvegarde_Click
 
End Sub
Le code que j'y ai rajouté sur ton conseil me fait revenir sur le 1er enregistrement de ma base.
Si je consulte le dernier enregistrement saisi, le montant du est effectivement à jour sans avoir du fermer et réouvrir le formulaire.

Ce que je voudrais c'est rester sur le dernier enregistrement saisi.

Peut-être n'ai je pas mis le docmd.requery sur le bon événement.

Merci de ton aide.

A+

C15

PS : Comment mettre le code dans une fenêtre dans les posts ?
Castel15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h10   #7
Membre du Club
 
Emmanuel
Inscription : novembre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Emmanuel

Informations forums :
Inscription : novembre 2010
Messages : 49
Points : 66
Points : 66
Bonjour
C'est bien on avance !

Dabord pour mettre ton code dans une fenêtre va ici :
http://club.developpez.com/aidenouve...es/Balises.gif

Ensuite pour le retour du focus sur ton premier enregistrement, va dans la Faq Access, je suis sûr d'avoir vu passer un post à ce sujet.

Si je remet la main dessus, je te fais signe.

Cdlt
Dixies est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h20   #8
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
Bonjour ,
Est ce que tu a essayé le Me.requey ?
Pour placer du code il y le bouton # juste au dessus du texte du massage qui déclenche deux balises tu n'a qu'a mettre ton code entre les deux.
A+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 13h53   #9
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Bonjour,

Je confirme bien, le
me fait quitter l'enregistrement actuel pour revenir au 1er de la base.

A+

C15
Castel15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 16h49   #10
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

C'est le fonctionnement normal du requery.

Il te faut repérer l'id et t'y repositionner via un findfirst.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2011, 15h04   #11
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Bonjour,

Là, cela commence à être chaud, si tu peux m'en dire plus, je suis preneur.

Merci de ton aide

A+

C15
Castel15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h28.


 
 
 
 
Partenaires

Hébergement Web