PDA

View Full Version : سوال: حذف یک ابجکت و کد مربوطه



MOR_MS
سه شنبه 10 آذر 1388, 10:42 صبح
با سلام
چطوری می توان ابجکتی را که روی یک فرم درست شده و کدی به ان نسبت داده شده را با کلیدی بر روی یک فرم دیگر حذف کرد
مثلاً یک دکمه ای روی فرم 1 که در رویداد ان کلیک و در یک رویداد دیگر ان کدی نوشته شده را با دکمه ای که در فرم 2 قراردارد حذف شود :متفکر:

MOR_MS
پنج شنبه 12 آذر 1388, 10:08 صبح
باسلام
شانس آورد توی دریا نبودم ...
خواهش میکنم دوستان راهنمای کنند من چیزی نتونستم پیدا کنم خیلی واجبه

مهدی قربانی
پنج شنبه 12 آذر 1388, 11:56 صبح
سلام
براي حذف كنترل مي تونيد از دستور زير استفاده كنيد :

DoCmd.OpenForm "FormName", acDesign, , , , acHidden
Application.DeleteControl "FormName", "ControlName"
DoCmd.Close acForm, "FormName", acSaveYes

MOR_MS
پنج شنبه 12 آذر 1388, 19:12 عصر
با سلام
اقای قربانی دست شما درد نکند ولی این کد ، کد مربوط به ان کنترول را پاک نمی کند و در محیط کدنویسی باقی می ماند

smderfan
سه شنبه 17 آذر 1388, 18:01 عصر
سلام
از کد زیر می توانید جهت حذف تمام کدهای مربوط به یک فرم استفاده کنید.


Public Sub sKillModule(frm As String)
DoCmd.OpenForm frm, acDesign
Forms(frm).HasModule = False
DoCmd.Save acForm, frm
DoCmd.Close acForm, frm
Debug.Print " Module in " & frm & " deleted!"
End Sub
Public Sub sKill_Cycle()
Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentProject
Dim frm As Object, mdl As Module
Dim frmOpen As Form
Dim strFrm As String
' Search for AccessObject objects in AllForms collection.
For Each obj In dbs.AllForms
strFrm = obj.Name
If MsgBox("Do You want to delete the module for " & strFrm, vbYesNo, "Confirm") = vbYes Then
sKillModule (strFrm)
Else
Debug.Print "Did not delete " & strFrm & " Module"
End If
Next obj
End Sub

کد فراخوانی :

sKill_Cycle

MOR_MS
سه شنبه 17 آذر 1388, 23:26 عصر
با سلام و خسته نباشید
دست شما درد نکند می شه از شما یک خواهش کنم من می خوام ان ابجکتی که مد نظر خودم هست را با کد مربوطه حذف کنم کد شما فکر کنم جواب کارم باشد ولی وقتی کمی دسکاری می کنم ارور می ده
من دوتا فرم دارم که در فرم اول جند ابجکت دارم و از طریق فرم دوم که یک دکمه بنام m داره می خوام ابجکتی بنام n را در فرم اول با کد مربوطه پاک کنم
فکر کنم من دارم یک جای را اشتباه می رم اگر لطف کنی کمکم کنی ممکنون می شم

MOR_MS
شنبه 21 آذر 1388, 18:51 عصر
با سلام
خواهش می کنم یک نفر کمکم کنه

MOR_MS
یک شنبه 22 آذر 1388, 21:59 عصر
دوستان یه لطفی به من بکنن من در اجرای این کد به مشکل بر خوردم

dadsara
دوشنبه 23 آذر 1388, 10:52 صبح
سلام
دوست عزیزاحیانا منظورت غیر فعال کردن آن کلید در فرم اولی نیست چون عملا با کدهائی که دوستان نوشته اند باید عملیات مورد نظر اجرا شود
اگر امکان دارد قسمتی از برنامه ات که این مشکل را دارد آپلود کن

MOR_MS
دوشنبه 23 آذر 1388, 16:55 عصر
با سلام
من یک نمونه را برای شما ضمیمه کردم و در ان هم توضیح دادم ممنون از اینه کمکم می کنید

dadsara
چهارشنبه 25 آذر 1388, 11:18 صبح
سلام
دوست عزیز نمونه ای که بنده آماده کرده بودم فقط کلید موجود روی فرم را ازبین می برد
نمونه ای که جناب Smderfan ارائه داده اند کلیه کدهای نوشته شده در VBA را حذف می کند که ظاهرا مورد نظر جنابعالی نیست
فرض کنید کد مورد نیاز ، ارائه شود در اینصورت کاربر ازکجا می تواند نام کلید شما بفهمد که آنرا داخل تکست باکس تایپ کند
سوالی که برای بنده پیش آمده این است که علت حذف کلید و کدهای نوشته شده از روی فرم دیگر را می توانید بفرمائید و اینکه این عمل در چه مواقعی کاربرد دارد

