walaupun anda pakai sql server sebagai backend, tetapi jika access anda melakukan perintah openrecordset, sebenarnya seluruh recordset akan dikirim dulu ke workstation, di load di memori (tentu saja kalau kurang maka di-swap ke hdd), anda lakukan modifikasi tambah, edit, hapus, baru perubahan akan disimpan di back end dalam perintah save.
jika anda menggunakan perintah append query (saved query), data-data yang akan disimpan langsung dikirim ke backend, jadi proses-nya cepet sekali.
begitu pula jika perintah recordset anda ganti dengan perintah sql melalui metode execute dari currentdb, atau runsql dari macro docmd, hasilnya pasti lebih cepat jika dibuka dulu dengan openrecordset.
aksan kurdin
On 10/25/2010 1:58 PM, tri widodo wrote:
Saya sedang mengaplikasikan Access untuk aplikasi penjualan, dengan Access 2003 dan Database SQL 2000 koneksi pakai ODBC. tapi baru baru ini untuk proses simpan sangat lama (sampai 10 detik).
Koding simpannya :
Function SimpanData()
Dim db As Database
Dim rst2 As Recordset
Set db = CurrentDb
Set rst2 = db.OpenRecordset("tbPenjualanFarmasiDetail")
With rst2
.AddNew
........
........
.Update ' Save changes.
.Close
'.Bookmark = rs.LastModified ' Go to new record
End With
End Function
Akhirnya saya coba pakai Append Query, dan dijalankan lewat
Docmd.openquery "Nama_AppendQuery"
ternyata sangat lancar, proses simpan kurang dari 1 detik.
Saat saya cek database record baru sampai 250.000an, yang jadi pertanyaan saya apakah memang penambahan data lewat append Query lebih cepat dibanding lewat yang pertama?
Mohon pengalaman dari rekan-rekan. Terima kasih.
__._,_.___
No comments:
Post a Comment