klu aku senangnya memberikan konsep, source code usaha sendiri...gitu lho...but
(tp lagi) krn newbie(knp ngk bilang dri awal...hiehehhi..).
Saya anggap kamu memakai ADODB dan databasenya menggunakan acces, jika
databasenya lain yang dirubah hanya Hubungan.ConnectionString pada sub Mulai
Hubungan.
Dim Hubungan As New ADODB.Connection
Dim RsSaldoAwal As New ADODB.Recordset
Dim RsPembelian As New ADODB.Recordset
Dim RsPenjualan As New ADODB.Recordset
Dim SaldoAwal as double
Dim Pembelian as double
Dim Penjualan as double
Sub MulaiHubungan()
If Hubungan.State = adStateOpen Then
Hubungan.Close
Set Hubungan = Nothing
End If
Hubungan.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Namadatabase.mdb;Mode=ReadWrite;Persist Security Info=False"
On Error Resume Next
Hubungan.Open
If Err Then
MsgBox "Program tidak dapat berjalan, Database tidak ada"
Exit Sub
End If
end sub
Anggap tanggal sekarang adalah tanggal 24/2/07 dengan isi data tabel seperti
didalam email kemarin.
Sub AmbilSaldoAwal()
'ambil data dari saldo awal sekali dari tabel saldo awal, saldo ini diisi hanya
sekali pada waktu program mulai dipergunakan
If RsSaldoAwal .State = adStateOpen Then
RsSaldoAwal .Close
Set RsSaldoAwal = Nothing
End If
RsSaldoAwal .ActiveConnection = Hubungan
RsSaldoAwal .CursorType = adOpenStatic
RsSaldoAwal .CursorLocation = adUseClient
RsSaldoAwal .LockType = adLockOptimistic
RsSaldoAwal .Open "select c_saldoawal from tbl_saldoawal where id = 23 '
anggap id 23 = oli MEDISTRAN
If RsSaldoAwal .RecordCount = 0 Then
SaldoAwal = 0
else
SaldoAwal = RsSaldoAwal ("c_saldoawal")
end if
'kode diatas akan menghasilkan saldo awal = 100
If RsPembelian.State = adStateOpen Then
RsPembelian.Close
Set RsPembelian= Nothing
End If
RsPembelian.ActiveConnection = Hubungan
RsPembelian.CursorType = adOpenStatic
RsPembelian.CursorLocation = adUseClient
RsPembelian.LockType = adLockOptimistic
RsPembelian.Open "select sum(c_jumlahbeli) as JumlahBeliBarang from
tbl_pembelian where id = 23 and tglbeli < #24/02/2007# ' anggap id 23 = oli
MEDISTRAN
If isnull(RsPembelian("JumlahBeliBarang")) = true Then
Pembelian = 0
else
Pembelian = RsPembelian("JumlahBeliBarang")
end if
'kode diatas akan menghasilkan jumlah pembelian = 10
If RsPenjualan.State = adStateOpen Then
RsPenjualan.Close
Set RsPenjualan= Nothing
End If
RsPenjualan.ActiveConnection = Hubungan
RsPenjualan.CursorType = adOpenStatic
RsPenjualan.CursorLocation = adUseClient
RsPenjualan.LockType = adLockOptimistic
RsPenjualan.Open "select sum(c_jumlahjual) as JumlahJualBarang from
tbl_pengeluaran where id = 23 and tglkeluar < #24/02/2007# ' anggap id 23 =
oli MEDISTRAN
If isnull(RsPenjualan("JumlahBeliBarang")) = true Then
Pembelian = 0
else
Pembelian = RsPenjualan("JumlahJualBarang")
end if
'kode diatas akan menghasilkan jumlah pengeluaran = 6
'sekarang sudah diketahui saldo awal sekali, jumlah semua pembelian dan
pengeluarannya sebelum tgl 24/02/2007. untuk mengetahu saldo awal tgl
24/02/2007 tinggal mengurainya aja:
SaldoAwalBaru = SaldoAwal + Pembelian - Penjualan
100 + 10 -6
'kode diatas akan menghasilkan saldo awal baru = 104
Sekarang tinggal mencari penjualan dan pengeluaran untuk tanggal 24/02/2007,
gunakan kode diatas (untuk pembelian dan penjualan, ganti tanda < menjadi tanda
= di perintah SQL nya)
Hasil yang diperoleh nantinya
Pembelian : 0
Penjualan : 12
'untuk mengetahu saldo akhir ya tinggal menjumlahkan lagi
SaldoAkhir = SaldoAwalBaru + Pembelian - Penjualan
104 + 0 - 12
'Hasil SaldoAkhir = 92
kamu tinggal menampilkannya di laporan yang dibuat...
end sub
Semoga membantu: =(oVo)=
====================
BaceInside Publisher
Copyright @2007
Not for reproduced, republished.
Thank You
====================
----- Original Message ----
From: dedi_gunawan1711 <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thursday, May 3, 2007 6:08:11 PM
Subject: [Programmer-VB] Re: Buat Saldo Awal dan Akhir
mas Bace, ketiga tabel yang anda maksud sudah ada, tetapi yang
jadi masalahnya bagaimana syntax untuk mengetahui saldo-saldo
tersebut (maklum newbie).
Saya sangat berharap anda dapat membantu.
Terima Kasih
Dedi
--- In Programmer-VB@ yahoogroups. com, Bace - Bace <[EMAIL PROTECTED]> wrote:
>
> Semoga membantu: =(oVo)=
> ============ ========
> BaceInside Publisher
> Copyright @2007
> Not for reproduced, republished.
> Thank You
> ============ ========
>
> Sebenarnya permasalahan saldo awal dan saldo akhir harus ditunjang
oleh datababase yang baik, untuk menghasilkan saldo awal dan akhir
untuk suatu data, minimal di butuhkan 3 tabel yaitu
>
> Tabel penerimaan/pembelia n, isinya kolomnya:
> id produk tgl penerimaan/beli jumlah
> 01 03/02/2007 10
> 01 28/02/2007 18
>
> Tabel pemakaian/pengeluar an, isinya kolomnya:
> id produk tgl pemakaian/keluar jumlah
> 01 06/02/2007 6 (sebelumnya 8, salah tulis)
> 01 24/02/2007 12
> 01 20/03/2007 23
>
>
> Tabel saldo awal produk, isinya kolomnya:
> id produk tgl saldo awal jumlah
> (tabel ini hanya di isi sekali saja untuk untuk setiap produk diawal
sekali, misalnya untuk produk OLI MEDISTRAN saldo awalnya di awal
tahun 2007 berjumlah 100)
>
> 01 01/01/2007 100
>
> Klu untuk mengetahui posisi saldo awal dan akhir pertanggal 24/02/2007
> saldo awal sebelum 24/02/2007 = 100 (saldo awal tahun) + 10
(pembelian 03/02/2007) - 6 (pengeluaran 06/02/2007 ) = 104
>
> Pembelian tgl 24/02/2007 = 0
> Peneluaran tgl 24/02/2007 = 12
>
> Saldo akhir pertanggal tgl 24/02/2007 = 104-12 = 92
>
> Jadi klu ketiga tabel diatas ada dan dilengkapi tanggal, untuk
tanggal berapapun dapat diketahui saldo awal dan akhirnya, sehinnga
dapat digunakan oleh program untuk menghasilkan laporan seperti yang
dibutuhkan.
>
> ----- Original Message ----
> From: dedi_gunawan1711 <dedi_gunawan1711@ ...>
> To: Programmer-VB@ yahoogroups. com
> Sent: Monday, April 30, 2007 10:39:07 AM
> Subject: [Programmer- VB] Buat Saldo Awal dan Akhir
>
> Dear all,
> Saya mo nanya neh, buat master2 vb tolongin dong...
>
> Bagaimana cara membuat saldo awal dan akhir untuk stok yang
> tanggalnya berdasarkan inputan
>
> Outputnya:
>
> Laporan Stock Periode : .......... s/d .........
> Kode :O-001
> Nama :OLI MEDISTRAN
> Satuan:LITER
> ============ ========= ========= =========
> S_Awal IN OUT OTHER S_Akhir
> ============ ========= ========= =========
>
> ------------ --------- --------- ---------
> ...... ..... ..... ..... ........
> ============ ========= ========= =========
>
>
>
>
> ____________ _________ _________ _________ _________ __
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail. yahoo.com
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com