ورود

View Full Version : سوال: چگونه باید چند فیلد در فرم را با یک دکمه قفل یا باز کنم



145451159
دوشنبه 03 آذر 1399, 18:18 عصر
چگونه باید چند فیلد در فرم را با یک دکمه قفل یا باز کنم
یعنی در حالت قفل دیگه نشه تغییرش داد.
کد نویسی هم اگه داره بیشتر راهنمایی کنید.
پیشاپیش از جواب هاتون ممنونم:قلب:

145451159
دوشنبه 03 آذر 1399, 18:22 عصر
خیلی سخته؟:افسرده:
یا کد کمی داره؟

padide55
دوشنبه 03 آذر 1399, 19:52 عصر
در رویداد on clock و یا هر رویداد مورد نظر
فیلدهای خودتون رو با این کد غیر فعال کنید
فعال کردن هم به همین روش true کنید



me.fieldname۱.enabled=false
me.fieldname۲.enabled=false

اگر locked استفاده کنید.کلا داخل فیلد هم کلیک نمیشه

145451159
دوشنبه 03 آذر 1399, 20:11 عصر
امتحان کردم نشد

145451159
دوشنبه 03 آذر 1399, 20:13 عصر
()Private Sub Command18_Click
این بالاش رو هایلایت کرد

145451159
دوشنبه 03 آذر 1399, 20:15 عصر
lockچیه؟
روی دکمه باید این کد رو بزنیم؟

145451159
دوشنبه 03 آذر 1399, 20:23 عصر
کد رو باید روی
on clock دکمه بزنم؟

145451159
دوشنبه 03 آذر 1399, 20:26 عصر
کد رو باید روی
on clock

دکمه بزنم؟

