Bonjour,

J'ai créé un formulaire comprenant deux onglets, le premier étant un sous-formulaire du deuxième. Le premier onglet fait référence à des "Entreprises" (SF_entreprises) et le second, à des "Salariés" (F_salaries).

Pour vous donner tous les éléments nécessaires, mon SF_entreprises est basé sur une requête entre ma table T_entreprise et ma table T_liaison (qui fait le lien entre T_entreprise et T_salaries). Mon F_salarie est basé sur ma table T_salarie.

T_entreprise contient : Id_entreprise et diverses informations sur l'entreprise
T_salarie contient : Id_salarie et diverses informations sur le salarié
T_liaison contient : Id_liaison, Id_salarie, Id_entreprise, nature du contrat, date embauche, etc.

Pour affecter un salarié à une entreprise, j'ai inséré dans mon onglet "Salariés" une zone de liste déroulante qui affiche toutes les entreprises de ma T_entreprise. J'ai ensuite créé un sous-formulaire SF_liaison qui me premet de voir toutes les affectations réalisées par salarié (basé sur la table T_liaison). J'ai enfin créé une commande qui comprend le code suivant :

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
17
Private Sub Commande157_Click()
Dim rstAdhesion As DAO.Recordset
Dim strSqlAdhesion As String
 
strSqlAdhesion = "SELECT * FROM T_liaison"
Set rstAdhesion = CurrentDb.OpenRecordset(strSqlAdhesion)
 
With rstAdhesion
    .AddNew
        .Fields(1) = Id_salarie
        .Fields(2) = légende de ma zone de liste déroulante avec tous les noms d'entreprises
 
End With
 
SF_liaison.Requery
 
End Sub
Pour en venir à mon problème : Lorsque je saisis un salarié, l'Id_salarie de ma T_liaison se remplit automatiquement. Par contre, quand je clique sur ma commande pour étbalir un lien dans ma table T_liaison entre le salarié en question et l'entreprise voulue, rien ne se passe. L'Id_entreprise n'est pas affecté.

Auriez-vous des pistes qui puissent m'aider à résoudre ce problème ? Je vous en remercie d'avance.