Problem "File Must Be Opened Exclusively" in Visual Foxpro 9

Problem "File Must Be Opened Exclusively" in Visual Foxpro 9
Author By Distiwan


Assalamu Alaikum Wr Wb....

Met pagi teman2, salam hangat buat para penggemar Foxpro expecially My Student yang mau gak mau mesti otak-atik foxpro karena dapet tugas buat program dengan foxpro hehe... But biar pada semangat belajar biasanya mesti kudu ada tugas dulu...Keep Positive Thinking Guys...

OK kemarin coba-coba gunain dua tabel dalam programatical di visual foxpro 9. Pas mau perintah hapus (mau menghapus record dari tabel), secara programatical kita bisa menggunakan perintah delete dan pack. But saat pake perintah Pack masalah di atas muncul.

Sebelum saya bahas pemecahan masalahnya, ada baiknya kita sedikit mengenal tentang perintah Delete dan PAck itu sendiri. Kenapa kita harus menggunakan perintah Pack, padahal udah ada Delete ? Jadi ternyata perintah Delete pada Visual Foxpro hanya berfungsi untuk mengarahkan kursor pada record yang ingin dihapus, secara singkatnya saat kita hendak menghapus sebuah record kita mesti menandai dulu record yang hendak dihapus, nah itu fungsi perintah Delete. 

Jadi ketika perintah ini dijalankan secara logika data atau record tersebut sudah terhapus, tapi secara fisik data tersebut masih terdapat dalam database. Nah disinilah fungsi dari perintah Pack, dimana data yang telah ditandai tadi oleh si Delete akan dihapus secara fisik dari tabel dengan perintah Pack ini teman2...

OK tentang delete and pack saya rasa cukup, sekarang kita masuk ke masalah di atas. Masalah di atas terjadi karena ada kaitannya dengan perintah Pack tadi , saat kita menggunakan perintah Pack kita harus membuat agar file yang mengandung perintah pack td dibuat exclusive, kita bisa menambahkan perintah "Set Exclusive Off" sebelum perintah "Select table...." and masalah solved...

Oh ya satu lagi masalah yang muncul akibat perintah Pack ini, terutama ketika kita menggunakan Grid dalam penampilan datanya, kurang lebih gambarnya seperti berikut sebelum datanya dihapus, si Grid masih terlihat dengan datanya, 


Misalnya jika kita mau menghapus data dengan NIM=909090, akan didapatkan hasil kosong pada Grid berikut :

Jadi ternyata sebelum perintah Pack dijalankan akan dijalankan perintah thisform.Grid.RecordSource="" jadi secara otomatis si Grid tidak mengenali source dari tabel yang di akses oleh si Grid. Sehingga untuk menanganinya cukup menentukan source dari tabel yang ingin diakses .

Misal jika kita mau mengakses tabel bernama mhs, maka cukup menambahkan perintah setelah perintah Pack yaitu thisform.Grid.RecordSource="mhs"

OK itu sekilas masalah yang saya temui kemarin, dan sedikit pemecahannya. Smoga bermanfaat , Wassalam

Komentar

Postingan populer dari blog ini

Mengenal JTextField, JLabel dan JButton

Menggunakan Komponen JLabel Untuk Membuat Background JFrame

Cara Berhenti Berlangganan Email Pemberitahuan FaceBook