در فایل پست قبل ، هنوز در دستورات onclose وابستگی به جدول اصلی وجود داشت در فایل زیر اصلاح صورت گرفته است که به صورت فایل mouse_Ordering-width-Datasheet3.rar در زیر ضمیمه گردیده است
فایل دوم ضمیمه شده :
Finall-mouse_Ordering-width-Datasheet2.rar : در این فایل علاوه بر منظور این تاپیک موارد لازم برای کامل شدن Datasheet ها که در تاپیک زیر به آن پرداخته شده نیز اعمال گردیده است
http://barnamenevis.org/showthread.php?427432-%D8%AD%D8%B0%D9%81-%D8%A7%D9%85%DA%A9%D8%A7%D9%86-%D9%81%DB%8C%D9%84%D8%AA%D8%B1-%D9%88-%D8%B3%D9%88%D8%B1%D8%AA-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%D8%B1-%D9%86%D9%85%D8%A7%DB%8C-Datasheet
نکته مهم : در دستورات sub ها از on error resume next استفاده کرده ام
(درضمن اینکه برای( sub savewidth(tblwidth As String فراموش شده که دوستان خودشان اضافه کنند ) برای اینکه در نمای Datasheet فقط بعضی از انواع کنترلها از بعضی Properties ها مثل columnHidden برخوردارند و بسیاری از انواع کنترلها چنین Properties را ندارند بنابراین هنگام اجرا دچار ارور خواهیم شد
اما اگر نمی خواهید از on error resume next استفاده کنید می توانید دستورات را فقط برای آن کنترل ها بکار برید که برای این منظور می توانید مثلا برای نوع کنترلهای زیر ،از دستورات زیر استفاده نمایید :
If ctl.ControlType = acTextBox _
Or ctl.ControlType = acComboBox _
Or ctl.ControlType = acCheckBox _
Then
یعنی با اینکار دستورات را برای همه نوع کنترل استفاده نکرده اید و تنها برای کنترلهای بکار رفته در فرمتان که دارای Properties هایی که در دستورات استفاده شده بکار می برید لذا دیگر به علت عدم وجود Properties برای کنترلی در فرمتان ، پیغام error دریافت نخواهید کرد
در ضمن اگر دوستان زحمت بکشند و دستورات Sub ها را به صورت Function درآورند بسیار بهتر است زیرا از حجم کد نویسی ها برای استفاده در فرمهای مختلف به شدت کاسته خواهد شد .
موفق باشید.