Access 2007 : Sous-formulaire de saisie

Fermé
Moi - 25 mai 2010 à 15:03
 rrymouna - 27 mars 2014 à 13:39
Bonjour,

J'ai un soucis access 2007 depuis 2 semaines et j'ai beau parcourir tous les forums possibles, aucun topic n'est similaire à mon cas.

Je suis en stage et travaille sur une base de données afin de gérer les periodes de formation des employées.

Dans ma base de données j'ai trois principales tables:
la table PERSONNEL (ID matricule, Nom, prénom, numéro...)
la table FORMATION (ID N°formation, Nom, délai)
la table RECYCLAGE (ID N°recyclage, date, formation#, matricule#)

C'est donc la table recyclage qui fait la jonction entre les deux autres tables.

J'ai trois principaux formulaires:
F1: un pour acceder au fichier personnel (nom, prenom, mail...) qui marche très bien.
F2: Un deuxième avec sous-formulaire pour accèder aux formations par employé
F3: Un troixième avec sous-formulaire pour accèder aux employés par formation

F2 est basé sur les trois tables et présente par Employé toutes les formations et les dates correspondantes.
Seulement il m'est impossible d'ajouter une nouvelle formation avec une nouvelle date dans le sous-formulaire présenté sous forme de feuille de donnée.
l'erreur "le champ ne peut pas être mis à jour" apparait.

F3 rencontre la même erreur quand j'essaie d'entrer un nouveau matricule dans le sous-formulaire. alors qu'il est basé sur une requête et la table RECYCLAGE.

J'ai essayé de faire une requête pour chaque formulaire mais cela ne marche pas, j'ai essayé d'enlever toute requête et de refaire les formulaires mais à chaque fois il m'est impossible d'ajouter un nouvel enregistrement.

ajout/modif/suprr autorisés et vérouillage sur non. Les relations et intégrités référentielles sont toutes bien crées.

Si quelqu'un pouvait m'aider. Merci beaucoup.
A voir également:

30 réponses

castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
24 mars 2014 à 16:25
https://www.cjoint.com/?DCyqxgPUPjL

Dans ce lien un exemple reprenant quelques uns de tes champs.
Ce qui ne pouvait pas fonctionner, tu n'avais pas fait de relation entre le tables
0
Merci de me répondre

Siiii j'ai bien fait les relations entre les tables et j'ai 7010 enregistrements qui sont liés à 7010 autre dans une autre table et qui sont saisie par l'intermédiaire de formulaires/sous formulaire mais ce qui me gène c'est l'instabilité de ce sous formulaire parfois il me donne la main pour saisir et parfois non sauf si j'entre et remodifie les propriétés de saisie en mode création des données de tout le sous formulaire.. parce que ça seront tous à "non" , je veux savoir ce qui le rend inactif malgré que je résous le problème !!!

Réfléchit un peu avec moi SVP :((
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
24 mars 2014 à 18:36
bonjour
Le principe que je t'ai fait parvenir sur le formulaire te convient-il?
Peux tu mettre un exemplaire de ta base sur le site sans les enregistrements si ils sont confidentiels. Comme cela ,le forum comprend mieux ton probleme
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
24 mars 2014 à 18:48
Ta base a été faite sous quels Access? Aujourd'hui tu travailles avec 2007?.
As tu du code VBA dans ta base en programmation?
Les 2 VBA sont Differents.
0
Bonjour,
oui ma base est sous access 7.
Une restriction de ma base veuillez voir ce lien: http://cjoint.com/?3Czkga3sklb

Merci de prendre suite.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
25 mars 2014 à 10:59
bonjour
pour moi une relation est mauvaise.
Tu ne peux pas mettre une relation un a plusieurs entre 2 clés primaires
Table type et effort sud relation c_type.
Il y a une contradiction.
Si tu as un enregistrement dans la table effort sud avec la clé primaire de la table type, vu la relation c'est normal que tu ne puisses faire d'autres enregistrement dans la table effort sud: Il y a deja un enregistrement qui provient de la table type.
Pour moi il faut ajouter un champ dans la table efford sud pour realiser la relation correct et modifier le nom de la clé primaire de la table effort Sud
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re

Non, c'est pas ça le problème mais apparemment tellement j'ai fait des restrictions de ma base à tel point ça ne fonctionne pas bien!!

A chaque date pour un port donné plusieurs type peuvent exister et à chaque type plusieurs espèces avec leur quantités..

Mon problème et au niveau du sous formulaire des espèces, parfois en fermant la base et rouvrir pour ajouter des espèces le système ne me donne pas la main pour saisir je saisi la première partie pour la date, port, type.. et je ne pourrais continuer la saisie que si je modifie les propriétés du sous formulaire (Ajout, modifier, supprimer) à "oui"?
Ma question est qu'est ce qui fait changer les propriétés "oui" à "non" pour ces caractéristiques??

Merci
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
25 mars 2014 à 14:49
Bonjour
J'ai cherché a savoir d'ou pouvez provenir le probleme,pas trouvé.
Alors j'ai modifié les relation et recréé un formulaire et sous formulaire.
Les nouveaux enregistrement fonctionnent.
j'en ai rajouté 2 ou trois.
Maintenant a toi de voir.
C'est ma solution https://www.cjoint.com/?DCzoRoPIiDu
0
Merci beaucoup!

Et vraiment je m'excuse, mais en créant un compteur comme lien entre le formulaire et le sous formulaire ça peut me créer des duplicata pour la même date d'un même port et du même type, c.a.d je peux avoir l'enregistrement 6 et 7 par exemple pour la date du 31/05/2014 du port "kkk" et de type "6" alors que les espèces sont différérents!! hors ça ne peut pas y être.

Merci comme même mais ça ne peut pas me répondre.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
25 mars 2014 à 17:21
Je ne vois pas la difference entre les deux bases.
Avec un compteur
Tu peux avoir le N°1 pour un port N°2 Pour un autre)
Si tu veux tu peux mettre un nom de port en clé primaire mais c'est un peu long comme identifiant.
Un champ date comme identifiant, pour moi ce n'est pas la bonne solution.
Tu peux avoir 2 port a la meme Date. Alors comment fais tu?
Si je comprends le principe de ta base, c'est pour faire le recensement des quantité pechées.
De plus, un bilan ne fait pas dans un table mais le calcul a travers une ou des requetes puis un etat. pour imprimer ou visualiser les resultats.
Sinon explique
0
Bonjour:)


Je m'explique alors encore plus, j'ai des bilans à saisir mensuellement pour chaque port (40 ou + ports existent) et pour chaque type (parfois 6 à 7 type/ port) toutes les espèces avec leurs qté et valeurs. Alors la date, le code du port et le code du type doivent être clé et champs commun entre les 2 tables et comme ça en saisissant ces 3 champs dans la première partie l'enregistrement seront dans la première table (effort) et en complétant les espèces, qté et valeurs du sous formulaire ils enregistrent dans la 2ième table (Bilan_sud) ça fonctionne à merveille et j'ai même des états de sorties et des tableaux croisés dynamiques. Sauf que le problème du sous formulaire qui sera parfois bloqué et je ne peux pas saisir.

Voilà!
B.journée
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
26 mars 2014 à 21:48
Bonjour
D'accord pour les 3 clés primaires, mais il y a une relation qui est mauvaise.
Tu ne peux pas faire une relation un a plusieurs avec une clé secondaire comme cle primaire.
C'est le cas pour une de tes relations
0
Bonjour :(

j'ai pas d'autre solution!!!

Merci comme même !!
0