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 08/02/2011, 11h08   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 61
Points : 10
Points : 10
Par défaut [ACCESS 2003-2007] Aide filtre et modification des données

Bonjour, je met en copie le fichier sur lequel je travaille (erf il fait 594ko, je ne peut pas l'update :/)
J'ai une BDD correspondant à un formulaire. Dans mes formulaire j'ai un exemple (exemple fiche espece) mais il ne faut pas en tenir compte. je me suis appuyé dessus pour l'apprentissage.

Il est "tout simple" et ne dois faire que de la saisie
Pas d'ajout de données, que du remplissage.

Mais dans le formulaire j'ai un bloc de recherche.
Ce dernier fonctionne à part au moment d'afficher la donnée en elle même.
Quand je sélectionne le tupple (n° et nom de la plante) avec le clic de la souris, et bien une page blanche s'affiche (plus rien dedans)

Alors que j'aimerais avoir d'afficher les informations sur la plante.


Le 2nd soucis, et je l'ai déjà vu sur le forum, mais en 2008, c'est que lorsque qu'on modifie une information, cela est modifié directement dans la base de données.

Or, j'aimerais que cela soit UPDATE lorsque l'utilisateur clic sur la case de validation.

Je suis toujours aussi novice en ACCESS et encore plus avec les formulaire :/

Merci beaucoup pour votre aide.


PS : Comme je ne peux joindre le fichier ici, je l'ai mis sur le FTP

Le fichier 20110127SAU_1.mdb a été déposé.

Pour qu'un utilisateur télécharge votre fichier, envoyez lui cette adresse :

https://dsifilex.mnhn.fr/get?k=m926BZGcTVAugDHTpyt

Mot de passe pour télécharger le fichier : dev elop pez (attention attacher toutes les lettre, j'ai fait ça car j'ai vu que les bots téléchargés le fichier)

Votre fichier sera automatiquement supprimé du serveur dans 10 jours.
Informations :

* Taille : 12.52 MO
* Disponible jusqu'au : 18/02/2011 11:14:48
dark_mouette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 10h33   #2
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 61
Points : 10
Points : 10
Bonjour, j'ai réussi à résoudre le problème de la recherche.
Le problème était dans la propriété de la zone texte, où je mettais pas la bonne colonne à lier (je ne savais pas à quoi servait ce champ)

Par contre je bute toujours sur la sauvegarde par bouton
Personne n'aurai une idée?
dark_mouette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 10h47   #3
Membre habitué
 
Inscription : juillet 2010
Messages : 117
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2010
Messages : 117
Points : 140
Points : 140
Salutations,

Effectivement, lorsque tu fais des saisies sur un formulaire lié à une table dans access, la validation est imédiate.
Un recours possible est de passer par une table temporaire :
- Tu crées une copie de ta table
- A l'ouverture de ton formulaire tu vides cette copie et l'alimentes avec toutes les données de la table d'origine
- Ton utilisateur fait ses asisies
- Lorsqu'il clic sur ton bouton de validation, tu vides la table d'origine et tu la remplis avec les données de la temporaire.

Comme ça si ton utilisateur ne valide pas il n'y a pas de modification des données de la table d'origine.
C'est une possibilité mais il y en a sans doute d'autres.

Cordialement,
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche.
Manhexter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 10h49   #4
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 ,
il y a un bouton déjà sur Access " dans la rubrique "Opérations sur enreg " puis
"Sauvegarder un enregistrement"
Donc aprés le dernier champs renseigné au lieu de passer à un nouvel enregistrement et donc faire le Up todate le bouton recevra le focus et l'utilisateur aura le temps de vérifier et enregistrer .
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 10/02/2011, 13h22   #5
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 61
Points : 10
Points : 10
Citation:
Envoyé par dok flint Voir le message
Bonjour ,
il y a un bouton déjà sur Access " dans la rubrique "Opérations sur enreg " puis
"Sauvegarder un enregistrement"
Donc aprés le dernier champs renseigné au lieu de passer à un nouvel enregistrement et donc faire le Up todate le bouton recevra le focus et l'utilisateur aura le temps de vérifier et enregistrer .
A+
J'ai déjà ce bouton de prévu, mais même sans cliquer dessus, les champs sont mis à jour.

Je pense pouvoir alléger le programme pour que je puisse le mettre dans le post.
En faite non, même en enlevant des données, la taille reste inchangée.
dark_mouette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 13h53   #6
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 ,
Essaie de compacter la base :
Outils>> Utilitaires base de données.
Puis LA ZIPPER
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 10/02/2011, 15h14   #7
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 61
Points : 10
Points : 10
Merci ça fonctionne
Je l'ai ajouté
Fichiers attachés
Type de fichier : zip 20110127SAU_1.zip (126,3 Ko, 6 affichages)
dark_mouette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 09h01   #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 ,
J'ai placé un message de validation .
Regarde un peu et dis moi.
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 10
Vieux 11/02/2011, 10h59   #9
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 61
Points : 10
Points : 10
Super
Exelent ^^
Merci beaucoup

Mais j'aimerais comprendre.
Tu as mis une procédure sur le formulaire en avant_maj (c'est là justement qu'il demande si on veut enregistrer)
Code :
1
2
3
4
5
6
7
8
9
 
Private Sub Form_BeforeUpdate(Cancel As Integer)
If MsgBox("Vous allez valider les changements .Voulez vous continuer?", _
    vbExclamation + vbYesNo, "Attention") = vbNo Then
Me.Undo
Else
End If
 
End Sub
Celui ci consiste en quoi?
Si jamais il change de tupple, il demandera automatiquement si on enregistre ou non? Rien qu'avec cette procédure?

J'avais déjà fait le bouton clic pour la validation, donc de ce coté là j'étais encore dan le coup.

J'avais aussi mis en place un bouton de sortie, mais j'ai du mal le paramétrer, car il n'y a pas de code VB correspondant. Mais là n'était pas la grande difficulté (ça fonctionnait déjà pour sortir)


Au final, la seule différence serait donc cette procédure Avant Maj qui bloque l'enregistrement automatique, sauf si l'utilisateur valide.

En lisant le code je le décrypte ainsi :
Avant Update (qui se fait donc automatiquement, car il n'y a même pas de code VB pour cela) si le résultat à la question est non, le Me.Undo revient à faire un rollback.

Ensuite il y a le else qui est vide, donc le formulaire fait sa procédure habituelle et automatique (UPDATE auto)

Mais il y a 2 petites choses qui m'intriguent :
- (Cancel As Integer) tu ne l'utilises pas, alors à quoi sert cette variable?
- _vbExclamation + vbYesNo, "Attention"
Je vois la procédure vbYesNo, surement le oui/non, mais le "Attention" je ne le comprend pas, et le _vbExclamation + à quoi consiste t il?
C'est justement le fait de poser la question (mais exclamation c'est le ! et non le ?)

Désolé je ne connais pas beaucoup de procédure VB ^^

Mais justement, c'est en comprenant qu'on apprend.

Merci encore beaucoup.

PS : pourquoi les anciens postent demandant ce genre de solution n'ont jamais abouti à cela, alors que ça a l'air si simple ^^
dark_mouette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 11h10   #10
Membre habitué
 
Inscription : juillet 2010
Messages : 117
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2010
Messages : 117
Points : 140
Points : 140
Hmm,

Personnelement je trouve que le fait de lancer un message à l'utilisateur avant chaque mise à jour est un peu lourd pour lui. Je vois bien l'utilisateur qui a 50 occurrences à saisir et qui va recevoir les 50 messages...A mon avis, il laisse tomber avant d'arriver au bout.

A moins que je ne me trompe complètement dans les causes de déclenchement de l'évènement BeforeUpdate (ce qui est aussi possible xD).
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche.
Manhexter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 11h33   #11
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 61
Points : 10
Points : 10
Non, il ne reçoit pas le message à chaque occurrence.
C'est dès qu'il changera tupple.
Il est donc sur sa page, fait ce qu'il a à faire, et dès qu'il a fini avec toto, et qu'il veut passer sur la fiche tata, ba il va avoir le message lui demandant s'il veut enregistrer ou non.

Ainsi il saisi fiche par fiche, et ainsi sauvegarde les données au petit à petit.
Cela peut éviter les erreurs de saisies.

De plus, ils le voulaient ce bouton validation ^^

Donc parfait :p
dark_mouette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 11h57   #12
Membre habitué
 
Inscription : juillet 2010
Messages : 117
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2010
Messages : 117
Points : 140
Points : 140
Oki, autant pour moi ^^.

Si c'est parfait, pense à cliquer sur résolu en bas de conversation
__________________
"Je suis capable du meilleur comme du pire, mais dans le pire, c'est moi le meilleur" Coluche.
Manhexter est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 12h15   #13
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 ,
ce message va apparaitre à tout moment où les enregistrement du formulaires devront être mis à jour , exp : fermeture-passage en mode création ..etc....
Donc si c'est OK n'oublies pas le TAG [RESOLU] et pourquoi pas un petit vote pour le message.
Bonne continuation et 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 10
Vieux 11/02/2011, 15h01   #14
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 61
Points : 10
Points : 10
Oui pas de problème
Mais pourrais tu éclairer ma lanterne en répondant à mes petites questions s'il te plaie ?

J'ai vu que pour le "(Cancel As Integer)" c'était rentré automatiquement.

Merci encore
dark_mouette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 15h16   #15
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 ,
Voyons cela pas à pas :

- (Cancel As Integer) : la variable est mis par Access :


"Attention" : c'est en fait la legende que tu vois dans la boite du message en haut (c'est pour faire plus sérieux quoi )

VbExclamation our faire le petit triangle sur le message
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 14/02/2011, 15h27   #16
Candidat au titre de Membre du Club
 
Inscription : juin 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 61
Points : 10
Points : 10
Ok
Merci beaucoup
J'espère que tout ceux qui ont galéré avant moi pourront lire ce post, car il répond à la perfection à la demande.

Merci encore
dark_mouette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 16h14   #17
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
Bonne continuation
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h51.


 
 
 
 
Partenaires

Hébergement Web