145451159
دوشنبه 03 آذر 1399, 20:28 عصر
padide55 (https://barnamenevis.org/member.php?263869-padide55)میشه کمی بیشتر راهنمایی کنید

145451159
دوشنبه 03 آذر 1399, 20:31 عصر
بعد از این که کد رو میدم وقتی روی دکمه می زنم وارد محیط برنامه نویسی می شه دوباره

padide55
دوشنبه 03 آذر 1399, 20:49 عصر
محیط دیزاین فرم .روی دکمه دابل کلیک کنید .
پروپرتی باز میشه .
اونجا در تب events رویدادها
رویداد on click
فلش انتخاب جلو اونو بزنید .
سومین گزینه مربوط به کد نویسی هست .
اونجا این کدها رو وسط کادر اضاف کنید .
فقط اسم فیلد رو باید عوض کنید .

padide55
دوشنبه 03 آذر 1399, 20:53 عصر
در تب other اولین گزینه نام فیلدname هست

152501

که
اون اسم فیلد رو بجای
myfield1 و .. در کد دکمه قرار بدهید.
در event
در on click فلش جلوی ی رو بزنید.

طبق تصویر
152500

سه نقطه رو بزنید و اخرین گزینه

152502

padide55
دوشنبه 03 آذر 1399, 21:02 عصر
کد رو به این صورت میشه




()Private Sub Command18_Clic
me.myfield1.enabled=false
me.otherfield.enabled=false
end sub

padide55
دوشنبه 03 آذر 1399, 21:09 عصر
برای قفل کردن فیلد که دیگه انتخاب نشه
کد میشه
me.myfield1.Locked = True

برای مخفی کردن کامل
Me.myField2.Visible = False

145451159
دوشنبه 03 آذر 1399, 22:01 عصر
این کد رو نمی خواد هیچ تغییری بدم؟

()Private Sub Command18_Clicme.myfield1.enabled=falseme.otherfie ld.enabled=falseend sub

padide55
دوشنبه 03 آذر 1399, 22:03 عصر
چرا دیگه
مگه نمیخوید فیلدهاتون غیر فعال بشه .
از کجا بدونه کدوم فیلد.
این کد نمونه هست .اسم فیلد رو با اسم فیلدهای مورد نظر تعویض کنید.


اسم nameفیلدهاتون رو گفتم از کجا ببینید .
اول برید اسم هر فیلد رو بردارید .
بعد کدنویسی دکمه رو باز کنید .
این کدهارو اونجا وارد کنید .
فقط بجای نام فیلدmyfield
نام فیلدهای خودتون رو
جایگزین کنید .
بجای myfield
مثلا
فیلد firstname مخفی بشه
فیلد lastname مخفی بشه
فیلد tell مخفی بشه

اگه کد ندین که نمیدونه چکار کنه .
علم غیب داره ؟؟؟

145451159
دوشنبه 03 آذر 1399, 22:08 عصر
می خوام دو تا فیلد رو با نام های sho_S و tar رو برام غیر فعال کنه کدش چطوری میشه؟

145451159
دوشنبه 03 آذر 1399, 22:17 عصر
ارور میده میشه شما یک نمونه در اکسس درست کنید برام بفرستید
ببخشیدها به زحمت افتادید:خجالت:

padide55
دوشنبه 03 آذر 1399, 22:21 عصر
روی دکمه دابل کلیک کنید
در تب event
در رویداد on click
در رویداد کلیک دکمه
سه نقطه جلوش رو بزنید و کد رو بصورت زیر وارد کنید

()Private Sub Command18_Click
me.sho_S.enabled=false
me.tar.enabled=false
end sub

145451159
دوشنبه 03 آذر 1399, 22:24 عصر
قفل شد حالا باز نمی شه

145451159
دوشنبه 03 آذر 1399, 22:25 عصر
چکار کنم باز شه

145451159
دوشنبه 03 آذر 1399, 22:30 عصر
trueکردن چطوری است؟

padide55
دوشنبه 03 آذر 1399, 22:34 عصر
همون کدها
false رو
عوض کنید
بجاش true
با یک دکمه دیگه

اگر با همین دکمه میخواید دوباره برگرده



()Private Sub Command18_Click
'--------first field----
if me.sho_S.enabled=true
then
me.sho_S.enabled=false
else
me.sho_S.enabled=true
endif
'--------second field----'
if me.tar.enabled=true
then
me.tar.enabled=false
else
me.tar.enabled=true
endif

end sub

کد شرط رو برای هر فیلد به این روش

اگر فیلد اول فعال باشد if
پسthen
فیلد اول غیرفعال بشود
اگر نهelse
فیلد اول فعال بشود
پایان شرطendif


اون خط چین و متن داخلش رو اگر خطا داد پاک کنید .

145451159
دوشنبه 03 آذر 1399, 22:52 عصر
میشه کاری کرد در حالت عادی غیر فعال باشه؟
این برام خیلی مهمه

145451159
دوشنبه 03 آذر 1399, 22:59 عصر
خطا نداد ممنون

145451159
دوشنبه 03 آذر 1399, 23:03 عصر
؟؟؟؟؟؟؟؟؟؟

padide55
دوشنبه 03 آذر 1399, 23:07 عصر
میشه کاری کرد در حالت عادی غیر فعال باشه؟
این برام خیلی مهمه
دو راه داره
یکی در تب data
هر فیلد یک سری تنظیمات داره
152503

اون پایین بگردید پیدا میکنید
enable
غیر فعال کنید هر فیلد رو

راه دوم با کد نویسی در هنگام بازشدن فرم

در رویداد on open فرم
فقط کد بسته شدن رو بگذارید که غیر فعال بشه .هنگام باز شدن فرم .
این کد دقیقا میره تنظیمات رو تغییر میده ولی موقت هست .
تنظیمات اولیه همیشه پابرجاست مگر اینکه با کد تغییرش بدین و یا دستی تغییرش بدین .

روش اول بدون کد هست و بهتره

145451159
دوشنبه 03 آذر 1399, 23:12 عصر
میشه عکس روش اول رو بفرستید

padide55
دوشنبه 03 آذر 1399, 23:16 عصر
بعد باید اگر مثلا یک فیلد که پر شد میخواید بعدش این فیلدها باز بشه
در رویداد
after update
فیلد اولی
کد فعال کردن رو بگذارید .

در اون صورت وقتی اون فیلد رو تغییر دادین
فیلدهای مورد نظر فعال میشه
بعد در جای دیگه کد بگذارید که بسته بشه .
دیگه دکمه نخواد.

مثال
سه فیلد
نوع مدرک
شرح مدرک
سال مدرک

حالا شرح مدرک غیر فعال باشه از اول و در تنظیمات.

در فیلد نوع مدرک در رویداد after update
کد بنویسید که
شرح مدرک فعال بشه .
بعدش
در رویداد enter
فیلد سال
کد بنویسید که شرح مدرک غیرفعال بشه.

اینجوری
هر وقت اطلاعات نوع مدرک رو تغییر دادین .
شرح مدرک فعال میشه تا مطلب رو وارد میکنید .
بعد بلافاصله وقتی به فیلد سال بروید
فیلد شرح مدرک مجددا با کد غیر فعال میشه

145451159
دوشنبه 03 آذر 1399, 23:24 عصر
ممنون به پاسخم رسیدم
تشکر
ممنون از اطلاعات و وقتی که برای من گذاشتید:قلب:

145451159
دوشنبه 03 آذر 1399, 23:25 عصر
خدا نگهدار

padide55
سه شنبه 04 آذر 1399, 07:36 صبح
خسته نباشید
تقریبا یک اموزش انلاین داشتیم .
نمونه فایل میگذارم که دوستان مشاهده کنند .

آموزش فعال و غیرفعال کردن
آموزش مخفی نمودن فیلدها
آموزش قفل کردن فیلدها بطوریکه تغییری در فیلد نشه داد. ولی بشه کلیک کرد و متنش رو سلکت کرد