Bonsoir tee_granbois,
Après avoir mis en commentaire l'instruction comme vous me l'avez suggéré, j'ai encore un message d'erreur:
Pièce jointe 563270
que je ne retrouve pas.
Pièce jointe
Que faut il faire ?
Cordialement.
Version imprimable
Bonsoir tee_granbois,
Après avoir mis en commentaire l'instruction comme vous me l'avez suggéré, j'ai encore un message d'erreur:
Pièce jointe 563270
que je ne retrouve pas.
Pièce jointe
Que faut il faire ?
Cordialement.
bonjour morobaboumar,
oui mais cette erreur n'a rien à voir avec la dernière correction que j'ai donné... visiblement c'est sur l'état que se produit l'erreur.Citation:
Après avoir mis en commentaire l'instruction comme vous me l'avez suggéré, j'ai encore un message d'erreur:
il faut faire plus simple, ce n'est pas normal de créer autant de fonctions pour afficher des informations, on vous l'a déjà dit mais vous persistez à en créer.Citation:
Que faut il faire ?
Pourquoi créer une fonction pour avoir la civilité (par exemple, mais il y en a plein d'autres), alors qu'il suffit d'ajouter la table des civilités et de faire une jointure avec la table principale dans la requête source de l'état ? Et je pourrais dire la même chose pour le calcul du montant des parts, cela peut se faire directement dans la requête. Cela rendrait les objets formulaires et état plus lisibles.
Du coup il y a du code partout, donc impossible de trouver la cause de l'erreur sans y passer des heures, je ne peux donc rien faire dans l'état actuel de votre base.
Une fonction doit être créée uniquement si c'est impossible de renvoyer une information par requête.
Bonsoir membres du forum,
bonsoir tee_grandbois,
J'ai bien compris vos conseils.
J'ai trouvé mon erreur qui était située
au niveau de la requête sur laquelle
est basée là fonction qui ramène
le montant part des fils. Il y avait une liaison qui manquait
en l'occurrence la table Tbl_charge.
Sql de la requête "FondateurTbl_HeritageEMSanogo_Argent":
Code:
1
2
3 SELECT Tbl_Fondateur.NoFond, Tbl_HeritageEMSanogo_Argent.NumBienArgent, Tbl_HeritageEMSanogo_Argent.Montant_BienArgent, Tbl_Charge.NoCharge, Tbl_Charge.MontantCharge, * FROM (Tbl_HeritageEMSanogo_Argent INNER JOIN Tbl_Fondateur ON Tbl_HeritageEMSanogo_Argent.NoFondateur = Tbl_Fondateur.NoFond) INNER JOIN Tbl_Charge ON (Tbl_HeritageEMSanogo_Argent.NumBienArgent = Tbl_Charge.Id_BienArgent) AND (Tbl_Fondateur.NoFond = Tbl_Charge.ID_Fondateur) ORDER BY Tbl_Fondateur.NoFond, Tbl_HeritageEMSanogo_Argent.NumBienArgent;
ensuite, les codes des différentes zones de textesCode:
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 'Fonction Ramenant part des deux (2) épouses sur le montant déclaré par période 'de la table FondateurTbl_HeritageEMSanogo_Argent 'de la Famille du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à 'son âme). Public Function F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse(IDmontDec As Long, idfondat As Long) As Double On Error GoTo MOROBABOUMAR If IsNull(IDmontDec) Or IsNull(idfondat) Then Exit Function Dim bd As Database Dim R As Recordset Dim sql As String Set bd = CurrentDb sql = "select * from [Req_FondateurTbl_HeritageEMSanogo_Argent] where NumBienArgent = " & IDmontDec & " and NoFondateur = " & idfondat & ";" Set R = bd.OpenRecordset(sql) With R If Not .EOF Then F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse = (.Fields("Montant_BienArgent") - .Fields("MontantCharge")) / 8 Else F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse = 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:=F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])
Code:=F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS])
Code:=F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS])
Code:=(F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3
Code:=((F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3)*2
Code:=(F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/2
Code:=((F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3)/7
Résultat:Code:=(((F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3)*2)/9
Pièce jointe 563975
Pièce jointe 563976
Pièce jointe 563980
Pièce jointe 563984
Cordialement.
Bonsoir membres du forum,
A mon avis j'ai atteint le point final de la première partie de cette discussion
"Gestion d' Héritage Succession d'un défunt: CAS OU UN HOMME DECEDE ET LAISSE DEUX ÉPOUSES ET 7 FILLES, 9 GARÇONS".
Pièce jointe 564096
Maintenant, j'entame la deuxième partie:
"CAS OU UN FILS DÉCÉDÉ ET LAISSE SA MÈRE, 5 SŒURS, 8 FRÈRES".
Dois je ouvrir une nouvelle discussion afin d'éviter des fils de discussion,
ou bien continuer avec celle ci ?
Pièce jointe
Cordialement.
Salut morobaboumar,
Il faut créer un fil pour un problème donné.
:fleche: Si celui-ci est fini, merci de mettre en :resolu:
Merci et bon courage pour la suite
Bonjour membres du forum,
bonjour tee_grandbois,
bonjour Malick,
Je crois que je vais rester un moment sur cette discussion afin de trouver les calculs correctes au niveau du montant
que chaque membre de la famille devrait percevoir selon les différentes parts:
- 1 Les deux(2) épouses ont ensembles les 1/8 du montant (exemple: 4 000 000 FCFA) qui donne (5 00 000 FCFA dont 250 000 FCFA par épouse)
Donc 4 000 000 FCFA - 5 00 000 FCFA reste 3 500 000 FCFA
- 2 - Les sept(7) filles ont chacune les 1/3 du montant restant (3 500 000 FCFA ) qui donne (1 166 666,6667 FCFA dont 1 66 666,66667 FCFA par fille)
- 3 - Les neuf(9) fils ont alors chacun les 2/3 du montant restant (3 500 000 FCFA) dont 259 259,25922 FCFA par fils).
Je vous prie de bien vouloir m'aider à représenter tout ceci dans des requêtes.
Cordialement.
Bonsoir membres du forum,
Je ferme cette 1e partie de cette discussion.
Cordialement.Code:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131 Option Compare Database Option Explicit 'Fonction Ramenant la part des deux (2) épouses sur le montant déclaré par période 'de la table FondateurTbl_HeritageEMSanogo_Argent 'de la Famille du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à 'son âme). Public Function F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse(IDmontDec As Long, idfondat As Long) As Double On Error GoTo MOROBABOUMAR If IsNull(IDmontDec) Or IsNull(idfondat) Then Exit Function Dim bd As Database Dim R As Recordset Dim sql As String Set bd = CurrentDb sql = "select * from [Req_FondateurTbl_HeritageEMSanogo_Argent] where NumBienArgent = " & IDmontDec & " and NoFondateur = " & idfondat & ";" Set R = bd.OpenRecordset(sql) With R If Not .EOF Then F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse = (.Fields("Montant_BienArgent") - .Fields("MontantCharge")) / 8 Else F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse = 0 End If End With Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function 'Fonction Ramenant le montant de la part de toutes les épouses ensembles 'du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à 'son âme). Public Function F_RamenantMontantPartToutesLesEpousesEMS(MembrFamConc As Long, StatutMFEMS As Long, NumBienArg As Long) As Double On Error GoTo MOROBABOUMAR Dim bd As Database Dim rs As Recordset Dim sql As String Set bd = CurrentDb sql = "select (([Montant_BienArgent]-[MontantCharge])*([Taux_PartPercu])) As PartMembrFamEMS from Req_Tbl_MontantLiquidePartgeHEMS_Epouse where MembresFamilleConcernesHEMS =" & MembrFamConc & _ " and StatutMembreFamil=" & StatutMFEMS & " and NumBienArgentHEMS=" & NumBienArg & "" Set rs = bd.OpenRecordset(sql) If rs.EOF Or IsNull(rs.Fields("PartMembrFamEMS")) Then F_RamenantMontantPartToutesLesEpousesEMS = 0 Else F_RamenantMontantPartToutesLesEpousesEMS = rs.Fields("PartMembrFamEMS") ' les 1/8 pour les deux épouses End If Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function 'Fonction Ramenant le montant de la part de chaque épouse (2 épouses au total) 'du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à 'son âme). Public Function F_RamenantMontantPartChaqueEpouseEMS(MembrFamConc As Long, StatutMFEMS As Long, NumBienArg As Long) As Double On Error GoTo MOROBABOUMAR Dim bd As Database Dim rs As Recordset Dim sql As String Set bd = CurrentDb sql = "select ([Montant_BienArgent]-[MontantCharge]) As PartMembrFamEMS from Req_Tbl_MontantLiquidePartgeHEMS_Epouse where MembresFamilleConcernesHEMS =" & MembrFamConc & _ " and StatutMembreFamil=" & StatutMFEMS & " and NumBienArgentHEMS=" & NumBienArg & "" Set rs = bd.OpenRecordset(sql) If rs.EOF Or IsNull(rs.Fields("PartMembrFamEMS")) Then F_RamenantMontantPartChaqueEpouseEMS = 0 Else F_RamenantMontantPartChaqueEpouseEMS = ((rs.Fields("PartMembrFamEMS")) / 400) * 25 '/ 2 ' les 1/8 pour les deux épouses End If Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function '=((F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3)/7 'Fonction Ramenant le montant de la part de chaque fille 'du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à 'son âme). Public Function F_RamenantMontantPartChaqueFilleEMS(MembrFamConc As Long, StatutMFEMS As Long, NumBienArg As Long) As Double On Error GoTo MOROBABOUMAR Dim bd As Database Dim rs As Recordset Dim sql As String Set bd = CurrentDb sql = "select ([Montant_BienArgent]- [MontantCharge]) As PartMembrFilleEMS from Req_Tbl_MontantLiquidePartgeHEMS_FILLE where MembresFamilleConcernesHEMS =" & MembrFamConc & _ " and StatutMembreFamil=" & StatutMFEMS & " and NumBienArgentHEMS=" & NumBienArg & "" Set rs = bd.OpenRecordset(sql) If rs.EOF Or IsNull(rs.Fields("PartMembrFilleEMS")) Then F_RamenantMontantPartChaqueFilleEMS = 0 Else F_RamenantMontantPartChaqueFilleEMS = (rs.Fields("PartMembrFilleEMS")) / 400 * 14 '* 7 / 24 / 7 '7 pour les sept filles End If Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function 'Fonction Ramenant le montant de la part de chaque fils 'du défunt Elhadji Mahmoud Sanogo (Paix divine éternelle à 'son âme). Public Function F_RamenantMontantPartChaqueFilsEMS(MembrFamConc As Long, StatutMFEMS As Long, NumBienArg As Long) As Double On Error GoTo MOROBABOUMAR Dim bd As Database Dim rs As Recordset Dim sql As String Set bd = CurrentDb sql = "select ([Montant_BienArgent]- [MontantCharge]) As PartMembrFilSEMS from Req_Tbl_MontantLiquidePartgeHEMS_FILS where MembresFamilleConcernesHEMS =" & MembrFamConc & _ " and StatutMembreFamil=" & StatutMFEMS & " and NumBienArgentHEMS=" & NumBienArg & "" '----------------------------------------------------------- 'permet de lever une erreur qu'on peut ensuite 'traiter pour savoir ce qui a posé problème 'CurrentDb.Execute sql, dbFailOnError Set rs = bd.OpenRecordset(sql) If rs.EOF Or IsNull(rs.Fields("PartMembrFilSEMS")) Then F_RamenantMontantPartChaqueFilsEMS = 0 Else F_RamenantMontantPartChaqueFilsEMS = (rs.Fields("PartMembrFilSEMS")) / 400 * 28 '* 7 / 12 / 9 '1 part pour les neuf fils End If Exit Function MOROBABOUMAR: MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue" End Function