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
Selamat mencoba. Semoga bermanfaat. Good Luck ! :p
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
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
ok, makasih mas :D
sama-sama mas. :)