MOR_MS
چهارشنبه 25 آذر 1388, 12:04 عصر
با سلام خدمت دوست عزیز
درمورد اسم کلید مورد حذف به طور خودکار وارد می شود مثل تعریف کاربر در ویندوز می باشد من چند کار بر از یک فرم ایجاد می کنم و بعد برای حذف کار بر ایجاد شده به همان فرم تغییرات رجوع می شود که تمام اطلاعات مورد نظر را از هما فرم می گیرد بطور پیشفرض اسم و کدهای مربوطه نوشته شده و تعداد کار بر هم مشخص می باشد که می توان بطور دلخوا کار بر را حذف نمود و یا دوباره ایجاد کرد فقط اسم کار بر که شامل دوقسمت می باشد که یکی بطور پیشفرض و مخفی بوده که همان اسمی است که برای حذف کرده بطور خود کار وارد همان تکس باکس می شود البته من تکس باکس را بخاطر روند کار موقتی گذاشتم که بعد تغییر پیدا می کند بطور خلاصه می خواهم شبیه کاربر ویندوز درست کنم
نمی دانم منظورم را رساندم یانه ولی وقتی این مشکل حل شد این قسمت برنامه را در این سایت برا تکمیل شدن بیشتر می گزارم

nabeel
چهارشنبه 25 آذر 1388, 12:59 عصر
سلام MOR_MS

قصد جواب نداشتم و خيلي قبل تر ميخواستم نظرم رو عرض كنم وليكن به دلايلي عرض نكردم ولي حالا كه... بد نيست مسير تغيير پيدا كنه ( گو اينكه لجاجت ممكنه باعث تغيير مسير نشه ، وليكن در خلوت اين تغيير مسير قطعيه )

قبلاً هم پستي مشابه همين ايجاد كرديد ( فكر كنم توي اون ميخواستيد يه آبجكت ايجاد كنيد )
ببينيد اين مورد هم مثل قبلي كاربردي نيست ، و جالبه كه بدونيد ، مطمئن هستم براي شما هم به مرور غير كاربردي خواهد شد ؟
- شما تا حالا اين كاري كه كردي رو ( تا همين جاش ) ، توي يه فايل MDE تست كرديد ، تست بفرماييد و نتيجه رو اعلام كنيد .
مگه شما فايلهاتون رو در قالب MDB به كاربر نهايي ميديد ، و اگر حتي شما ميديد ، چند درصد كاربرها اين كار رو ميكنن ، كه حالا بخواد اين كد براي اونها كاربردي باشه
زياد سختش نميكنم ، فايل MDB كه بخش ماژولش رمز عبور داره ( نكنه اين بخش رو هم بدون رمز ميديد !؟)

اين از يه بخش موضوع كه گو اينكه مشكل قابل رفع هستش وليكن بخش دوم كه جالبتره

استناد كرديد به ويندوز ، كجاي ويندوز اين كار رو ميكنه كه شما ميخوايد انجام بديد ؟

اگه احياناً با اين روش ميخوايد به يه سيستم كنترل و محدوديت كاربر برسيد بايد يه نكته رو عرض كنم :
روشتون اشتباهه و كاملاً غير متعارف و در ضمن ناكارآمد ( اگر احياناً لازم شد واضحتر براتون توضيح ميدم )
لطفاً مثل اون دفعه نگيد كه در حد توانتون داريد سعي ميكنيد و .... ، با علم به همه اينها و براي اينكه دوست نداشتم بيشتر از اين مسير اشتباه رو بريد ، دخالت كردم وگرنه دير يا زود خودتون متوجه زمان از دست رفتتون ميشيد . و تنها قصد بازدارنده رو دارم و توي اين مسير زمانم رو هم به هدر نميدم چرا كه بنده :
هيچ وقت فايلم رو در فرمت MDB در اختيار كاربر قرار ندادم ، نميدم و نخواهم داد . كاري كه بيش از 99 درصد توسعه دهنده هاي ديگه هم انجام ميدن

خدانگهدار

MOR_MS
چهارشنبه 25 آذر 1388, 14:47 عصر
با سلام اقای نبیل عزیز
واقعیت همین هست که میگین و تشکر می کنم که این همه لطف دارید و سعی در راهنمایی ما دارید
راستش این برنامه فقط مخصوص کار خودم می باشد و اگر وقت می گزارم فقط برای زیبا کردن و کمکی متفاوت و از روی کنجکاوی می باشد و گه گاهی هم وقت خودم را سر این موضوع می گزارم ولی همین کار هایی که انجام می دم من را با محیط اکسس بیشتر اشنا می کند
هر وقت شما جوابم را می دین خیلی خوشحال می شم نمی دانم چرا شاید از رک بودنتان است به هر حال از راهنمایی های شما متشکرم و سعی می کنم بیشتر وقتم را برای کار های کاربردی تر بگزارم چه کنم دست خودم نیست و قتی جواب نمی گیرم بیشتر وقتم هدر می ره

