Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

saisir un enregistrement avec 1 formulaire utilisant 3 tables

4 réponses
Avatar
métrophil
Bonjour,
Apr=E8s recherche infructueuse sur le groupe je cherche une aide
personalis=E9e pour r=E9soudre un probl=E8me avec Access 2002.

Je souhaite cr=E9er un formulaire de saisie qui ajoute des informations
de contr=F4le de diff=E9rents produits.
J'ai 3 tables : "produit", "type de produit", "contr=F4le",
les informations de contr=F4le sont diff=E9rentes suivant le type de
produit.
En fonction de la r=E9f=E9rence du produit, le formulaire affiche le nom
des contr=F4les =E0 saisir, pour cela j'utilise des zones textes qui ont
pour source la table "type de produit".
J'ai d=E9j=E0 un formulaire qui me permet de visualiser les
enregistrements de la table "contr=F4le", je peux naviguer d'un
enregistrement =E0 l'autre, le nom des contr=F4les ainsi que les valeurs
associ=E9es changent en fonction du produit donc du type de produit.
En revanche, je n'arrive pas =E0 faire un formulaire pour la saisie d'un
nouvel enregistrement.
Je pense que le probl=E8me vient du fait que le formulaire utilise 3
tables en m=EAme temps.
Le bouton "nouvel enregistrement" ne fonctionne pas (message
"Impossible d'atteindre l'enregistrement sp=E9cifi=E9").

Je suis d=E9butant dans l'utilisation d'Access ainsi que dans VB.

Merci d'avance pour toute r=E9ponse

4 réponses

Avatar
Ilan
Bonjour, juste pour info peux-tu indiquer la structure des ces tables ?


Bonjour,
Après recherche infructueuse sur le groupe je cherche une aide
personalisée pour résoudre un problème avec Access 2002.

Je souhaite créer un formulaire de saisie qui ajoute des informations
de contrôle de différents produits.
J'ai 3 tables : "produit", "type de produit", "contrôle",
les informations de contrôle sont différentes suivant le type de
produit.
En fonction de la référence du produit, le formulaire affiche le nom
des contrôles à saisir, pour cela j'utilise des zones textes qui ont
pour source la table "type de produit".
J'ai déjà un formulaire qui me permet de visualiser les
enregistrements de la table "contrôle", je peux naviguer d'un
enregistrement à l'autre, le nom des contrôles ainsi que les valeurs
associées changent en fonction du produit donc du type de produit.
En revanche, je n'arrive pas à faire un formulaire pour la saisie d'un
nouvel enregistrement.
Je pense que le problème vient du fait que le formulaire utilise 3
tables en même temps.
Le bouton "nouvel enregistrement" ne fonctionne pas (message
"Impossible d'atteindre l'enregistrement spécifié").

Je suis débutant dans l'utilisation d'Access ainsi que dans VB.

Merci d'avance pour toute réponse




Avatar
métrophil
Bonjour Ilan,

la réponse étant longue, je te réponds personnellement.

Pour être plus précis, je suis en train de créer une base de
données pour la gestion des instruments de contrôle dans un atelier
d'usinage par enlèvement de matière.

le contenu des 3 tables est le suivant
· Instruments : liste du matériel à gérer et caractéristiques
· Type d'instrument : informations d'étalonnage propres à
chaque type
d'instrument
· Etalonnages : date et résultats d'étalonnage de tous les
instruments

· Marques : liste des fabricants de matériel
· Organisme : liste des organismes réalisant les étalonnages
· Opérateurs : liste des opérateurs réalisant les étalonnages

Les 3 tables secondaires permettent de remplir certains champs des
tables principales à l'aide de listes déroulantes.

pour simplifier disons que la base doit gérer une cinquantaine
d'instruments, chaque instrument doit être "étalonné"
régulièrement (1 fois par an en générale).
la base doit pouvoir réaliser les actions suivantes :

- calculer l'incertitude de mesure d'un instrument en utilisant la
valeur de sa résolution (table instrument), les résultat du dernier
étalonnage (2 champs de la table étalonnage)

- établir une liste de tous les instruments d'un même type avec la
date de validitée et la valeur de l'incertitude de mesure (champs
calculés).

- saisir des nouveaux instruments, type d'instrument et étalonnage
(c'est le point qui pose problème)

voici le contenu des 3 tables principales


Table instrument
Nom du champ Type Description
n° de série texte identification unique de l'instrument
(étiquette ou gravure)
Type texte famille de l'instrument (voir table Type
d'instrument)
Description texte capacité (étendue de mesure)
Résolution réel plus petite variation de la grandeur
mesurée (en mm)
Marque texte nom du fabricant de l'instrument (voir table
Marques)
Coût d'achat monétaire prix coûtant de l'instrument
Propriétaire texte secteur propriétaire (Magasin, Atelier TS, LT, LP)
Photo texte nom du fichier image
Etat texte en service, hors service (utilisable ou non)

Table type instrument
Nom du champ Type Description
type texte famille de l'instrument (Pied à coulisse,
Micromètre ext., ...)
Gamme CIMU texte Référence CIMU (sous traitant étalonnage)
Gamme Lycée texte Référence Lycée (étalonnage interne)
durée de validité (an) entier Durée maxi entre 2 étalonnages
Grandeur 1 texte Description de la grandeur 1 à mesurer (ou à
calculer)
Grandeur 2 texte Description de la grandeur 2 à mesurer
Grandeur 3 texte Description de la grandeur 3 à mesurer
Grandeur 4 texte Description de la grandeur 4 à mesurer
Grandeur 5 texte Description de la grandeur 5 à mesurer
Grandeur 6 texte Description de la grandeur 6 à mesurer

