PDA

View Full Version : در کجا از For Each استفاده می شود؟



mr_esmaily
چهارشنبه 01 بهمن 1382, 14:14 عصر
سلام
اگه میشه یه خورده در مورد دستور For Each توضیح دهید.
باتشکر قبلی :wink:

کم حوصله
چهارشنبه 01 بهمن 1382, 17:06 عصر
دوست عزیز این دستور زمانی استفاده می شه که مثلا از یک شی در فرمت زیاد باشه و بخواهی روی آن کار بخصوصی بکنی از این تابع استفاده می کنی به جای شمردن


For Each TxT In Me.Text1
Set TxT.DataSource = Daramad_Con
Next

مثلا من در اینجا تمام تکست های فرم را از نوع text1 در نظر گرفتم با استفاده از امکان آرایه سازی اشیا
قبلا هم باید متغییر اصلی را تعریف کنی اینجوری :


Dim TxT As TextBox


شاد و خندان باشی :lol:

mr_esmaily
چهارشنبه 01 بهمن 1382, 17:28 عصر
سلام
باتشکر

من کد زیر رو مینویسم کار میکنه


Private Sub Form_Load()

Dim txt As TextBox
Dim strMsg As String

For Each txt In Me
strMsg = strMsg & txt.Text & vbCrLf
Next

MsgBox strMsg

End Sub

ولی موقعی که یک دگمه به فرم اضافه میکنم خطا میده!

S.Azish
پنج شنبه 02 بهمن 1382, 12:44 عصر
هر جا که نیاز باشه به اعضای یک مجموعه از اشیا دسترسی پیدا کرد میشه از For...Each استفاده کرد.

برای مثای کنترلهای درون فرم یا فیلدهای یک Recordset



Dim fld As Field

For Each fld In Recordset.Fields
Debug.Print fld.Value
Next


مشکلی هم که در بالا هست اینه که مسلمآ یک Command Button خصوصیت Text رو نداره. البته شما میتونید اول نوع شی رو چک کنید



If TypeOf txt Is TextBox Then
Debug.Print txt.Text
End If