Je ne Suis Pas un Expert en Programmation
Le savoir est la lumière de l'esprit
Le chemin de la réussite
Les savants sont les héritiers de la science
Qui cherche positivement trouve
Tout ce qui brille n'est pas l'or ou diamant
Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
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.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.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.
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 textes
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 '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 : Sélectionner tout - Visualiser dans une fenêtre à part =F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])
Code : Sélectionner tout - Visualiser dans une fenêtre à part =F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS])
Code : Sélectionner tout - Visualiser dans une fenêtre à part =F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS])
Code : Sélectionner tout - Visualiser dans une fenêtre à part =(F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3
Code : Sélectionner tout - Visualiser dans une fenêtre à part =((F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3)*2
Code : Sélectionner tout - Visualiser dans une fenêtre à part =(F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/2
Code : Sélectionner tout - Visualiser dans une fenêtre à part =((F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3)/7Résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part =(((F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3)*2)/9
Cordialement.
Je ne Suis Pas un Expert en Programmation
Le savoir est la lumière de l'esprit
Le chemin de la réussite
Les savants sont les héritiers de la science
Qui cherche positivement trouve
Tout ce qui brille n'est pas l'or ou diamant
Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
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".
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.
Je ne Suis Pas un Expert en Programmation
Le savoir est la lumière de l'esprit
Le chemin de la réussite
Les savants sont les héritiers de la science
Qui cherche positivement trouve
Tout ce qui brille n'est pas l'or ou diamant
Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
Salut morobaboumar,
Il faut créer un fil pour un problème donné.
Si celui-ci est fini, merci de mettre en
Merci et bon courage pour la suite
Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.
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.
Je ne Suis Pas un Expert en Programmation
Le savoir est la lumière de l'esprit
Le chemin de la réussite
Les savants sont les héritiers de la science
Qui cherche positivement trouve
Tout ce qui brille n'est pas l'or ou diamant
Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
Bonsoir membres du forum,
Je ferme cette 1e partie de cette discussion.
Cordialement.
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
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
Je ne Suis Pas un Expert en Programmation
Le savoir est la lumière de l'esprit
Le chemin de la réussite
Les savants sont les héritiers de la science
Qui cherche positivement trouve
Tout ce qui brille n'est pas l'or ou diamant
Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager