Bon voilà... Cette fois j'ai bien analysé mon problème...

J'ai un formulaire : "Fiche_Activite" qui doit me permettre d'ajouter une nouvelle activité dans la table "Activite"

Dans cette table "Activite", Il y a le Numéro d'activité (Type Numéro Auto), le Libellé de l'activité (type texte) et un Numéro de métier (type numérique).
Ce numéro de métier est une clé étrangère venant de la table "Métier"

Sur le formulaire j'ai une liste déroulante permettant de choisir un métier :

Requête : SELECT Metier.LibMetier, Metier.NumMetier FROM Metier;

Puis une zone de texte permettant d'entrer le nom de la nouvelle activité.

J'ai rajouté un bouton de commande : "Enregistrer" pour insérer le nouvel enregistrement dans la table "Activite"

Voilà mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Commande19_Click()
'Declaration des variables
Dim bd As Database
Dim rs As Recordset
 
'Sélection de la BDD
Set bd = CurrentDb
Set rs = bd.OpenRecordset("Activite", DB_OPEN_DYNASET)
 
'Ajout de l'enregistrement
rs.AddNew
rs![NumActivite] = Me.NumActivite
rs![LibActiv] = Me.LibActiv
rs.Update
rs.MoveLast
End Sub

Erreur d'execution '3201' : Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table "Metier"


En cliquant sur "Debogage", la ligne rs.Update est surlignée.

Je sais que mon code n'est pas complet mais je ne connais pas la solution sachant que je n'ai jamais travaillé sur VBA ACCESS.
En esperant que quelqu'un puisse m'aider, je vous souhaite une bonne journée !