cara yang saya jalankan adalah model posting.
proses penjualan yang kami bangun intinya mengikuti bisnis seperti 
ini: order -> pick (and post) -> invoice -> settlement
mulanya sales mempersiapkan barang yang sudah deal dijual dengan 
membuka order, lalu memberikannya kepada pihak gudang untuk 
dipersiapkan pick list. Barang yang tersedia masuk ke dalam daftar 
pick list, dokumen inilah yang akan melalui proses posting untuk 
mengurangi on hand di gudang.
Sekali post sudah di jalankan, dokumen pick list sudah dikunci tidak 
bisa lagi diubah/edit, demikian juga dokumen sales ordernya sudah 
tidak boleh diedit, agar informasi antara pick list dan order tetap 
sinkron. jangan sampai order 3 di pick 3, lalu dikemudian hari order 
diedit jadi 2, gudang kehilangan 1 barang dong.
jadi barang tidak langsung berkurang dari hasil penjualan, tetapi ada 
proses pengambilan barang di gudang, itulah yang mengontrol stok 
inventori.
Mengenai hutang, itu masuk dalam modul keuangan, a/r customer akan 
terbit saat invoice sudah dibuat. penyelesaian a/r selanjutnya bisa 
berupa jurnal gl.

Untuk saat ini, anda mungkin masih konsentrasi pada jumlah quantity 
barang di persediaan anda, tetapi sejalan dengan waktu, akan ada 
masanya untuk menentukan total harga persediaan anda. Jika sudah 
sampai ke sana, anda bisa buka-buka files milis ini mencari contoh 
aplikasi FIFO karya member kita wahyudi, dimana stock valuation 
inventory dihitung menurut metode First In First Out, barang yang 
tinggal di gudang adalah barang dengan harga pembelian terakhir 
(kolektif).

Baiklah untuk kasus anda sekarang, penyelesaian saya kemarin kurang 
benar, itu berlaku hanya untuk penambahan item baru dalam detail 
penjualan, bukannya mengedit data penjualan. Kalau untuk proses 
pengeditan, seharusnya langkah yang diambil:
- menyimpan nilai qty semula dlm satu temp. variable 
  di event before update form.
- melakukan update pada tabel barang:
  stok = stok + tempQty - qty
  qty semula (tempQty) dikembalikan dulu dalam inventory, 
  barulah dikurangi dengan qty hasil editan.
  proses ini dilakukan di event after update form.

Pertanyaan anda terakhir, semua fitur dalam access digunakan sesuai 
dengan kondisi bisnis proses. Tidak selamanya berlaku satu fitur 
selalu lebih efisien dari fitur yang lain, itu semua kembali pada 
pandai2nya anda menggabungkannya menjadi aplikasi yang mumpuni.

Aksan Kurdin


