Search This Blog

For Each Next - Access - Visual Basic

Statemen For Each...Next mengulang blok statemen untuk setiap object dalam collection atau setiap elemen di dalam array. Visual Basic secara otomatis men-set variabel setiap looping berjalan. Misalnya, procedure berikut menutup semua Form kecuali form yang mengandung procedure yang sedang berjalan.

Sub CloseForms()
For Each frm In Application.Forms
If frm.Caption <> Screen. ActiveForm.Caption Then frm.Close
Next
End Sub

Kode berikut mengulang setiap statemen di dalam array dan men-set setiap nilai dari index variabel I.

Dim TestArray(10) As Integer, I As Variant
For Each I In TestArray
TestArray(I) = I
Next I
Keluar dari loop For Each...Next Sebelum Selesai looping

Anda dapat keluar dari looping For Each...Next menggunakan statemen Exit For. Misalnya, ketika error terjadi, gunakan statemen Exit For pada blok statemen True dari salah satu statemen If...Then...Else atau Select Case yang memeriksa kondisi error. Jika tidak ada error maka statemen If...Then...Else bernilai False dan looping berlanjut sesuai yang diharapkan.

Contoh berikut memeriksa cell pertama dari ranga A1:B5 yang tidak berisi data numeric. Jika ditemukan, pesanditampilkan dan Exit For keluar dari looping.

Sub TestForNumbers()
For Each myObject In MyCollection
If IsNumeric(myObject.Value) = False Then
MsgBox "Object mengandung nilai bukan angka."
Exit For
End If
Next
End Sub

No comments: