Menghentikan Looping dengan tombol ESC (VB 6)

Baca Juga

Suatu ketika saya mendapatkan data pembayaran biaya pendidikan mahasiswa di Fakultas tempat saya bekerja, yang terdiri dari beberapa ratus file MS excel yang saya download dari sistem informasi pembayaran tingkat Universitas, tugas saya adalah membuat report penerimaan/pendapatan Fakultas dari pembayaran biaya pendidikan, padahal data yang saya peroleh adalah data induk yang memuat beribu-ribu data dari seluruh Fakultas. Akhirnya saya putuskan untuk membuat aplikasi sendiri dengan database sendiri. Dengan metode looping dan filter berdasarkan Fakultas akhirnya saya berhasil mempunyai database pembayaran khusus Fakultas, Alhamdulillah.

Tapi bukan itu permasalahannya, Hehehe..

Waktu itu jam di kantor menunjukkan sesaat lagi harus berkemas untuk pulang, padahal proses import data baru saja saya mulai, ahh.. berarti saya telat pulang. Sebenarnya bisa saja saya hentikan prosesnya dengan CTRL+ALT+DEL, atau langsung Turn Off PC-nya, tapi sepertinya langkah itu sedikit Arogan :D

Di lain kesempatan saya putuskan memperbaiki aplikasi tersebut, akhirnya setelah beberapa kali mencari saya mendapatkan inspirasi dan referensi di sini :

Kemudian saya terapkan dalam project VB 6 saya persis seperti yang ada dalam referensi nomor 1 diatas, seperti ini :

Option Explicit 
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Function WasKeyPressed(ByVal plVirtualKey As Long) As Boolean
   If (GetAsyncKeyState(plVirtualKey) And &H8000) Then WasKeyPressed = True 
End Function

Private Sub Command1_Click()
   For i = 1 to MsFlexgrid1.Rows-1
      'masukkan perintah-perintah anda disini 
      If WasKeyPressed(vbKeyEscape) Then Exit For
   Next i
   Label1.Caption = "Exited loop successfully"
End Sub

Dan akhirnya saya bisa menghentikan impor data (proses looping) hanya dengan menekan tombol ESC kapan pun saya inginkan dan pulang tepat waktu :D

ilustrasi menghentikan looping

Selamat mencoba. Semoga bermanfaat. Good Luck ! :p


Untuk Link download yang sudah saya perbaiki dapat dilihat pada halaman DOWNLOAD, walaupun baru sedikit semoga bisa bermanfaat,untuk cara download silakan lihat DI SINI, Terima kasih

4 Tanggapan

mas mau nanya, itu progress bar-nya

agar bergerak pake DoEvents yah mas?

yuph. Tergantung Loopingnya pake apa mas.
form diatas saya nge-load data dari excel dan atau msFlexgrid, karena jumlah row nya sudah diketahui saya menggunakan For ... Next

contoh :

ProgressBar1.Max = MsFlexgrd1.Rows-1
ProgressBar1.Value = 0
For i = 1 to MSFlexgrid1.Rows - 1

ProgressBar1.Value = i
' ... dst

Next i


Formulir Kontak

Nama

Email *

Pesan *

Pengikut