Bonjour Izmo93, René,
Voici une petite fonction qui fera ce que tu désires. Il te reste juste à ajuster les champs de tes tables pour que ça fonctionne.
Dans un module il faut déclarer comme suit (j'ai pris pour acquis que le numéro de dossier était en nunérique):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Option Compare Database
Option Explicit
'La fonction
Public Function fuDossier(loNumDossier As Long) As String
'Les variables
Dim db As DAO.Database: Set db = CurrentDb
Dim rst As DAO.Recordset
Dim strSQL As String, strDefendeur As String, strDemandeur As String
'Ici on batit la première partie, soit le numéro de dossier et le ou les demandeurs, à modifier selon tes tables
strSQL = "SELECT T_Dossier_Demandeur.* FROM T_Dossier_Demandeur " _
& "WHERE T_Dossier_Demandeur.T_DOSSIER_FK=" & loNumDossier & ";"
Set rst = db.OpenRecordset(strSQL)
strDemandeur = "Dossier " & loNumDossier & vbCrLf 'Le numéro de dossier
If rst.EOF Then
strDemandeur = strDemandeur & "Aucun demandeur" & vbCrLf 'Si aucun demandeur
Else
Do While rst.EOF = False
strDemandeur = strDemandeur & rst("NomDemandeur") & vbCrLf 'Le ou les demandeurs
rst.MoveNext
Loop
End If
rst.Close
'Ici la deuxième partie, soit le défendeur, encore une fois à modifier selon tes tables
strSQL = "SELECT T_Dossier_Defendeur.* FROM T_Dossier_Defendeur " _
& "WHERE T_Dossier_Defendeur.T_DOSSIER_FK=" & loNumDossier & ";"
Set rst = db.OpenRecordset(strSQL)
strDefendeur = "Contre" & vbCrLf 'Le titre
If rst.EOF Then
strDefendeur = strDefendeur & "Aucun défendeur" & vbCrLf 'Si pas de défenseur
Else
Do While rst.EOF = False
strDefendeur = strDefendeur & rst("NomDefendeur") & vbCrLf 'Le ou les défenseurs
rst.MoveNext
Loop
End If
rst.Close
Set rst = Nothing
Set db = Nothing
fuDossier = strDemandeur & strDefendeur 'On transfert à la fonction
End Function |
Puis tu peux appeler la fonction à partir d'un formulaire ou d'un état en passant en paramètre le numéro de dossier voulu. Sur l'événement sur activation d'un formulaire ferait l'affaire.
Me.ChampTexteRecepteur = fuDossier(Me.NuméroDeDossier)
Bonne journée
Partager