Just sharing ya,
kok bisa lompat ya? yang dimaksud deadlock pada saat apa? pada saat save bersamaan gitu? wah saya belum pernah sampai lompat tuh...
Jadi misal : tabelnya masternumber, disini disimpan nomor untuk surat jalan, nomor untuk invoice, nomor untuk pajak, dll
lalu pada saat kita insert data di tabel suratjalan, sebelumnya kita dapatkan dulu nomor di tabel masternumber field nosuratjalan (misal), lalu nomor itu kita gunakan di tabel suratjalan. Gunakan adLockOptimistic untuk melock tabel masternumber yang sedang kita baca.
kalo memang betul2 mau yakin dapatkan id yang urut, kenapa gak gunakan pakai autonumbernya access saja?
kalo memang betul2 mau yakin dapatkan id yang urut, kenapa gak gunakan pakai autonumbernya access saja?
tks & rgds,
Ade Aan Wirama
Coding for Humanity
wirama.wordpress.com
develop <[EMAIL PROTECTED]> menulis:
cara ini juga sudah pernah saya pakai.
tapi hasilnya, akan ada nomor yang lompat.
jadi misalnya contoh penomoran seperti ini :
A001
A002
A003
kalau gunakan cara ini,maka hasilnya bisa seperti ini
:
A001
A003
A004
A002 nya akan kosong, karena faktor deadlock yang
menyebabkan penomoran di tambah +1.
:(
ayo donk....... senior2 yang laen...kita basmi trouble
di Ms.Access.....
:)
--- Ade Aan Wirama <[EMAIL PROTECTED]co.id > wrote:
> pengalaman saya sih, saya bikin tabel khusus untuk
> menyimpan nomor yang selalu bertambah otomatis,
> setiap saya insert (pake stored procedure) saya
> tambahkan dengan angka 1, dan saya juga ada trapping
> errornya. Kalau ada error maksudnya duplicate
> number, saya loop lagi pengambilan nomor tersebut
> sampai tidak ada error.
>
> CMIIW
>
> Tks & Rgds,
> Ade Aan Wirama
> J-DEVELOPMENT (as partner of Yayasan Jaring
> Kemanusiaan Nusantara)
> Coding for Humanity
>
> develop <[EMAIL PROTECTED]com > menulis:
> iya mas sukisno, point nomor 3 itu memang
> menjadi
> kendala utama saya.
>
> tapi namanya program kan seharusnya tidak boleh
> jaringan harus ok saja kan? kalau jaringanya lagi
> lemot, bisa kacau semua datanya. makanya saya mau
> hindarkan hal itu..
>
> mas Ferrr_xls, saya sudah coba akalin pake cara mas,
> cuman hasilnya tetap saja masih bisa double.
>
> adakah sintax dari VB untuk ngelock table, pada saat
> table sedang di read.
>
> jadi mungkin logik nya seperti ini :
>
> Pada saat user A save data :
> prosedur :
> 1. Lock table
> 2. ambil maximum
> 3. insert data
> 4. Unlock table
>
> nah untuk point 1 & 4, caranya saya tidak tau. ada
> temen2 yang tau caranya?
>
> dan ada 1 lagi, bagaimana caranya membaca, query
> yang
> kita kirim ke database access untuk di execute,
> sudah
> sukses di jalankan (datanya sudah ke update).
>
> soalnya access itu kalo di VB sudah selesai proses,
> sama accessnya masih lemot. jadi kalau ada batch
> proses, bisa kacau hasilnya.
>
> thx. atas masukan dari temen2...saya tunggu
> tanggapan-nya.
>
> --- sukisno <[EMAIL PROTECTED]com > wrote:
>
> > Mass dulu saya pernah alami heheh itu bisa banyak
> > hall tuhh hemm cth :
> > 1.saat penomoran ( transaksi menggambil nonya )
> itu
> > kapan ??
> > 2. udah coba penomoran di bentuk pada saat insert
> ?
> > 3. apakah ada masalah di jaringan ( jaringan lemot
> )
> > jadi saat saving dan ngambil no agak delay
> komputer
> > yang lainya gakk punya delay jadi bisa bareng
> > 4. dll
> > NO 2 tuhh penting karna itu jadi kemungkinana no
> > sama kecil or pake table juga bolehh.
> >
> > T'rims
> > Sukisno
> > ----- Original Message -----
> > From: Ferrr_xls
> > To: Programmer-VB@yahoogroups. com
> > Sent: Wednesday, August 16, 2006 9:24 AM
> > Subject: RE: [Programmer-VB] Save di Database
> > Access secara bersamaan
> >
> >
> > Memang kalu kita buka database dalam bersamaan
> > maka penomoran akan mencari
> > data terakhir yang ada. Pada setiap client yang
> > buka !
> > Kalau dahulu sy pernah kejadian yang seperti ini ?
> > Maka pada saat proses save maka penomoran yang
> > dibuka akan menjadi satu
> > kedalam data yang sama ?
> > Maka saya membuat satu table penampungan
> > (generatorPK) untuk penomoran dari
> > setiap table yang mengunakan penomoran !
> > Jadi ketika pada proses add maka Tbl generatorPK
> > akan menampung nomor
> > terakhir yang akan dibuat yang mau dipakai !
> > sebelum proses save dilakukan ?
> >
> > Private Sub GeneratePK()
> > PK = getIndex("tbl_AR_Customer" )
> > TxtEntry(0).Text = GenerateID(PK, "CUS-", "00000")
> > End Sub
> >
> > Public Function getIndex(ByVal srcTable As String)
> > As Long
> > On Error GoTo err
> > Dim rs As New Recordset
> > Dim RI As Long
> >
> > rs.CursorLocation = adUseClient
> > rs.Open "SELECT * FROM TBL_GENERATOR WHERE
> > TableName = '" & srcTable &
> > "'", CN, adOpenStatic, adLockOptimistic
> >
> > RI = rs.Fields("NextNo")
> > rs.Fields("NextNo") = RI + 1
> > rs.Update
> >
> > getIndex = RI
> >
> > srcTable = ""
> > RI = 0
> > Set rs = Nothing
> > Exit Function
> > err:
> > ''Error when incounter a null value
> > If err.Number = 94 Then getIndex = 1: Resume Next
> > End Function
> >
> > Contoh yang saya buat !
> >
> > Table generatorPK
> > Tablename : Text
> > Nextno : float
> >
> > TableName NextNo
> > tbl_AP_StockRcv 43
> > tbl_AP_StockRcvDetails 20
> > tbl_AP_Supplier 4
> > tbl_AR_Customer 4
> > tbl_AR_Invoice 182
> > tbl_AR_InvoiceDetails 83
> > tbl_AR_InvoicePH 23
> > tbl_AR_PaymentHistory 58
> > tbl_AR_PDCManager 26
> > tbl_AR_Salesman 4
> > tbl_IC_Category 9
> > tbl_IC_Products 19
> > tbl_SM_BankList 5
> > tbl_SM_UnitOfMeasure 6
> > tbl_SM_Users 3
> >
> > maaf kalau ada kata2 yang salah semoga membantu ?
> >
> > -----Original Message-----
> > From: Programmer-VB@yahoogroups. com
> > [mailto:Programmer-VB@yahoogroups. ]com
> > On Behalf Of develop
> > Sent: 14 Agustus 2006 14:40
> > To: Programmer-VB@yahoogroups. com
> > Subject: [Programmer-VB] Save di Database Access
> > secara bersamaan
> >
> > temen2,
> > ada yang tau gak?
> >
> > saya ada buat program dengan menggunakan VB +
> > database
> > Access 2000, untuk program multiuser.
> >
> > tapi kalau di save secara bersamaan, penomorannya
> > itu
> > akan double. Ada yang tau gak? untuk proses
> > antrian-nya,supaya yang pertama kali masuk yang
> > proses
> > deluan...sehingga tidak double nomornya.
> >
> > yang sekarang saya buat, kalau ada 3 user yang
> > save
> > bersamaan.
> >
> > USER 1 : N0001
> > USER 2 : N0001
> > USER 3 : N0001
> >
> > yang saya mau, walaupun di save bersamaan, nomor
> > yang
> > di dapat :
> > USER 1 : N0001
> > USER 2 : N0002
> > USER 3 : N0003
> >
> > Thx.
> >
> > _____________________ _________ _________ _________ __
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam
> > protection around
>
=== message truncated ===
_____________________ _________ _________ _________ __
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Apakah Anda Yahoo!?
Kunjungi halaman depan Yahoo! Indonesia yang baru! __._,_.___
Wahana Programmer Groups Links
<*> Untuk mengunjungi sponsor milis ini, klik link berikut:
http://wahanaprogrammer.net
<*> Untuk menghubungi owner milis ini, kirim email ke:
[EMAIL PROTECTED]
<*> Konsultasi pemrogramman bisa chat disini:
Yahoo! Messenger: wahanaprogrammer
SPONSORED LINKS
| Indonesia phone card | Programmer | Indonesia tour |
| Indonesia travel | Indonesia flower |
YAHOO! GROUPS LINKS
- Visit your group "Programmer-VB" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
__,_._,___
