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 >

