PDA

View Full Version : سوال: راهنمایی در خصوص تکمیل یک ماژول



n_ali27
پنج شنبه 02 آذر 1396, 09:16 صبح
در این ماژول هدف این است در هر فرمی که فراخوانی می شود بعضی از کامندها را غیرفعال کند اما جواب نمیدهد، از دوستان خواهشمند است اشکالات این ماژول را برطرف نمایند
Function Command_Form(N1, N2 As Integer)
On Error Resume Next


Dim i
For i = N1 To N2
Me("Command" & i).Enabled = False
Next

End Function

mazoolagh
یک شنبه 12 آذر 1396, 08:10 صبح
کد در ظاهر مشکلی نداره (از نظر syntax و منطق)
البته کد تمیزی هم نیست!
ولی باید خواسته رو انجام بده
اون خط On Error Resume Next رو غیرفعال کنین تا موقع اجرا بتونین ببینین کجا خطا میگیره : قطعا کنترل رو نمیتونه از روی اسم پیدا کنه


در ضمن،
کدها درون تگ مخصوص خودش بگذارید تا خوانا باشه:
Function Command_Form(N1, N2 As Integer)
On Error Resume Next
Dim i
For i = N1 To N2
Me("Command" & i).Enabled = False
Next
End Function

n_ali27
دوشنبه 13 آذر 1396, 08:05 صبح
خط On Error Resume Next رو غیرفعال کردم همانطور که گفتید نمیتونه کنترل را از روی اسم پیدا کنه

mazoolagh
سه شنبه 14 آذر 1396, 11:15 صبح
خب پس مشخصه که اسم کنترل(ها) رو باید درست کنین تا با کد بخونه یا برعکس کد رو ویرایش کنین تا با اسم کنترل(ها) هماهنگ باشه

n_ali27
پنج شنبه 16 آذر 1396, 10:44 صبح
میشه لطف کنید و ماژول را اصلاح نمائید

amirzazadeh
چهارشنبه 22 آذر 1396, 19:56 عصر
میشه لطف کنید و ماژول را اصلاح نمائید



Sub CleanControl(frm As Form)
Dim ctl As Control

For Each ctl In frm.Controls
With ctl
Select Case .ControlType
Case acComboBox
.Value = ""
.BackColor = vbWhite
Case acTextBox
.Value = ""
.BackColor = vbWhite
End Select
End With
Next ctl
End Sub

كدبالا رو امتحان كنيد.البته كدهاي داخلي رو بايد بسته به نياز خودتون تغيير بديد

n_ali27
یک شنبه 26 آذر 1396, 09:47 صبح
ممنون از راهنمایی تون