Terima kasih bang Aksan, 
Benar-benar sesuai dengan yang di harapkan, Ruarrrr biasa, perhitungan 
akumulasi bonus berbanding lurus seperti terlampir. 


-->(fungsinya sih cuma beberapa baris, tapi untuk saya butuh dua hari mikirnya, 
pak ... :) ), bagian ini yang saya suka 'sense of humor' nya, gak nahan... 
ibarat ilmu padi...

Regards, 
Sumiyanto



________________________________
From: aksankurdin <[email protected]>
To: [email protected]
Sent: Tue, April 27, 2010 4:45:43 PM
Subject: [belajar-access] Re: Perhitungan bonus MLM

  
Saya lihat kasus lama ini belum mendapat sentuhan, 
utak atik atuk, p. sumiyanto, saya coba dengan recursif.

Susunan tabel yang dipergunakan adalah:
M_Members (ID, ParentID)

Jadi setiap member hanya punya satu parent.
Contoh data jika mengambil data sample p. sumiyanto:

ID      ParentID
A       .
B       A
C       A
D       B
E       B
F       C
G       C
H       D
I       D
J       E
K       E
L       F
M       F
N       G
O       G

Jadi A punya down B dan C, 
B punya down D dan E, C punya down F dan G,
demikian seterusnya.

P. Sumiyanto, bisa pelajari fungsi berikut (di bawah).
Cara pakainya, coba di immediate window ketikkan:
? Bonus ("A")

Hasil yang keluar adalah 30000 (level 2 B+C dan level 3 D+E + F+G).

Saya bisa mengubah levelling dengan mengganti nilai MAX_LEVEL menjadi 4, 5, dst 
....
Saya juga bisa mengubah fix bonus dg mengubah nilai BONUS_VALUE.

(fungsinya sih cuma beberapa baris, tapi untuk saya butuh dua hari mikirnya, 
pak ... :) )

aksan kurdin

Option Compare Database
Option Explicit

Const MAX_LEVEL As Integer = 3
Const BONUS_VALUE As Double = 5000

Function Bonus(ID As String, Optional level As Integer = 1) As Double

Dim rs As DAO.Recordset
Dim total As Double

If level > MAX_LEVEL Then
Bonus = 0
Exit Function
ElseIf level = 1 Then
total = 0
Else
total = BONUS_VALUE
End If

Set rs = CurrentDb.OpenRecor dset("SELECT ID FROM M_Members WHERE ParentID = '" 
& ID & "'")
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do While Not rs.EOF
total = total + Bonus(rs(0), level + 1)
rs.MoveNext
Loop
End If

Bonus = total
rs.Close
Set rs = Nothing

End Function

--- In belajar-access@ yahoogroups. com, Sumiyanto - <sumiya...@. ..> wrote:
>
> 
> 
> 
> 
> 
> 
> Dear rekan-rekan Access,
> 
> 
> Mohon solusi klue sintax perhitungan bonus MLM dengan sistem matrik 2 
> kiri-kanan, yang mana mekanisme perhitungannya sbb:
>                                     +----------- +
> Level 1.                              1. A
>                             +----------- +-------- ---+
> Level 2.                         2. B  +     3. C
>             +----------- +-------- ---+----- ------+-- --------- +
> Level 3.     5. D           6. E     +     7. F           8. G
>             +----------- +-------- ---+----- ------+-- --------- + dst
> 
> A memiliki downline B & C, maka A akan mendapatkan bonus Rp5,000x2=Rp10. 000
> B memiliki downline D & E, maka A akan mendapatkan bonus Rp5,000x2=Rp10. 000 
> dan B mendapatkan Bonus Rp5,000x2=Rp10. 000
> C memiliki downline F & G, maka A akan mendapatkan bonus Rp5,000x2=Rp10. 000 
> dan C mendapatkan Bonus Rp5,000x2=Rp10. 000
> perulangan ini akan berhenti/terputus pada kedalaman 3 level misalnya. 
> selanjutnya ganti B dan C kebawah yang mendapatkan perhitungan bonus.
> 
> Demikian atas solusi dan attensi rekan-rekan saya ucapkan terima kasih. 
> 
> 
> Sumiyanto
>


 


      

Kirim email ke