Médiamaticien
XLDnaute Nouveau
Bonjour,
Aujourd'hui, je me suis heurté à un problème relativement bizarre.
En effet, j'ai crée un formulaire, avec des champs de texte, une liste, et un bouton.
Quand je clique sur le bouton, toute les données dans les champs et dans la liste déroulante sont utilisé pour créer un enregistrement.
Jusque là pas de problème, l'enregistrement est crée.
Cependant, le problème est le suivant :
L'enregistrement que je crée est une séance, et chaque séance est attribué à un collaborateur. Un collaborateur peut avoir plusieurs séances.
Donc, ayant crée l'enregistrement dans T_Triangolo, il faut que j'attribue sa clé primaire, et la clé primaire de la table T_Apprenti dans une autre table, dans ce cas le T_Aprengolo, pour qu'il aie une relation entre les séances et l'apprenti.
Voici mon code :
Private Sub Btl_Creer_Click()
Me.Tag = Form_F_BDD.Tag
Dim Txt_Date_Triangolo As Date
Dim rs As ADODB.Recordset 'Variable de Recordset
Set rs = New ADODB.Recordset
Dim query As String
Dim sql As String
Value_List = Me!Lst_Type.Value
sql = " INSERT INTO T_Triangolo ( Type, [Date], Remarques, FQP )"
sql = sql & " SELECT (""" & Value_List & """), (""" & Txt_Date_Triangolo & """), (""" & Txt_Remarques_Triangolo & """), (""" & Txt_FQP_Triangolo & """)"
sql = sql & " FROM T_Apprenti INNER JOIN (T_Triangolo INNER JOIN T_Aprengolo ON T_Triangolo.[_Triangolo] = T_Aprengolo.[_Triangolo]) ON T_Apprenti.[_Apprenti] = T_Aprengolo.[_Apprenti]"
sql = sql & " WHERE (((T_Apprenti.[_Apprenti])=" & Me.Tag & "));"
CurrentDb.Execute sql
sql = ""
sql = " INSERT INTO T_Aprengolo ( _Triangolo, _Apprenti )"
sql = sql & " SELECT T_Triangolo.[_Triangolo], T_Apprenti.Nom"
sql = sql & " FROM T_Apprenti INNER JOIN (T_Triangolo INNER JOIN T_Aprengolo ON T_Triangolo.[_Triangolo] = T_Aprengolo.[_Triangolo]) ON T_Apprenti.[_Apprenti] = T_Aprengolo.[_Apprenti]"
sql = sql & " WHERE (((T_Triangolo.Type)=""" & Lst_Type & """) AND ((T_Triangolo.Date)=""" & Txt_Date_Triangolo & """) AND ((T_Triangolo.Remarques)=""" & Txt_Remarques_Triangolo & """) AND ((T_Triangolo.FQP)=""" & Txt_FQP_Triangolo & """) AND ((T_Apprenti.[_Apprenti])=" & Me.Tag & "));"
CurrentDb.Execute sql
MsgBox ("Le triangolo a été crée avec succès!")
End Sub
Je sais pas si j'utilise la mauvaise méthode? La première requète créer l'enregistrement dans T_Triangolo, et la deuxième est censé mettre _Triangolo et _Apprenti dans T_Aprengolo en fonction de la séance et de l'apprenti actuelle...
Si je ne suis pas assez claire, je vous prie de me faire part de votre désagrément.
cordiallement
Nicolas
Apprenti Médiamaticien 1ère Année
Aujourd'hui, je me suis heurté à un problème relativement bizarre.
En effet, j'ai crée un formulaire, avec des champs de texte, une liste, et un bouton.
Quand je clique sur le bouton, toute les données dans les champs et dans la liste déroulante sont utilisé pour créer un enregistrement.
Jusque là pas de problème, l'enregistrement est crée.
Cependant, le problème est le suivant :
L'enregistrement que je crée est une séance, et chaque séance est attribué à un collaborateur. Un collaborateur peut avoir plusieurs séances.
Donc, ayant crée l'enregistrement dans T_Triangolo, il faut que j'attribue sa clé primaire, et la clé primaire de la table T_Apprenti dans une autre table, dans ce cas le T_Aprengolo, pour qu'il aie une relation entre les séances et l'apprenti.
Voici mon code :
Private Sub Btl_Creer_Click()
Me.Tag = Form_F_BDD.Tag
Dim Txt_Date_Triangolo As Date
Dim rs As ADODB.Recordset 'Variable de Recordset
Set rs = New ADODB.Recordset
Dim query As String
Dim sql As String
Value_List = Me!Lst_Type.Value
sql = " INSERT INTO T_Triangolo ( Type, [Date], Remarques, FQP )"
sql = sql & " SELECT (""" & Value_List & """), (""" & Txt_Date_Triangolo & """), (""" & Txt_Remarques_Triangolo & """), (""" & Txt_FQP_Triangolo & """)"
sql = sql & " FROM T_Apprenti INNER JOIN (T_Triangolo INNER JOIN T_Aprengolo ON T_Triangolo.[_Triangolo] = T_Aprengolo.[_Triangolo]) ON T_Apprenti.[_Apprenti] = T_Aprengolo.[_Apprenti]"
sql = sql & " WHERE (((T_Apprenti.[_Apprenti])=" & Me.Tag & "));"
CurrentDb.Execute sql
sql = ""
sql = " INSERT INTO T_Aprengolo ( _Triangolo, _Apprenti )"
sql = sql & " SELECT T_Triangolo.[_Triangolo], T_Apprenti.Nom"
sql = sql & " FROM T_Apprenti INNER JOIN (T_Triangolo INNER JOIN T_Aprengolo ON T_Triangolo.[_Triangolo] = T_Aprengolo.[_Triangolo]) ON T_Apprenti.[_Apprenti] = T_Aprengolo.[_Apprenti]"
sql = sql & " WHERE (((T_Triangolo.Type)=""" & Lst_Type & """) AND ((T_Triangolo.Date)=""" & Txt_Date_Triangolo & """) AND ((T_Triangolo.Remarques)=""" & Txt_Remarques_Triangolo & """) AND ((T_Triangolo.FQP)=""" & Txt_FQP_Triangolo & """) AND ((T_Apprenti.[_Apprenti])=" & Me.Tag & "));"
CurrentDb.Execute sql
MsgBox ("Le triangolo a été crée avec succès!")
End Sub
Je sais pas si j'utilise la mauvaise méthode? La première requète créer l'enregistrement dans T_Triangolo, et la deuxième est censé mettre _Triangolo et _Apprenti dans T_Aprengolo en fonction de la séance et de l'apprenti actuelle...
Si je ne suis pas assez claire, je vous prie de me faire part de votre désagrément.
cordiallement
Nicolas
Apprenti Médiamaticien 1ère Année