Dear Mas Heru, untuk aplikasi multi user, dengan backend database menggunakan Access via jaringan LAN, sementara ini belum ada cara untuk mempercepatnya. Aplikasi multi user disarankan menggunakan SQL Server. SQL Server sangat mengurangi penggunaan lalu lintas data jaringan / network, sebab ia dapat mengirimkan dan mengambil data sesuai yang diinginkan oleh user saja. Sebagai contoh, jika kita hendak mencari suatu data karyawan yang bernama "Sofyan" saja, maka SQL Server akan mengirimkan melalui network, data yang namanya "Sofyan" saja. Sedangkan pada Access, seluruh data karyawan akan dikirimkan dahulu ke PC user melalui network, kemudian baru di pilih yang bernama "Sofyan" di PC usernya. Bisa dibayangkan jika data karyawan kita ada 1,000,000 record, maka akan sangat lama sekali jika menggunakan Access.
Untuk Docmd.OpenQuery VS DoCmd.RunSQL , bila yg dibandingkan kecepatan, maka lebih cepat Docmd.OpenQuery. Sebab Access sudah meng-compile object query saat kita save query tsb. Adapun kode SQL di VBA berada dalam string petik dua, sehingga ketika dijalankan, Access akan mencheck dulu apakah kode SQL tsb error atau tidak, barulah query tersebut dijalankan.
Untuk Hide All Tables, sepertinya ada table system yang ikut terbawa, karena Mas Heru menggunakan perintah For i = 1 To CurrentDb.TableDefs.Count. Coba tambahkan on error resume next bila memang ingin tetap menggunakan perintah tsb.
Function HideAllTables()
on error resume next
For i = 1 To CurrentDb.TableDefs.Count
CurrentDb.TableDefs(CurrentDb.TableDefs(i - 1).Name).Attributes = 2
Next
CurrentDb.TableDefs.Refresh
End Function
Alternatif lainnya, cukup table-table tertentu saja yang di hide.
Wassalaamu'alaikum Warahmatullahi Wabarakatuh,
Sofyan Efendi.
Sofyan Efendi.
----- Original Message -----From: Heru WibowoSent: Tuesday, March 27, 2012 10:34 AMSubject: Re: [belajar-access] Kecepatan Query dan Hidden TablesThank's atas sarannya, sudah saya coba tetapi masih lambat mas.BTW...sudahkan ada yang pernah mencoba bila record sudah banyak, untuk query sbb :Docmd.OpenQuery VS DoCmd.RunSQL lebih cepetan mana yah dalam eksekusinya dan apa plus minusnya ?dan case yang ke-2 (hidden table) gmana yah ?hehehe.... sepertinya para suhu dan master access sedang pada sibuk nieh, udah jarang denger lagi MBA kasir solusi.....heheheheh...note :email sebelumnya tertulis "metode yang sementara dipakai adalah Docmd. Runquery" --> revisi menjadi Docmd.OpenQuerySalam anget dan jabat kenceng,(hehehe...biar MBA bisa ketawa...)....Sory Bang....b'canda....Salam,HerDja
2012/3/27 Hendra Agestha Hamid <the_agestha@yahoo.com>
Ini saya coba copas dari obrolan saya dengan Mas Toni "Covey", barusan kok , mungkin bisa dicoba :Saya juga lebih suka pakai Unbound Form, alasannya sama seperti Kang Adi utarakan, cuma yang biasa saya lakukan untuk
insert / update datanya di "On Click" tombol "Simpan" pakai Coding :
Private Sub cmdSimpan_Click()
Dim dbs As Database
Dim rst As Recordset
'Buka Tabel yang akan diupdate
Set dbs = DBEngine.Workspaces(0).OpenDatabase(LokasiDataMDB & FileMDB)
Set rst = dbs.OpenRecordset(TabelTujuan, dbOpenTable)
rst.AddNew 'Untuk tambah data
<Atau>
rst.Edit 'Untuk Update data
<Update Data ke Record>
rst.Update
rst.close
dbs.close
set dbs = Nothing
set rst = Nothing
End Sub
Dengan cara ini proses jauh lebih cepat, walaupun jaringan lagi lelet.
Semoga bermanfaat.RegardsHendra
From: Heru Wibowo <heru.wibowo4456@gmail.com>
To: Belajar Access <belajar-access@yahoogroups.com>
Sent: Monday, March 26, 2012 10:25 AM
Subject: [belajar-access] Kecepatan Query dan Hidden Tables
Salam sejahtera,Dear para suhu access....mohon bantuan info dan solusi sebagai berikut :Database full access 2010 ( FE dan BE) dengan data baru mencapai 10ribuan record (bekerja dalam jaringan LAN dengan 8 user), case :1. Manipulating data lambat (insert, update, delete record), dengan metode query seperti apakah supaya proses manipulating data dapat berjalan cepat (baca minimal normal) ?metode yang sementara dipakai adalah Docmd. Runquery...2. Ketika database dibuat Hidden table (very hidden) selalu muncul windows konfirmasi "Cannot update. Database or object is read-only", pada waktu open atau exit application, metode hidden tables menggunakan metode :Function HideAllTables()For i = 1 To CurrentDb.TableDefs.CountCurrentDb.TableDefs(CurrentDb.TableDefs(i - 1).Name).Attributes = 2NextCurrentDb.TableDefs.RefreshEnd FunctionSebagai perbandingan, sewaktu menggunakan Ms Access 2003 hal ini tidak dijumpai, apakah ada metode lain u/ hidden table agar tidak dapat diintip di ms Excel selain dengan metode hidden table menggunaan metode diatas ?sebab jika Attributes saya ganti dengan angka 1 windows konfirmasi tidak muncul, tetapi table dapat diintip dengan ms excel.Demikian hal ini disampaikan.Atas solusi dari para master dan suhu diucapkan terima kasih.Salam,HerDja
__._,_.___
SPAM IS PROHIBITED
.
__,_._,___
Tidak ada komentar:
Posting Komentar