Table Etalonnages
Nom du champ Type Description
n° n°auto Identification de l'étalonnage
Date date date de l'étalonnage ou du PV (Référence CIMU)
Opération case Oui ou Non (pour prendre en compte ou
non la date
de cette opér.)
Identification texte le n°de série de l'instrument
Organisme texte Nom de l'organisme réalisant
l'étalonnage (voir
Organismes)
Réf PV texte Référence du procès-verbal
Coût monétaire Coût de l'étalonnage (0€ au Lycée)
Observations texte Information sur l'état de l'instrument ou
écart avec la
gamme
Incertitude (mm) réel Valeur de l'incertitude d'étalonnage
V1 réel Valeur de la grandeur 1
V2 réel etc... jusqu'à V6

Voilà j'ai fini ! c'est un peu long mais je crois que c'est
nécessaire.

Merci de ton intérêt

Cordialement Philippe

Bonjour, juste pour info peux-tu indiquer la structure des ces tables ?


Bonjour,
Après recherche infructueuse sur le groupe je cherche une aide
personalisée pour résoudre un problème avec Access 2002.

Je souhaite créer un formulaire de saisie qui ajoute des informations
de contrôle de différents produits.
J'ai 3 tables : "produit", "type de produit", "contrôle",
(lire "instruments", "type d'instrument", "Etalonnage")



les informations de contrôle sont différentes suivant le type de
produit.
En fonction de la référence du produit, le formulaire affiche le nom
(du Type d'instrument)



des contrôles à saisir, pour cela j'utilise des zones textes qui ont
(des grandeurs à saisir, en générale 2 à 6 suivant type


d'instrument"
pour source la table "type de produit".
(type d'instrument)



J'ai déjà un formulaire qui me permet de visualiser les
enregistrements de la table "contrôle", je peux naviguer d'un
(Etalonnage)



enregistrement à l'autre, le nom des contrôles ainsi que les valeurs
associées changent en fonction du produit donc du type de produit.
En revanche, je n'arrive pas à faire un formulaire pour la saisie d'un
nouvel enregistrement.
Je pense que le problème vient du fait que le formulaire utilise 3
tables en même temps.
Le bouton "nouvel enregistrement" ne fonctionne pas (message
"Impossible d'atteindre l'enregistrement spécifié").

Je suis débutant dans l'utilisation d'Access ainsi que dans VB.

Merci d'avance pour toute réponse






Avatar
métrophil
Re bonsoir,

après avoir répondu un peu longuement à ta demande de précision,
j'ai regardé les relations entre les tables et je me suis aperçu
qu'il n'y avait plus de relation, ainsi que plus aucune clé primaire.
aprés rétablissement, le formulaire fonctionne à peu près (j'ai des
détails à mettre au point)

merci d'avoir pris la peine de répondre à ma question.

j'ai deux autres questions qui ont peut-être déjà été évoqué es
ailleurs :

1- Pourquoi la base de données "pèse" 40Mo alors que les tables et
les fichiers photos ne représentent que 17Mo. elle ne pesait que 2,6Mo
avant d'utiliser l'état qui affiche la fiche de vie de chaque
instrument (photo + historique des étalonnages) ?

2- Pourquoi le formulaire de saisie d'un étalonnage (ajout
d'enregistrement dans la table Etalonnage) n'accepte pas la saisie d'un
nouvel organisme alors que la zone de liste déroulante n'est pas
limitée à la liste ?
(Source contrôle : Organisme
Contenu : SELECT Organismes.Nom FROM Organismes)
en d'autres termes, comment ajouter des enregistrements dans une autre
table ?

Merci de me guider vers d'autres sujets ou d'autres liens
Avatar
Ilan
Bonjour, pour la question 2 sers-toi de l'évenement NotInTheList pour ajouter
l'enregistrement et mettre à jour le RowSource de la liste déroulante.
Pour la question 1, lis l'aide sur le compactage et la compilation du code
et fais une copie de ta base avant toute manipulation.


Re bonsoir,

après avoir répondu un peu longuement à ta demande de précision,
j'ai regardé les relations entre les tables et je me suis aperçu
qu'il n'y avait plus de relation, ainsi que plus aucune clé primaire.
aprés rétablissement, le formulaire fonctionne à peu près (j'ai des
détails à mettre au point)

merci d'avoir pris la peine de répondre à ma question.

j'ai deux autres questions qui ont peut-être déjà été évoquées
ailleurs :

1- Pourquoi la base de données "pèse" 40Mo alors que les tables et
les fichiers photos ne représentent que 17Mo. elle ne pesait que 2,6Mo
avant d'utiliser l'état qui affiche la fiche de vie de chaque
instrument (photo + historique des étalonnages) ?

2- Pourquoi le formulaire de saisie d'un étalonnage (ajout
d'enregistrement dans la table Etalonnage) n'accepte pas la saisie d'un
nouvel organisme alors que la zone de liste déroulante n'est pas
limitée à la liste ?
(Source contrôle : Organisme
Contenu : SELECT Organismes.Nom FROM Organismes)
en d'autres termes, comment ajouter des enregistrements dans une autre
table ?

Merci de me guider vers d'autres sujets ou d'autres liens