چگونگی باز کردن فرم از روی آی دی آن به جای نام فرم
با سلام خدمت کارشناسان عزیز
من می خوام برای تعریف سطوح دسترسی هر کاربر تو جدول Permission بگم کاربر 1 به فرم A دسترسی خواندن داشته باشه.
حالا می خوام اسم فرمها و آیدیشون رو تو یه کومبو باکس بریزم که مدیر سیستم فقط اسم فرم رو ببینه و هنگام تعریف دسترسی ها فرم رو انتخاب کنه کاربر رو هم انتخاب کنه و سطحش رو هم معلوم کنه
از اونجاییکه بارها برام پیش اومده که اسم فرم هامو به هر دلیل عوض کردم لذا نمی تونم رو اسم فرم تکیه کنم. من می خوام از کوئری MsysObjects که هم اسم فرم هام هم آی دی شون رو داره آی دی فرم رو ذخیره کنم تو جدول دسترسی هاو وقتی کاربری اقدام به بازکردن فرمی می کنه اون آیدی ذخیره شده رو به متد بازکردن فرم بفرستم تا بازش کنه. نمیخوام برم دوباره تو کوئری MsysObjects اسم فرم رو در بیارم و دسترسیش رو بررسی کنم.
مخلص کلوم اینکه چطور می تونم یه فرم رو با داشتن آیدیش باز کنم نه با اسمش
پیشاپیش مراتب تشکرم رو از دوستان عرضه می دارم
نقل قول: چگونگی باز کردن فرم از روی آی دی آن به جای نام فرم
سلام
پیشنهاد من اینه که بجای این روشی که فرمودید، از یک روش استاندارد برنامه نویسی استفاده کنید. که این روش همانا استفاده از ثابت ها (Constant) هست. بعنوان مثال فرض میکنیم برنامه شما 2تا فرم داره:
1. فرم ثبت اطلاعات 2. فرم ویرایش اطلاعات
شما میتونید یک ماژول درست کنید بنام mdlConst و نام فرمها و گزارشات رو در اون بصورت ثوابت public تعریف کنید:
Public Const constFormEnter As String = "frmEnter"
Public Const constFormEdit As String = "frmEdit"
بعنوان مثال هر جای برنامه هم که نیاز داشتید فرم frmEnter رو باز کنید بصورت زیر عمل میکنید:
DoCmd.OpenForm constFormEnter, acNormal
حالا هر وقت تصمیم گرفتید نام فرم frmEnter رو مثلا به frmNew تغییر بدید، فقط کافیه برید به ماژول mdlConst و نام ثابت مربوط به این فرم رو به frmNew تغییر بدید. با اینکار همۀ کدهای شما بدرستی کار خواهد کرد...
نقل قول: چگونگی باز کردن فرم از روی آی دی آن به جای نام فرم