Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Gestion d' Héritage Succession d'un défunt


Sujet :

Access

  1. #21
    Membre averti
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    sql = "select ([Montant_BienArgent]*[Taux_PartPercu]) 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
    on ne peut pas exécuter une requête sélection avec la méthode Execute, il faut enlever cette instruction
    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:



    que je ne retrouve pas.
    Pièce jointe
    Que faut il faire ?
    Cordialement.
    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

  2. #22
    Expert éminent
    bonjour morobaboumar,
    Après avoir mis en commentaire l'instruction comme vous me l'avez suggéré, j'ai encore un message d'erreur:
    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.
    Que faut il faire ?
    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.
    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 ...

  3. #23
    Membre averti
    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;

    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


    ensuite, les codes des différentes zones de textes
    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)/7


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    =(((F_RamenantMontantDeclaréMembreFamilleEMS([NumBienArgentHEMS];[NoFondatHEMS])-F_RamenantMontantDeclaréMembreFamilleEMS_MoinsChargesPartEpouse([NumBienArgentHEMS];[NoFondatHEMS]))/3)*2)/9


    Résultat:






    Cordialement.
    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

  4. #24
    Membre averti
    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.
    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

  5. #25
    Community Manager

    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.

  6. #26
    Membre averti
    Citation Envoyé par Malick Voir le message
    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
    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.
    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

  7. #27
    Membre averti
    Bonsoir membres du forum,
    Je ferme cette 1e partie de cette discussion.
    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


    Cordialement.
    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