PDA

View Full Version : اجراي كد از SUBFORM



Younestalebi
شنبه 09 اردیبهشت 1391, 12:21 عصر
سلام دوستان
چطور يه كد كه درون فرم اصلي وجود داره رو ميشه از درون سابفرم اجرا نمود
با تشكر

mazoolagh
شنبه 09 اردیبهشت 1391, 12:49 عصر
بطور کلی هر کد public از هر جای پروژه قابل دسترسی هست

Younestalebi
شنبه 09 اردیبهشت 1391, 12:56 عصر
بطور کلی هر کد public از هر جای پروژه قابل دسترسی هست

كد مورد نظر Publicنيست بلكه يه قطعه كده كه يه كارهايي روي فرم اصلي انجام ميده من مي خوام وقتي روي ساب فرم كاري انجام ميشه اون (كدها كه در فرم اصلي هستند) اجرا بشن

mazoolagh
شنبه 09 اردیبهشت 1391, 13:00 عصر
پابلیک بودن شرط لازم هست ولی کافی نیست

Younestalebi
شنبه 09 اردیبهشت 1391, 13:09 عصر
بذاريد بهتر بگم دستوراتي كه توي فرم اصلي با فشردن يه دكمه توي همون فرم اجرا ميشن مي خوام وقتي توي سابفرمي كه توي همون فرم هست مي خوام اجرا بشن

Abbas Amiri
شنبه 09 اردیبهشت 1391, 18:53 عصر
پابلیک بودن شرط لازم هست ولی کافی نیست
برای اینکار شما یک روال ویا تابع بصورت Public درفرم ایجاد و ودستورات داخل باتن را به آن انتقال و ازباتن آن را صدابزنید . هنگامی که از فرم دیگری آنرا صدا میزنید قبل نام تابع نام فرم و دات را تایپ وسپس نام تابع را بنویسید.
frmThatForm.FuntionName

Younestalebi
شنبه 09 اردیبهشت 1391, 23:39 عصر
با تشکر از دوستان
چطور باید این کد رو ایجاد کنم من می خوام تمام تکست باکسهای فرم بوسیله این کد فعال یا غیر فعال بشن و دو باتن که در همه فرمهام مشترکن

Abbas Amiri
شنبه 09 اردیبهشت 1391, 23:53 عصر
به این ترتیب بهتره تابع رو دریک ماژول ابسازید و فرم مورد نظر را به عنوان آرگومان به تابع ارسال کنید و در تابع ، عملیات موردنظر بر روی فرم ارسالی را انجام دهید

Younestalebi
یک شنبه 10 اردیبهشت 1391, 00:00 صبح
به این ترتیب بهتره تابع رو دریک ماژول ابسازید و فرم مورد نظر را به عنوان آرگومان به تابع ارسال کنید و در تابع ، عملیات موردنظر بر روی فرم ارسالی را انجام دهید

لطفاً اگه میتونید توی نوشتن کد مورد نظر کمک نمائید
در ضمن آیا امکان داره یه کار خاص روی تمام تکست باکسها انجام بشه

Abbas Amiri
یک شنبه 10 اردیبهشت 1391, 00:03 صبح
فرم مربوطه را آپلودکنید تا در صورت امکان راهنمایی شوید

Younestalebi
دوشنبه 11 اردیبهشت 1391, 16:21 عصر
نمونه فایل

Abbas Amiri
دوشنبه 11 اردیبهشت 1391, 18:29 عصر
تابع زیر را دریک ماژول کپی کنید. اگر فقط تمام تکست باکس ها را میخواهید دستکاری کنید ، دو آرگومان اول تابع را مقدار دهی کنید .
تابع زیر میتواند با توجه به نوع کنترل خصوصیت Enabled انواع دیگر کنترلها راهم باتوجه به آرگومان ورودی تغییر دهد.
همچنین اگر تعداد خاصی از یک نوع کنترل را بخواهید تغییر دهید ، میتوانید به خصوصیت Tag آنها مقدار خاصی بدهید و با مقداردهی به آرگومان strTag فقط آن دسته ازکنترلهایی که دارای آن Tag هستند تغییر خواهندکرد.
نکته دیگر ،اینکه بیشتر دوستانی که برای شما راه حل وجواب میدهند ، انتظار خاصی ندارند اما فشردن یک دکمه تشکر ازشماچیزی کم نمیکند.


' For All Objects
' Example:
' EnableControls Me, True, acComboBox,"Specs"

Sub EnableSomeControls(frm As Form, Enable As Boolean, _
Optional ctlType As AcControlType = acTextBox, Optional strTag As String)
Dim ctl As Control
For Each ctl In frm.Controls
If ctl.ControlType = ctlType Then
If ctl.Tag = strTag Then
ctl.Enabled = Enable
End If
End If
Next
End Sub

Younestalebi
سه شنبه 12 اردیبهشت 1391, 08:29 صبح
آقاي اميري با سلام
لطفاً در صورت امكان روي نمونه انجام دهيد.

Abbas Amiri
سه شنبه 12 اردیبهشت 1391, 18:25 عصر
برای فعال کردن تمام تکست باکس های فرم در روال کلیک باتن موردنظرتان تایپ کنید واگر فرم Form1 را مدنظر دارید بجای Me عبارت Forms!Form1 درج کنید


Private Sub cmdEnableTextBoxes_Click()
EnableControls Me, True
End Sub