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 29/03/2011, 02h40   #1
Futur Membre du Club
 
Inscription : novembre 2010
Messages : 101
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 101
Points : 16
Points : 16
Par défaut Champ automatique en formulaire

Bonjour à Tous,

Dans le cadre d'une gestion de ma cave (rangez les tire-bouchons), je dispose d'un logiciel par Access, à partir duquel je peux gérer le rangement par casier de mes bouteilles (en fonction de l'appellation). Je voudrais pouvoir obtenir automatiquement dans un champ 2 le Rangement développé pour une Appellation, en saisissant cette dernière dans un champ 1.

Faisons simple.

* Le méta-formulaire s'appuie sur 7 Formulaires gérant :
Onglet-1 : gestionnaire de données créées dans les onglets 2 à 7
Onglet-2 : les appellations
Onglet-3 : les producteurs
Onglet-4 : les régions
Onglet-5 : les arômes
Onglet-6 : les séries
Onglet-7 : les critiques

Pour cela, chaque Onglet s'appuie sur une Table propre (Onglet2 -> Table Appellations, etc...).

L'Onglet-1 s'appuie sur une Table Gestion, qui reprend pour chaque champ une Requête propre dépendante de la Table où se définit ce champ précis.

Par exemple, dans l'Onglet1-"Gestion" : je veux classer un St-Véran => je vais sur l'Onglet2-"Appellations", je crée l'appellation "St-Véran". Je vais alors la retrouver dans 1-"Gestion" où je peux la sélectionner à partir d'une Liste déroulante.

Le nom d'appellation n'est pas le seul champ de l'Onglet-2. Et c'est aussi ce mode pour les Onglets 3 à 7. Tous ces Onglets s'appuient en général sur des Tables à plusieurs champs (CP numérique à chaque fois).

***Maintenant, le problème***
Quand dans l'Onglet 2, je crée une Appellation (champ 1), je crée aussi un Code pour le rangement de la bouteille (champ 2).
Comment faire pour que : dans l'Onglet 1-champ Appellation, en appelant le Onglet2-Champ1 (Appellation), on obtienne automatiquement au champ Onglet 1-champ Code la donnée créée en Onglet2-Champ2 (Code) ?
brankorri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 08h14   #2
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Bonjour.

Une solution simple me semble être de créer une requête de mise à jour qui attribuera la valeur du champ Code de la table Appellations au champ Code de la table Gestion, cette requête étant lancée sur la propriété Mise à jour (AfterUpdate) du champ Appellation de ton onglet 1.

Cordialement.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 12h56   #3
Futur Membre du Club
 
Inscription : novembre 2010
Messages : 101
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 101
Points : 16
Points : 16
Par défaut 3

Bonjour RobiPMS,

J'avais effectivement pensé à la Requête upDate, mais je ne comprends pas véritablement comment l'organiser (avec les relations ?)... Et il faudrait alors que je crée une commande de Màj, si j'ai bien suivi.

Merci pour l'aide,
Bk
brankorri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h02   #4
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
1. Quelle est ta version d'Access? Pour t'expliquer les manipulations, il est préférable de savoir dans quelle version tu travailles : si le principe est le même, les chemins pour y arriver sont souvent différents si tu es en Access 2003 ou si ta version est 2007 et 2010.

2. Sais-tu créer la requête de MàJ?

3. As-tu besoin d'aide pour la mettre en oeuvre une fois créée?

A +
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h15   #5
Futur Membre du Club
 
Inscription : novembre 2010
Messages : 101
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 101
Points : 16
Points : 16
Par défaut 4

Robi,

J'ai dépose ceci, qui semble fonctionner :
Code sql :
1
2
3
 
UPDATE [Table1].Code SET ConcatCode.Code = [Table1].Titre
WHERE ConcatCode.CPA=[Table1].CPA;

Qu'en penses-tu ?

où Table1 correspond au Gestionnaire (Onglet1), et ConcatCode une Requête faisant la Concaténation des Champs définis en Onglet2 pour la Table2.
La clef primaire est partout CPA.
brankorri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h32   #6
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Si ça fonctionne, tout va bien. Je suppose que tu as mis ce code sur l'événement AfterUpdate de ton champ Appellation (si j'ai bien saisi la structure de ton formulaire).
Bonne dégustation!
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 15h52   #7
Futur Membre du Club
 
Inscription : novembre 2010
Messages : 101
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 101
Points : 16
Points : 16
Par défaut 5

Ah oui : exact !

Je savais que je laissais quelque chose en suspend : maintenant que le Sql de màj est établi, peux-tu m'expliquer cette histoire d'AfterUpD stp ?
Pour l'instant le Code s'affiche bien automatiquement et tout seul comme un grand quand je reviens de l'Onglet 2 (Titre & Code) dans l'Onglet 1 (Gestionnaire)... s'agit-il d'une telle idée ?

Merci !
Bk
brankorri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 18h12   #8
Futur Membre du Club
 
Inscription : novembre 2010
Messages : 101
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 101
Points : 16
Points : 16
C'est la Berezina...

J'ai voulu corriger le nom de la Table1 parce qu'il y avait un signe "&"... et la mise-à-jour n'a plus fonctionné.
Alors j'ai remis l'ancien titre. Et ça n'a pas marché...
Alors j'ai recréé la Requête de mise-à-jour. Et plus rien ne marche

Lorsque je clique sur sur la Requête, MsAccess(2003 fichier 2000) m'affiche :
"Vous allez exécuter une requête Mise à jour qui modifiera les données de votre table" Oui-Non-Aide.
Je clique sur "Oui" et là :
"Fichier 'C:\---Mes documents\CaveVins.mdb' introuvable.
Alors que la table CaveVins appartient à la base-fichier intitulée BaseCave...

Est-ce tout bien normal ? (j'espère qu'il ne s'agit pas d'un virus ?!)
Comment rétablir la Requête ?

Bk
brankorri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 18h18   #9
Futur Membre du Club
 
Inscription : novembre 2010
Messages : 101
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 101
Points : 16
Points : 16
Erratum : le souci est partiellement résolu toujours garder un esprit ouvert, apaisé & reposé, surtout dans la difficulté). Le bon code est ici :

Code :
1
2
UPDATE [Table1], ConcatCode SET ConcatCode.Code = [Table1].Titre
WHERE ConcatCode.CPA=[Table1].CPA;
A présent,mon souci est le suivant cette requête n'est toujours pas automatique...
brankorri 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 00h03.


 
 
 
 
Partenaires

Hébergement Web