--- In [email protected], "Usep Junaedi" <[EMAIL PROTECTED]> 
wrote:
>
> aduh...maaf kalau memang kurang baik dalam deskripsi nya, jadi saya 
ulangi dan tambahkan saja gambarannya...
> 
> 1. tabel yang tersedia...
> barang :
> kdbarang
> nmbarang
> stock
> 
> pelanggan :
> kdpelanggan
> nmpelanggan
> jumlahutang
> 
> headjual :
> nofaktur
> tglfaktur
> kdpelanggan
> 
> detailjual :
> nofaktur
> kdbarang
> qty
> hargajual
> 
> 2. saya ingin update setiap kali transaksi penjualan mengurangi 
stock dari barang sesuai dengan nofaktur, misal :
>     no faktur : 1345/VIII/07
>     tgl             : 23 agustus 2007
>     pelanggan : aa
> 
> qty     nama barang     harga  jumlah
> 2        aabb                   1000    2000
> 1        bbcc                    500      500
> 5        ddaa                    200      1000
>                               total              3500
> 
> nah data qty ini mengurangi stock yang ada di barang dan total jual 
ini nambahin utang pelanggan...dengan metode query update stock=stock-
qty dengan krteria detailjual.kdbarang=barang.kdbarang, dengan ini 
saya sudah bisa update hanya saja nanti pada saat ada penambahan 
faktur query update yang diajalankan akan menghitung semua record 
yang ada dalam detail untuk di update pada table barang...padahal 
yang ingin dicapai adalah update stock sesuai dengan transaksi (no 
faktur itu sahaja).
> 
> kalau di cerna dari pernyataan mas aksan, saya sepertinya harus 
menambah table lagi untuk mengakomodasi persediaan dan utang yang 
terjadi karena transaksi yang dilakukan? karena utang ini kan juga 
harus di kurangi dengan pembayaran yang dilakukan oleh para 
pelanggan, bukan begitu mas?dengan vba script atau dengan metode 
query update lebih efisien mana? terima kasih loh atas 
pencerahannya...
> 
> 
> cepjuns - Usep Junaedi
> ===================
>         
>   ----- Original Message ----- 
>   From: M. Aksan Kurdin 
>   To: [email protected] 
>   Sent: Wednesday, August 22, 2007 5:15 PM
>   Subject: [belajar-access] Re: query update
> 
> 
>   Informasi yang anda berikan tidak lengkap, sehingga mencernanya 
butuh 
>   extra mikir dan meraba-raba.
>   Beberapa teknik untuk memperoleh saldo akhir suatu inventory bisa 
>   dengan cara menyimpan posisi akhir dalam satu tabel. Untuk kasus 
>   anda, tampaknya anda gabung informasi saldo dalam tabel master 
>   barang. Pada beberapa kasus, dan mungkin bisa jadi tempat anda 
juga 
>   akan menghadapinya suatu saat, dimana selain saldo akhir, tetapi 
juga 
>   informasi lokasi benda itu di simpan dalam gudang, kabinet, dan 
rak 
>   no sekian, sehingga bisa jadi satu barang ada di lokasi 
katakanlah 
>   seperti 5 biji di rak A1B1 dan 6 biji di rak A1B2 (bin-nya 
>   berdempetan). Ini tidak mungkin lagi di simpan dalam tabel 
master, 
>   tetapi butuh tabel sendiri yang berisi kodebarang, lokasi, dan 
jumlah.
> 
>   Ada juga yang melakukan penarikan saldo akhir melalui perhitungan 
>   keluar masuk dari awal hingga akhir transaksi melalui suatu 
query, 
>   jadi nilai saldo akhir tidak di simpan dalam tabel tertentu, 
>   melainkan diperoleh dari 'query', kendalanya adalah waktu yang 
>   diperlukan mengambil saldo akhir menjadi semakin lama seiring 
dengan 
>   semakin membengkaknya data transaksi.
> 
>   Yang tidak bisa saya cerna dalam pertanyaan anda adalah hubungan 
>   update saldo akhir barang yang disesuaikan dengan nomor 
penjualan. 
>   Dimana hubungannya ?
>   kalau tidak pake nomor penjualan, anda bisa menaruh kode yang 
>   menjalankan query update anda di event after update dari form 
detail.
>   Lebih mudah lagi, adalah dengan sedikit script vba seperti:
> 
>   currentproject.connection.execute "UPDATE MASTERBARANG SET Saldo 
= 
>   Saldo - " & me.txtQty " WHERE KodeBarang = '" & Me.txtKodeBarang 
& "'"
> 
>   Aksan Kurdin
> 
>   --- In [email protected], "Usep Junaedi" <cepjuns@> 
>   wrote:
>   >
>   > selamat siang bapak bapak...
>   > ada yang perlu ditanya nih mengenai query update : saya ada 
form 
>   master-detail
>   > gimana caranya agar update nya sesuai dengan kriteria form 
master. 
>   misal
>   > form penjualan : ada header dan detail barang yang dijual, 
gimana 
>   cara update qty yang terjual mengurangi stock yang ada dalam 
table 
>   barang dengan menggunakan query update dan sesuai dengan nomor 
>   penjualan???atau ada cara lebih singkat/efisien??
>   > 
>   > terima kasih banyak buat pencerahaannya....dan yang sebelumnya 
>   juga...
>   > 
>   > cepjuns - Usep Junaedi
>   > ===================
>   >
>


Kirim email ke