Bonjour membres du forum,
Pourriez vous m'aider comment écrire avec du code Vba les différents montants dans un seul champ
d'une requête ou d'un formulaire selon des paramètres ?
Voici mes codes:
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
18
19
20
21
22
23
24
25
26
27
28 'Fonction Ramenant la part de la mère du défunt SANOGO Mouhamed LAMINE 'de la Famille du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à leurs âmes). Public Function F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML(IDmontDec As Long, idMbreFEMS As Long, lienParentMere As Long) As Double On Error GoTo MOROBABOUMAR If IsNull(IDmontDec) Then Exit Function If IsNull(idMbreFEMS) Then Exit Function If IsNull(lienParentMere) Then Exit Function Dim bd As Database Dim R As Recordset Dim sql As String Set bd = CurrentDb sql = "select * from [Req_Tbl_Gestion_ParticuliereChaqueHeritierEMS_2e_Fils] where NumMontantApartager = " & _ IDmontDec & _ " and ID_MembreFamille = " & idMbreFEMS & _ " and LienDeParente = " & lienParentMere & ";" Set R = bd.OpenRecordset(sql) With R If Not .EOF Then F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML = ((.Fields("Montant_Partager") - .Fields("MontantChargePchH_EMS")) / 114) * 19 Else F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML = 0 End If End With Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function
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
18
19
20
21
22
23
24
25
26
27
28 'Fonction Ramenant la part de chaque soeur du défunt SANOGO Mouhamed LAMINE 'de la Famille du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à leurs âmes). Public Function F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML_PartSoeur(IDmontDec As Long, idMbreFEMS As Long, lienParentMere As Long) As Double On Error GoTo MOROBABOUMAR If IsNull(IDmontDec) Then Exit Function If IsNull(idMbreFEMS) Then Exit Function If IsNull(lienParentMere) Then Exit Function Dim bd As Database Dim R As Recordset Dim sql As String Set bd = CurrentDb sql = "select * from [Req_Tbl_Gestion_ParticuliereChaqueHeritierEMS_2e_FilsPartSoeur] where NumMontantApartager = " & _ IDmontDec & _ " and ID_MembreFamille = " & idMbreFEMS & _ " and LienDeParente = " & lienParentMere & ";" Set R = bd.OpenRecordset(sql) With R If Not .EOF Then F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML_PartSoeur = ((.Fields("Montant_Partager") - .Fields("MontantChargePchH_EMS")) / 114) * 5 Else F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML_PartSoeur = 0 End If End With Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function
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
18
19
20
21
22
23
24
25
26
27
28 'Fonction Ramenant la part de chaque frère du défunt SANOGO Mouhamed LAMINE 'de la Famille du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à leurs âmes). Public Function F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML_PartFrere(IDmontDec As Long, idMbreFEMS As Long, lienParentMere As Long) As Double On Error GoTo MOROBABOUMAR If IsNull(IDmontDec) Then Exit Function If IsNull(idMbreFEMS) Then Exit Function If IsNull(lienParentMere) Then Exit Function Dim bd As Database Dim R As Recordset Dim sql As String Set bd = CurrentDb sql = "select * from [Req_Tbl_Gestion_ParticuliereChaqueHeritierEMS_2e_FilsPartFrere] where NumMontantApartager = " & _ IDmontDec & _ " and ID_MembreFamille = " & idMbreFEMS & _ " and LienDeParente = " & lienParentMere & ";" Set R = bd.OpenRecordset(sql) With R If Not .EOF Then F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML_PartFrere = ((.Fields("Montant_Partager") - .Fields("MontantChargePchH_EMS")) / 114) * 10 Else F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML_PartFrere = 0 End If End With Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function
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
18
19
20
21
22
23
24
25
26
27
28 'Fonction Ramenant la part de chaque fille de la défunte Hadja Djèné KABA 'de la Famille du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à leurs âmes). Public Function F_RamenantMontantParticulierMembreFEMS_MoinsChargesHDK_PartFille(IDmontDec As Long, idMbreFEMS As Long, lienParentMere As Long) As Double On Error GoTo MOROBABOUMAR If IsNull(IDmontDec) Then Exit Function If IsNull(idMbreFEMS) Then Exit Function If IsNull(lienParentMere) Then Exit Function Dim bd As Database Dim R As Recordset Dim sql As String Set bd = CurrentDb sql = "select * from [Req_Tbl_Gestion_ParticuliereChaqueHeritierEMS_Mere_PartFille] where NumMontantApartager = " & _ IDmontDec & _ " and ID_MembreFamille = " & idMbreFEMS & _ " and LienDeParente = " & lienParentMere & ";" Set R = bd.OpenRecordset(sql) With R If Not .EOF Then F_RamenantMontantParticulierMembreFEMS_MoinsChargesHDK_PartFille = ((.Fields("Montant_Partager") - .Fields("MontantChargePchH_EMS")) / 19) * 1 Else F_RamenantMontantParticulierMembreFEMS_MoinsChargesHDK_PartFille = 0 End If End With Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End FunctionVoici sql de la requête "Req_PART_MONTANT_CHAQUE_HERITIER_SML_HDK"
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
18
19
20
21
22
23
24
25
26
27
28
29 'Fonction Ramenant la part de chaque fils de la défunte Hadja Djèné KABA 'de la Famille du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à leurs âmes). Public Function F_RamenantMontantParticulierMembreFEMS_MoinsChargesHDK_PartFils(IDmontDec As Long, idMbreFEMS As Long, lienParentMere As Long) As Double On Error GoTo MOROBABOUMAR If IsNull(IDmontDec) Then Exit Function If IsNull(idMbreFEMS) Then Exit Function If IsNull(lienParentMere) Then Exit Function Dim bd As Database Dim R As Recordset Dim sql As String Set bd = CurrentDb sql = "select * from [Req_Tbl_Gestion_ParticuliereChaqueHeritierEMS_Mere_PartFrere] where NumMontantApartager = " & _ IDmontDec & _ " and ID_MembreFamille = " & idMbreFEMS & _ " and LienDeParente = " & lienParentMere & ";" Set R = bd.OpenRecordset(sql) With R If Not .EOF Then F_RamenantMontantParticulierMembreFEMS_MoinsChargesHDK_PartFils = ((.Fields("Montant_Partager") - .Fields("MontantChargePchH_EMS")) / 19) * 2 Else F_RamenantMontantParticulierMembreFEMS_MoinsChargesHDK_PartFils = 0 End If End With Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT Tbl_Gestion_ParticuliereChaqueHeritierEMS.ID_MembreFamille, Tbl_Partage_Taux_Ses_Heritiers.IdGestionParticul, Tbl_Partage_Taux_Ses_Heritiers.LabelleSesHeritiers, Tbl_Partage_Taux_Ses_Heritiers.id_LienDeParente, Tbl_Partage_Taux_Ses_Heritiers.TauxNumerateurLP, Tbl_Partage_Taux_Ses_Heritiers.TauxDenomirateurLP, Tbl_Partage_Taux_Ses_Heritiers.IDMontantpartager, Tbl_Partage_Taux_Ses_Heritiers.IDChargePchH_EMS, F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML([Tbl_Partage_Taux_Ses_Heritiers]![IDMontantpartager],[Tbl_Gestion_ParticuliereChaqueHeritierEMS]![ID_MembreFamille],[Tbl_Partage_Taux_Ses_Heritiers]![id_LienDeParente]) AS MONTANT_MERE, F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML_PartSoeur([Tbl_Partage_Taux_Ses_Heritiers]![IDMontantpartager],[Tbl_Gestion_ParticuliereChaqueHeritierEMS]![ID_MembreFamille],[Tbl_Partage_Taux_Ses_Heritiers]![id_LienDeParente]) AS MONTANT_SOEUR, F_RamenantMontantParticulierMembreFEMS_MoinsChargesSML_PartFrere([Tbl_Partage_Taux_Ses_Heritiers]![IDMontantpartager],[Tbl_Gestion_ParticuliereChaqueHeritierEMS]![ID_MembreFamille],[Tbl_Partage_Taux_Ses_Heritiers]![id_LienDeParente]) AS MONTANT_FRERE FROM Tbl_Gestion_ParticuliereChaqueHeritierEMS INNER JOIN Tbl_Partage_Taux_Ses_Heritiers ON Tbl_Gestion_ParticuliereChaqueHeritierEMS.NumGestionParticul = Tbl_Partage_Taux_Ses_Heritiers.IdGestionParticul;
Mon objectif est de trouver un module unique qui englobe l'ensembles des codes précités.
Je requiers votre aide ?
Cordialement.
Partager