Selasa, 29 Desember 2015

Re: [belajar-access] Belajar Recordset

 

Hello Ivan,

Kalau anda hanya menggunakan Access, maka bermain recordset secara VBA itu sudah hebat.
Yang suka coding itu dari programmer yg sdh biasa menggunakan programming scripting lain.
Ketika saya hijrah ke Access, saya butuh waktu sekitar 3 bulan untuk tune-in menggunakan "Access Way", karena sebelumnya pakai bahasa pemrograman.
"Access Way" itu sebutan untuk cara bikin aplikasi yang instan a'la Access, yang di programming tools lain tdk bisa atau sulit.
Tinggal bikin table untuk data, atau link table dari database lain, bikin query dan form secara instan, selesai.
Kita menggunakan VBA hanya kalau terpaksa, dan sedikit saja.
Makanya kalau anda malah pindah ke script, kalau bukan jago banget scripting nya, ya salah jalan :)

Well, tentang link table, ya itu caranya. Tidak masalah dengan linked table, karena itu sudah cara koneksi yang teroptimasi oleh team Microsoft sendiri.
Soal menjadi lambat ketika dipakai ramai-ramai, mungkin dari cara akses datanya.
Ketika sebuah linked table anda buka (open), sebenarnya tidak seluruh record dari table aslinya itu ditarik. Anda perlu go bottom untuk bisa tahu jumlah record yang ada.
Jika linked-table nya belum dibuka atau diakses, ya belum ada traffic data dari source database ke aplikasi Access anda. Jadi, no problem kan?

Bandingkan dengan cara akses anda yang menarik data dengan recordset (DAO atau ADO). Data juga tidak langsung ditarik semua, kecuali anda menuju record terakhir (misal: rs.MoveLast). Perbedaannya mungkin pada waktu access yang membuka table menggunakan interface Datasheet, ada mekanisme macam2 karena banyak fitur dalam datasheet tersebut, sementara pada recordset hanya perlu menampung record data ke dalam memory.
Nah di sini anda justru perlu kuatir. Berapa besar memory yang tersedia untuk menampung data yang anda tarik dengan recordset? Jangan2 nanti malah Access nya jadi sangat berat karena kehabisan memory sehingga memaksa Windows menggunakan lebih banyak swap memory.
kalau mekanisme itu dihandle oleh objek datasheet (atau query), mungkin justru lebih baik karena saya yakin team Access di Microsoft mempunyai algoritma yang lebih baik dalam penanganan memory untuk object yang mereka buat.

hehe.. panjang cerita lah kalau soal ini.

kembali ke aplikasi anda, saya sarankan anda tetap menggunakan linked-table, lalu menarik data menggunakan query. buat query itu optimum, misalnya dengan menarik hanya sedikit data yang diperlukan saja. optimasi query juga banyak cara, terutama selalu pakai ekspresi yang teroptimasi.
jika ekspresi anda dalam mengolah/menarik data sangat rumit, pecah query menjadi beberapa tingkat.
kalau masih berat, buat temporary table untuk menampung hasil query baru dipakai untuk query selanjutnya.. dst.

kalau optimasi di atas masih tidak menolong, periksa jalur koneksi anda (perlu pengetahuan tentang network juga).

kalau mau coba, ganti databasenya menggunakan database server (misal SQL Server, MySQL).

kalau masih belum puas juga,... hehe kami siap membantu :)

Gitu, semoga memberi inspirasi.

Salam Access,
HAER




Haer Talib

RumahAccess Indonesia
Tempatnya Belajar Microsoft Access
Artikel | Forum | Milis | Download | Training | Links | Blog | Event



2015-12-29 15:33 GMT+07:00 ivan deathlover ivan_deathlover@mindless.com [belajar-access] <belajar-access@yahoogroups.com>:


Terima kasih banyak Bang Haer atas perhatiaanya .


telah saya coba membuat aplikasi dan sudah berjalan dengan baik (pada 1 PC) dan sangat membantu pada pekerjaan sehari-hari .
tapi ketika di coba di tempatkan di LAN dan di akses oleh lebih dari 1 user (FE-BE metode Link Table), kecepatannya jadi turun drastis kadang2 bahkan Not Responding , mungkin banyak yang salah.

mohon pencerahannya apakah aplikasi FE-BE metode Link Table di LAN bisa digunakkan untuk lebih dari tiga user disaat bersamaan ?
apa yang harus di perhatikan agar kecepatan aplikasi tidak menurun drastis?


untuk programming saya sama sekali awam, pengetahuan saya 80% dari milis ini dan buku bang Haer , dan hanya MS access tok,
programming lain saya NOL besar ( :-) ), mungkin style programming saya yang terlihat adalah kesalahan logika programming :-D .

 
salam Hangat_ivan


On 12/28/2015 8:03 PM, Haer Talib haertalib@gmail.com [belajar-access] wrote:
 
MS Access itu tools yang memudahkan kita bikin aplikasi.
Kita suka menyebutnya "The Access Way".

Kalau style programming anda tetap saja seperti bahasa pemrograman lainnya, ya selamanya akan tetap susah.

Apa artinya " linkTable yang ngelag apabila untuk multiUser" ?




Haer Talib

RumahAccess Indonesia
Tempatnya Belajar Microsoft Access
Artikel | Forum | Milis | Download | Training | Links | Blog | Event



2015-12-19 17:05 GMT+07:00 ivan deathlover ivan_deathlover@mindless.com [belajar-access] <belajar-access@yahoogroups.com>:
[Attachment(s) from ivan deathlover ivan_deathlover@mindless.com [belajar-access] included below]

Dear Suhu access dan semua anggota milis .

Karena tuntutan pekerjaan saya harus belajar membuat applikasi multi user menggantikan app singleUser yang sudah di jalankan .

 

Dan Mulainya dari metode recordset menggantikan linkTable yang ngelag apabila untuk multiUser.
Ternyata metode recordset itu sulitnya luar biasa yaaa …  :-)

 

Saya coba buat form dengan metode recordset dan temporary table (FE-BE).

*event form load akan mengosongkan table temporary .

*event txtProjectDef_BeforeUpdate akan mengosongkan table temporary .

*-event txtProjectDef_AfterUpdate akan membuka koneksi ke file BE dan menciptakan Recordset.

  -setelah recordset tercipta, hasilnya di update ke file temporary.

  -subform hanya di refresh Karena di bound langsung ke table temporary.  

*event btnRefresh_Click mengosongkan table temporary.

*event btnRefresh_Exit memanggil kembali txtProjectDef_AfterUpdate.

*event form frmProject Unload akan mengosongkan table temporary.

 

Mohon arahannya untuk alur logikanya mungkin ada yang lebih efisien,

serta saran teknik yang penulisan vbanya karena terasa masih banyak yang salah dan perlu di perbaiki .

 

 

  saya lampirkan di bawah conton form dan databaseDummynya.


Terima_Kasih sebelumnya.
salam_ivan :-)



Avast logo

This email has been checked for viruses by Avast antivirus software.
www.avast.com









Avast logo

This email has been checked for viruses by Avast antivirus software.
www.avast.com





__._,_.___

Posted by: Haer Talib <haertalib@gmail.com>
Reply via web post Reply to sender Reply to group Start a New Topic Messages in this topic (4)
SPAM IS PROHIBITED

.

__,_._,___

Tidak ada komentar:

Posting Komentar