VBA Intéger le dernier Id_parent d'une table dans un formulaire

Résolu/Fermé
juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018 - 22 mars 2017 à 06:10
 Utilisateur anonyme - 28 mars 2017 à 21:11
Bonjour à tous,

Je suis débutant sous access et je recherche la façon la plus adéquate de lier mes formulaires afin d'éviter des erreurs lors de la tabulation de mes enquêtes (un acteur fait plusieurs processus qui sont constitués chacun de plusieurs activités).

Je cherche donc à récupérer le dernier Id_acteur (clé primaire) créé grâce a un formulaire dans ma table acteur afin que celui-ci s'inscrive automatiquement comme Id_acteur pour les enregistrements queje vais créé dans mon formulaire processus.

Mon objectif est de compléter tous les processus d'un seul acteur avant de passé au suivant. (de même avec les activités).

J'ai essayer de créer un module VBA en ouverture de formulaire pour résoudre mon problème mais une erreur m’apparaît (voir image jointe).

Je vous joins mon code

___________________________
Option Compare Database

Dim db As Database
Dim rs As Recordset

Private Sub Form_Open()

Set db = CurrentDb
Set rs = db.OpenRecordset.FindLast("table")

Me.Id_actor.Application rs([1 Actores]![Id_actor])

End Sub
__________________________

Sauriez vous pourquoi ca bug? Comment puis-je corriger mon problème? Auriez vous un conseil sur comment solutionner mon problème par un autre moyen que ce module?

Bien cordialement,
Juju

10 réponses

Utilisateur anonyme
22 mars 2017 à 19:36
Bonjour,

je ne comprends pas trop ce que tu veux faire, et l'image jointe n'est pas présente.

J'ai l'impression que des sous-form pourraient répondre à ton souci, mais rien de certain, tant que la problématique n'est pas clairement définie.

Si tu veux, mets ta base sur un lien Smash et copies le lien ici :
https://www.commentcamarche.net/faq/47439-utiliser-smash-pour-vos-envois-de-fichiers

A+
0
yg_be Messages postés 21108 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 février 2023 1 310
22 mars 2017 à 20:49
bonsoir, moi je ferais une recherche pour obtenir Id_actor de l'enregistrement que je viens de créer, en cherchant dans quel enregistrement sont les données que je viens d'insérer.
0
Mais c'est réinventer la roue ! Un sous-form ferait l'affaire, ou alors je n'ai rien pigé à la question...

a+
0
Utilisateur anonyme
22 mars 2017 à 22:45
Si j'ai bien compris (Juju, confirmes stp) :
Un acteur --> x processus.
Un processus --> x activités

Mais peut-on retrouver un même processus (proc1 par exemple) pour x acteurs différents ? De même une même activité (ativité 1 par exemple) pour x proc différents ??

Pour simplifier, imaginons une table (acteur, proc, act)

Est-il possible d'avoir :
(1, 1, 1)
(1, 1, 2)
(1, 1, 3)
(1, 2, 1)
(2, 1, 1)
(2, 3, 4)

?

A+



0
juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018
Modifié par juju57100 le 23/03/2017 à 04:28
Bonsoir à tous ou bon matin,

Merci pour vos réponses et vos questions!!

En faite le sous formulaire ne me permet que des relations père/fils, si j'ai bien compris, alors que j'ai besoin de relation pouvoir rentrer de façon continue une donnée père qui serait un acteur, qui effectue plusieurs procesus (donnée id_fils), chaque processus contenant plusieurs activités (autre formulaire lié _ id_petit fils) qui contiennent elles même plusieurs intrant (autre formulaire lié id_arrière petit fils).

La solution de rechercher le dernier enregistrement réalisé pourrait être intéressant dans ce cas.? Comment je pourrais faire pour l'automatiser? Est-ce bien la bonne solution?

Je vous mets le liens de ma base de donnée. Je suis encore débutant sous Access et je travail en espagnol j'espère que ce ne sera pas un problème, sinon je suis dispo pour toute vos questions.
http://fs.ht/2fd4adad-0f78-11e7-b8d9-06b226fed341

Bien cordialement
Juju
0
Utilisateur anonyme
Modifié le 23 mars 2017 à 21:18
Hello,

quel est le form concerné ?? J'ai téléchargé la base, mais j'ai un peu de mal avec le spanish...

A+
0
juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018 > Utilisateur anonyme
Modifié le 27 mars 2017 à 21:51
Bonjour HDU,

Le Formulaire est "+F3 Materia prima" dans celui-ci il faut que le "Id_actor" soit récupéré du dernier enregistrement de "Id_actor" de la table "actor".

Ensuite le lien du sous formulaire, pere/fils devrait permettre que les enregistrements du sous form récupèrent automatiquement le "Id_proceso_productivo" en cours d'édition.

Est ce que tu serais comment faire?

Merci pour ton aide!
Juju
0
Utilisateur anonyme > juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018
Modifié le 27 mars 2017 à 22:16
tu n'as pas possibilité de mettre cela en French ????

J'ai franchement du mal là.

En + il y a une erreur au chargement du form.