nabeel
چهارشنبه 25 آذر 1388, 15:58 عصر
سلام MOR_MS دوست عزيز

معمولاً خيليها از رك بودن خوشحال نميشن ، ولي خوشحالم كه شما خوشحاليد . ( نمونش رو به زودي خواهيد ديد كه برخي ناراحت ميشن )
آقا ولي جواب سئوالهاي بنده رو نداديد ! ( بعداً جايي ديگه اگه بنده هم همين كار رو كردم ، سئوالي از بنده پرسيديد ، گله نداشته باشيد كه چرا جواب ندادم ؟ به هر حال از قديم گفتن كوه .... و آن چيز كه خوار آيد -- يك روز به كار آيد )
سئوالها : نتيجه تست بر روي فايلهاي MDE و فايلي كه بر روي بخش ماژولهاي اون رمز وجود داره ؟ و آيا شما فايلهاتون رو در قالب MDB به كاربر نهايي تحويل ميديد و يا MDE ؟
منتظر پاسختون هستم ، شايد بنده اشتباه كردم
....................

بنده اصلاً به شما خرده نميگيرم MOR_MS عزيز ، ايراد به مسائل ديگه اي مربوطه كه در حال حاضر جايگاهي براي اعلامش وجود نداره

در مجموع موفق باشيد

MOR_MS
چهارشنبه 25 آذر 1388, 16:58 عصر
سئوالها : نتيجه تست بر روي فايلهاي MDE و فايلي كه بر روي بخش ماژولهاي اون رمز وجود داره ؟ و آيا شما فايلهاتون رو در قالب MDB به كاربر نهايي تحويل ميديد و يا MDE ؟


با سلام آقای نبیل عزیز
تستی صورت نگرفته چون هنوز کاملش نکردم و همش تغییر می دم
بصورت mde تحویل می دهم

موفق باشید

nabeel
چهارشنبه 25 آذر 1388, 17:15 عصر
سلام MOR_MS

ضمن تشكر از پاسختون ( گو اينكه جواب رو نداديد ! )
جهت تست حتماً نياز نيست همه كاراتون تموم شه ، فايل رو تبديل كنيد و نتيجه فعلي رو اعلام بفرماييد . ( البته ديگه نيازي هم نيست )

اين مقاله رو مطالعه كنيد ( توي وبلاگم )

تاريخ نگارش 14 ارديبهشت 1388
اعمال تغيير در فايلهاي MDE بخش دوم
پست شماره 26
بي ارتباط با بخشي از كار شما نيست ( البته به گونه اي ديگه )

موفق باشيد و شايد اندكي مفيد واقع بشه !

دغدغه هاي امروز شما ، دغدغه هاي گذشته امثال بنده بوده ، البته در استفاده كردن از اون جهت فعاليتي ديگه ، پس اندكي براي تجربيات ديگران فرصت فكر كردن قائل بشيم ، بد نيست

موفق باشيد و صلاح كار خويش خسروان دانند

MOR_MS
چهارشنبه 25 آذر 1388, 21:48 عصر
با سلام
نمی دونم می توانم جواب سئوالم را بگیرم یانه

MOR_MS
پنج شنبه 26 آذر 1388, 19:53 عصر
با سلام و خسته نباشید
اگر زحمتی برای دوستان نیست در مورد سئوالی که کرم راهنماییم کنند من به جهنم شاید یک نفر در اینده به این مشکل برخورد کمک بشه برایش و هم اینکه تایپیک جدیدی نوشته نشه :عصبانی++::گریه::گیج::افسرده:: اراحت::اشتباه::متعجب::متعجب:

MOR_MS
دوشنبه 30 آذر 1388, 22:43 عصر
سلام

فرض کنید کد مورد نیاز ، ارائه شود در اینصورت کاربر ازکجا می تواند نام کلید شما بفهمد که آنرا داخل تکست باکس تایپ کند
سوالی که برای بنده پیش آمده این است که علت حذف کلید و کدهای نوشته شده از روی فرم دیگر را می توانید بفرمائید و اینکه این عمل در چه مواقعی کاربرد دارد
با سلم و خسته نباشید
نمی دانم با توضیحاتم توانستم منظورم را برسانم یانه ولی اگر لطف کنید جواب من را بدین فکر کنم هم من به یک نتیجه ای برسم و هم این که این تایپیک برای یک جواب و یا راهنمای اینقدر کش نیاید و فضای زیاد تری را اشغال نکند می شود این همه وقت را برای یادگیری موضوعات دیگر صرف کرد
متشکرم



خدایا به من توان بده تا با همه بدهی ها به همه عشق بورزم

MOR_MS
سه شنبه 08 دی 1388, 13:16 عصر
با سلام
خداوندا به من صبر ایوب بده:ناراحت: