Kalo query langsung sih nggak ada. Mau nggak mau pakai coding.
Kalau mau cara yg lebih mudah, sebaiknya cari stok akhir (dibanding cari
penjualan)
Misal total pembelian = 23
Total penjualan = 17
Stok akhir = 23 - 17 = 6
 
Ambil transaksi pembelian via query, order by tgl beli >> misal select *
from TableTransaksi order by Tgl_beli desc
JmlStokAkhir = 6 (angka 6 diambil dari perhitungan pembelian - penjualan >>
bisa sendiri kan?)
Do while not Table.EOF
  If JmlStokAkhir < Table.Fields("jumlah").value Then
    NilaiStokAkhir = JmlStokAkhir * Table.Fields("harga").Value
  Else
    NilaiStockAkhir = Table.fields("jumlah").value *
Table.Fields("harga").value
    JmlStokAkhir = JmlStokAkhir - Table.Fields("jumlah").value
  EndIf
 
  Table.MoveNext
Loop
Laba = TotalPenjualan - (TotalPembelian - NilaiStokAkhir)
 
Jadi sama seperti ilustrasi yg Anda berikan, contoh saya di atas jadinya :
Laba = TotalPenjualan - (TotalPembelian - NilaiStokAkhir)
Laba = 7x13.000 - ((10x10.000 + 5x11.000 + 8x9.000) - (6x9.000))
Laba = 221.000 - (227.000 - 54.000)
Laba = 48.000
 
Sama kan? Coding di atas sekalian bisa dipakai juga untuk cari saldo akhir
secara FIFO :)
 
PS : sorry saya nggak pakai code VB yang pasti jalan, saya hanya berikan
logikanya saja.
Liung's
www.tinggalpilih.com
 
From: [email protected] [mailto:[email protected]]
On Behalf Of Toni R
Sent: Wednesday, October 07, 2009 10:59 AM
To: [email protected]
Subject: [Programmer-VB] Cara ngambil laba secara FIFO
 
  
Dear all
ada yang tahu logika cara menghitung selisih harga pembelian - penjualan
secara fifo ? contoh...
 
pembelian 1
tanggal : 20/2/2009
jumlah : 10
harga : 10.000
 
pembelian 2
tanggal : 22/2/2009
jumlah : 5
harga : 11.000
 
pembelian 3
tanggal : 23/2/2009
jumlah : 8
harga : 9.000
 
Jika ada penjualan pada tanggal 23/2/2009 sebanyak 17 dengan harga jual
13.000
maka perhitungannya :
 
laba = penjualan - pembelian
laba = (10 x 13.000 - 10 x 10.000) + (5 x 13.000 - 5 x 11.000) + (2 x 13.000
- 2 x 9.000)
laba = 30.000 + 10.000 + 8.000
laba = 48.000
 
ada yang tahu perhitungan secara coding atau querry nya ?
 
Thanks sebelumnya

Kirim email ke