Au pire donnes la traduction de chaque form, et lequel contient l'autre...
0
juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018
27 mars 2017 à 23:35
Bonjour HDU,

Je viens de faire une base de donnée simplifiée pour expliquer ce que je veux faire avec mes formulaires en Français.

Je te joins le lien.
http://fs.ht/dd003984-1333-11e7-b8d9-06b226fed341

Mon objectif étant:
De partir du formulaire F1 acteur le remplir et utiliser le bouton pour créer un nouveau processus productif pour cette acteur.
Lorsque je clique sur le bouton je voudrais que immédiatement le Id_Acteur créé lors de l'enregistrement s'affiche dans l'Id_Acteur du processus productif.
De même une fois créé le processus productif je voudrais qu'en cliquant sur le bouton créer une activité à réaliser le Id_processus productif récemment enregistrer s'affiche dans l'Id_processus productif du formulaire suivant pour tout les enregistrement que je vais réaliser.

Une fois réussi cette étape je voudrais créer une requête pour permettre d'afficher toutes les informations de l'enregistrement récemment créé de processus productif avec une table où apparaisse toutes les activités à réaliser qu'il implique, contenant le calcul du coût total des produits intermédiaires qu'il requiert.

Comment puis-je faire tout ca?
0

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

Posez votre question
Utilisateur anonyme
28 mars 2017 à 18:52
Bonjour,

j'y vois + clair !

Tiens la base, dis moi si cela convient.

Restera la dernière partie, que je n'ai pas trop comprise.

http://fs.ht/a79ce61d-13d6-11e7-b8d9-06b226fed341

Dis moi si ok pour le moment.
0
juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018
28 mars 2017 à 20:10
Bonjour HDU,

Un grand merci pour le coup de main, c'est une solution plutôt pratique que tu m'as donnée. Et le fait de la mettre en liaison avec une case texte evite mon premier bug quand je mettais l'action en ouverture de formulaire. Elle permet de récupérer le Id_acteur du formulaire ouvert "acteur, si j'ai bien compris le module?

Quel serait le code pour récupérer le dernier Id_Acteur enregistré dans la table acteur plutôt que dans le formulaire? ou max Id_Acteur table? En gardant la même configuration de formulaire?

Bien cordialement
Juju
0
Utilisateur anonyme > juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018
Modifié le 28 mars 2017 à 20:23
Comme tu veux faire ne permettra plus de rajouter des enregistrements pour les acteurs précédents, cela ne posera pas de pb ???

Là comme j'ai fait, tu te positionnes sur l'acteur souhaité. Rien n'empêche d'ouvrir le form acteur sur le dernier... Mais cela me semble bizarre : tu ne pourras jamais créer de nouveau "processus" à un acteur si tu en as créé un ensuite. C'est voulu ?

A+
0
juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018
28 mars 2017 à 20:23
Je pense créer un autre formulaire sur la base que tu m'as donné, spéciale pour modifier les infos et créer de nouveau attribut au acteur.

Mais pour l'instant j'ai besoin de créer ma base en remplissant acteur par acteur sans possibilité de me tromper.

C'est pour cela que je recherche ce code. Sais-tu comment faire?

Je te remercie grandement pour ton aide.
Bien cordialement
Juju
0
Utilisateur anonyme
28 mars 2017 à 20:26
Ce que tu dis, c'est que tu ouvres le form acteur uniquement en mode "ajout", c'est cela ? Donc si tu ne cliques pas sur le bouton "nouveau processus", la fiche est "perdue" ???

C'est cela ??
0
Utilisateur anonyme
28 mars 2017 à 20:27
Il suffit alors de mettre le form acteur en mode ajout...

0
Utilisateur anonyme
28 mars 2017 à 20:42
Tiens,

cela convient-il ?
http://fs.ht/2f217916-13e6-11e7-b8d9-06b226fed341

A+
0
Utilisateur anonyme
Modifié le 28 mars 2017 à 21:05
En relisant,

je pense avoir répondu à ton pb.

Mais si *vraiment* tu veux aller chercher le dernier acteur (ta méthode),

voici la base.
http://fs.ht/7e7a43df-13e9-11e7-b8d9-06b226fed341

Regardes le code, tu as les 2 solutions.

A+

J'veux pas gâcher ta fête
Tu vas trouver ça bête
Mais j'étais sur le net
J'ai vu ta mère sur Chatroulette

J'ai appuyé sur next -->
J'ai flashé sur sa tête,
J'ai vu ta mère sur Chatroulette 
0
juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018
28 mars 2017 à 21:09
Bonjour HDU,

Je te remercie grandement pour ton aide, tu as effectivement résolu mon problème et je vais enfin pouvoir créer ma base de données!!

Un grand merci à toi! Plein de bonnes ondes!!
Juju
0
Utilisateur anonyme > juju57100 Messages postés 25 Date d'inscription mardi 14 mars 2017 Statut Membre Dernière intervention 21 août 2018
28 mars 2017 à 21:11
J'ai marqué résolu.

Si tu as besoin, n'hésites pas.

Bon dév !

A+
0