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 09/11/2011, 19h12   #1
Invité de passage
 
Homme
Chargé de missions
Inscription : novembre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Chargé de missions
Secteur : Associations - ONG

Informations forums :
Inscription : novembre 2011
Messages : 18
Points : 4
Points : 4
Par défaut Formulaires et Sous-formulaires de saisie .

Bonjour,

Et tout d'abord merci pour les précieuses infos que j'ai pu trouver sur ce forum jusqu'ici !

Je me risque tout de même à vous déranger un peu, coincé que je suis sur la conception d'un outil de saisie qui devrait prendre quelques minutes à construire...sauf pour le novice que je suis ! ^^
Novice au point même que, à mon avis, toute ma difficulté réside dans la bonne conception de l'outil.

En bref, je suis dans une situation où une seule table me suffirait amplement.
Problème : les champs en sont toutefois assez nombreux, et la majorité d'entre eux seront redondants sur de très nombreux enregistrements (relevés faunistiques et floristiques).

En clair, je me retrouve actuellement à saisir ça (chaque lettre correspond à un champ, pour l'exemple) :

ABCD A
ABCD B
ABCD C
etc.
(bien sûr, je copie-colle hein, je suis pas marteau à ce point-là ! )

Et je souhaiterais n'avoir à saisir que :

ABCD A
B
C

En gros, que les champs "invariables" sur X enregistrements s'auto-alimentent, et ne varient que lorsque j'y apporte un changement manuel (correspondant à une nouvelle station d'observation).

Après les heures (jours... ) passées à creuser la question, il me semble que le système formulaire / sous-formulaire soit adapté...mais je me trompe peut-être ?

Si je ne me trompe pas, j'ai tenté en suivant 2 voies différentes : 1 table / 2 tables. Dans un cas comme dans l'autre, lorsque j'interviens sur le form ou le subform...je n'ai toujours que le résultat de l'un ou de l'autre : jamais l'addition des 2 après laquelle je cours !

j'ai creusé les histoires de champs fils / père et, bien que je pense pouvoir y entrevoir un bout de solution, je n'arrive pas à utiliser la chose...

J'ai tout de même pu m'en sortir (pour quelques valeurs) avec quelques QRY qui me retournent des valeurs de champs grace dans des combobox (je dois respecter plusieurs référentiels...). Bien que je reste surpris de ne pouvoir "enregistrer dans un champ" qu'une seule des valeurs de champs que me retourne le QRY...sûrement que rien que ça devrait m'aider beaucoup !

Bref, vous aurez compris (je pense ! ) que je commence à nager complet, et que je suis même pas sûr d'avoir la bonne approche pour arriver à mes fins !

C'est pourquoi, en plus de remercier ceux qui auront eu la patience de me suivre jusqu'ici, je serai sacrément reconnaissant à celui ou ceux qui sauront me faire aboutir !
Je suis pas riche, mais il paraît que l'estime n'a pas de prix ?...

Ci-dessous un lien vers mon "bazar", pour les plus curieux (un mdb zippé)

http://dl.free.fr/gUGBK8So3

En tout état de cause, merci pour tout !
Gregorx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 16h17   #2
Invité de passage
 
Homme
Chargé de missions
Inscription : novembre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Chargé de missions
Secteur : Associations - ONG

Informations forums :
Inscription : novembre 2011
Messages : 18
Points : 4
Points : 4
Bonjour,
Je commence à m'en sortir un peu en déclarant des variables.
Un problème reste encore avant de pouvoir en finir :

comment déclarer une variable dans le formulaire que je puisse réutiliser dans le sous-formulaire ?

Avec ceci, je n'aurais normalement plus à vous déranger...

merci.
Gregorx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 16h25   #3
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 222
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 222
Points : 9 936
Points : 9 936
Envoyer un message via Skype™ à Domi2
Citation:
comment déclarer une variable dans le formulaire que je puisse réutiliser dans le sous-formulaire ?
Tu as donc un module de code pour chacun des formulaires dans ton projet, si je comprend bien ?

Si c'est bien ça, il te faut déclarer ta variable comme publique pour qu'elle soit accessible depuis n'importe où dans ton projet.

Tu insère un module standard dans ton application et tu déclares ta variable dans la section déclaration de celui-ci.

Code :
1
2
3
4
Option Compare Database
Option Explicit
 
Public strTaVariable As String
Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 20h18   #4
Invité de passage
 
Homme
Chargé de missions
Inscription : novembre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Chargé de missions
Secteur : Associations - ONG

Informations forums :
Inscription : novembre 2011
Messages : 18
Points : 4
Points : 4
Merci beaucoup de ta réponse Domi2 !

J'ai créé un module (module1) mais n'en avais pas créé avant...

En revanche, j'ai 2 Form_x/y correspondant à mes form et subform, qui apparaissent au même niveau que mon module : c'est dans eux que je bidouille depuis ce matin. Maintenant, est-ce que ça correspond bien au "un module de code pour chacun des formulaires" ?

Si oui, tant mieux, et j'ai plus qu'à continuer;
Si non...???

J'ai déclaré une variable dans module1 pour tester, mais ça n'a pas eu d'effet. Où me suis-je planté ?

Sinon, le dernier bidouillage que j'entrevoie (et qui me serait amplement suffisant ! ^^) consisterait à résoudre le problème suivant :

- j'arrive à appeler des valeurs du formulaire principal, dans les cellules choisies (du sous formulaire);
- j'arrive à enregistrer mes données;

SAUF les valeurs du formulaire principal que j'ai appelées dans le sous-formulaire !

Une commande appropriée pour remédier à ça ?

Merci (encore ! )
Gregorx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 14h48   #5
Invité de passage
 
Homme
Chargé de missions
Inscription : novembre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Chargé de missions
Secteur : Associations - ONG

Informations forums :
Inscription : novembre 2011
Messages : 18
Points : 4
Points : 4
Pardonnez-moi d'insister...

pour que ce soit plus clair, pourquoi avec

=[Forms]![F_Stations]![COMMUNE].[Value]

dans mon sous-formulaire, qui me retourne bien la valeur du [F_Stations] dans le champ approprié du subform,
l'enregistrement n'intègre pas cette valeur dans l'enregistrement créé dans la table du subform (après enregistrement) ?

Une précision peut-être utile : la valeur issue du form principal n'est pas enregistrée. Mais je viens de vérifier à l'instant que même après enregistrement de celle-ci, ça ne résout pas le problème...

Please..HELP !!

Bien le merci.
Gregorx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 19h35   #6
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 584
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 584
Points : 2 143
Points : 2 143
Bonjour,

D'après ce que je comprends tu as mis
"=[Forms]![F_Stations]![COMMUNE].[Value]" en source d'un controle de ton sous formulaire et tu te demandes pourquoi ça n'est pas enregistré avec les données du sous-form :
Rappelle toi que les données sontenregistrées seulement dans les TABLES et donc seuls les controles du sous formaire qui sont liés à une colonne de la table du sous formulaire sont sauvegardés.
Donc il te faut procéder autrement :
. lier le controle du sous-formulaire à la colonne de la table à enregistrer
. valoriser ce controle avec la valeur ad hoc lue dans le form principal

J'espère être suffisamment explicite.
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 17h16   #7
Invité de passage
 
Homme
Chargé de missions
Inscription : novembre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Chargé de missions
Secteur : Associations - ONG

Informations forums :
Inscription : novembre 2011
Messages : 18
Points : 4
Points : 4
Bonjour, et tout d'abord merci pour votre aide.

Effectivement : on ne peut plus explicite !
Du coup, j'en reviens à la solution initiale : plusieurs tables liées par un champ commun ("Oh le fou, il utilise Access de la façon pour laquelle ce programme a été construit !!" ).

Si je puis me permettre une dernière sollicitation :

J'ai une "chtite" difficulté à définir un contrôle dans une macro...

la macro qui vise (très ambitieusement... ^^) à masquer un combo suite à clic sur un bouton fonctionne très bien sur le formulaire "X" qu'elle concerne, ne fonctionne plus du tout lorsque "X" devient sous-formulaire de "Y"...

Il me retourne :

"the control name 'Forms![F_Stations]![F_Données].Form![Combo130] ' is misspelled or refers to a control that doesn't exist."

Je suis limité (dites pas que z'aviez pô vu ! ), mais heureusement y a internet (et vous autres grands sachems, généreux du savoir ! ) : j'ai quand même pensé à changer la "syntaxe" (c'est bien comme ça qu'on dit ?) du contrôle...

=> Forms![Formulaire Y]![SousFormulaire X].Form![Combo130]

(et x reformulations avec/sans crochets, avec ou sans exclamation sur les points, avec ou sans le second "Form", sans les crochets du seul contrôle...bref, après 3 fois cette danse, je n'avance toujours pas.)

Tout en pensant que j'abuse certainement, l'un d'entre vous aurait-il (une nouvelle fois) l'amabilité de me confronter à ma médiocrité svp ?

Avec ceci, je devrais enfin pouvoir parvenir à mes fins...et vous garder une profonde reconnaissance : ne serait-ce que pour m'avoir conduit (enfin !) à mettre les mains (le bout des doigts...) dans le cambouis !



EDIT :

J'ai finalement résolu mon problème sans passer par un bouton (fou ce que peut faire Access !).

Si toutefois il restait une âme charitable pour répondre à la question sur la (bonne !) syntaxe d'appel du contrôle évoqué...
Gregorx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 21h28   #8
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 584
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 584
Points : 2 143
Points : 2 143
Je te sens l'âme d'un poète.

Pour les appels de contrôles, voir l'indispensable tableau de Loufab :
http://loufab.developpez.com/tutorie...bleauappel.pdf

Bonne suite
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne
micniv est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/11/2011, 22h00   #9
Invité de passage
 
Homme
Chargé de missions
Inscription : novembre 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Chargé de missions
Secteur : Associations - ONG

Informations forums :
Inscription : novembre 2011
Messages : 18
Points : 4
Points : 4
Un nouveau GRAND merci micniv !!

ben voilà : comme ça j'y arrive...
Gregorx 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 06h19.


 
 
 
 
Partenaires

Hébergement Web