anda perhatikan query tersebut :
urutannya adalah berdasarkan id brg, lalu urut berdasarkan tanggal transaksi.
untuk saldo, saya ambilkan selalu tanggal awal di kurang 1, berhubung parameter tanggal yang diinput saya sesuaikan dengan data yang ada, maka periode adalah dari tanggal 10/2/2010 -10/3/2010. karenanya, akumulasi saldo adalah periode awal di kurang 1 menjadi tanggal 10/1/2010.
query ini bisa diolah lagi direport untuk mendapatkan tampilan yang lebih bisa di baca, beserta saldo akhir setiap id brg seperti berikut:
aksan kurdin
On 10/30/2010 2:55 PM, sel lina wrote:
kok hasil union querynya ga sesuai ??berikut saya lampirkan hasil nya.harusnya saldo mengakumulasi dari saldo sebelumnya.
From: Aksan Kurdin <aksan.kurdin@gmail.com>
To: belajar-access@yahoogroups.com
Sent: Sat, October 30, 2010 2:17:49 PM
Subject: Re: [belajar-access] stok report
qs_CurrPeriod_BegBlc:
SELECT stock.[id brg], stock.Category, stock.Merk, stock.Type, DateAdd("d",-1,[Forms]![Laporan]![Text1]) AS _Tanggal, Sum(stock.Masuk) AS _Masuk, Sum(stock.Keluar) AS _Keluar, Sum([Masuk]-[Keluar]) AS _Saldo
FROM stock
GROUP BY stock.[id brg], stock.Category, stock.Merk, stock.Type, DateAdd("d",-1,[Forms]![Laporan]![Text1]), stock.Tanggal
HAVING (((stock.Tanggal)<[Forms]![Laporan]![Text1]))
ORDER BY stock.Tanggal;
qs_CurrPeriod_Trx:
SELECT stock.[id brg], stock.Category, stock.Merk, stock.Type, stock.Tanggal, stock.Masuk, stock.Keluar, [Masuk]-[Keluar] AS Saldo
FROM stock
WHERE (((stock.Tanggal) Between [Forms]![Laporan]![Text1] And [Forms]![Laporan]![Text3]))
ORDER BY stock.Tanggal;
anda sudah bisa union dua query ini:
select * from qs_CurrPeriod_BegBlc
union all select * from qs_CurrPeriod_Trx
order by [id brg], [_tanggal]
aksan kurdin
On 10/30/2010 1:48 PM, sel lina wrote:stock = tablestock Query = query summary dr stock yg sdh sy sum dan group
*terlampir file mdb nya pak
From: Aksan Kurdin <aksan.kurdin@gmail.com>
To: belajar-access@yahoogroups.com
Sent: Sat, October 30, 2010 1:32:38 PM
Subject: Re: [belajar-access] stok report
stock itu query atau table ?
coba kirim mdb berisi query/table itu, jika query, maka table2 yang terkait di dalamnya juga kirim kemari.
data-nya di dummy saja, atau potong seperlunya.
aksan kurdin
On 10/30/2010 1:21 PM, sel lina wrote:
From: sel lina <sel_linaus@yahoo.com>dear pak aksan,
To: belajar-access@yahoogroups.com
Sent: Sat, October 30, 2010 11:20:03 AM
Subject: Re: [belajar-access] stok report
saya telah coba syntax bapakselect Masuk-Keluar from stock Query where tanggal < [Forms]![Laporan]![Text1]
UNION ALL select masuk,keluar from stock where stock Query between [Forms]![Laporan]![Text1]] and [Forms]![Laporan]![Text3];
namun hasilnya syntax error (missing operator) 'stock Query between [Forms]![Laporan]![Text1]] and [Forms]![Laporan]![Text3]'ini gimana ya pak ??thx
From: Aksan Kurdin <aksan.kurdin@gmail.com>
To: belajar-access@yahoogroups.com
Sent: Sat, October 30, 2010 6:51:25 AM
Subject: Re: [belajar-access] stok report
Dear sel_linaus@yahoo.com,
Penggunaan DISTINCT pada agregate query (query yang di summary dengan klausa GROUP BY) bisa membawa informasi yang keliru.
Saya belum coba, tetapi dugaan saya, DISTINCT dikerjakan dulu, baru GROUP BY.
Jadi jika di query anda ada duplikasi row, maka DISTINCT akan membuang lainnya, di jadikan satu saja, barulah di GROUP BY untuk summary pada stock.masuk, stock.keluar, dst. Jika dugaan saya benar, maka informasi summary akan menjadi tidak tepat (lebih sedikit).
untuk membuat laporan berupa saldo awal yang berasal dari summary transaksi sampai awal periode, dengan detail transaksi dari periode awal hingga periode akhir, gunakan cara berikut:
select summary from query where tanggal < [periode awal]
union all
select detail from tabel where query between [periode awal] and [ periode akhir]
jadi dari satu query asal (detail transaksi), bisa ditarik dua kali sebagai summary sampai awal periode (saldo awal), dan sebagai transaksi berjalan dari periode awal hingga akhir.
aksan kurdin
On 10/27/2010 3:50 PM, sel lina wrote:dear master access,saya mau tny gmn nambahin saldo awal untuk stok report saya.adapun query yang telah saya buat sbb:SELECT DISTINCT stock.Tanggal, stock.Category, stock.Merk, stock.Type, Sum(stock.Masuk) AS Masuk, Sum(stock.Keluar) AS Keluar, sum(masuk)-sum(keluar)<tanggal + masuk - keluar as saldo
FROM stock
GROUP BY stock.Tanggal, stock.Category, stock.Merk, stock.Type
HAVING (((stock.Tanggal) Between [Forms]![Laporan]![Text1] And [Forms]![Laporan]![Text3]));mohon bantu ya...
No comments:
Post a Comment