PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : جستجو و ویرایش رکورد مورد نظر



mahvar01
2014/11/24, 18:15
سلام...
چگونه می تونم به صورت استاندارد بعد از یافتن و اصلاح رکورد مورد نظر اون رو در قبلی جای خودش درج کنم.. با تشکر

فایل نمونه: edit (http://s5.picofile.com/file/8153418576/edit.xlsm.html)

Ali Parsaei
2014/11/26, 09:27
سلام،

منظورتان از:
"به صورت استاندارد" چيست؟

فايل درست کار مي کند، منتهي کدهايش جوري نوشته شده که ممکن است مشکل ايجاد کند، فرضا" بعد از اقدام به ويرايش سطر، کد مي آيد و خانه اول سطر را پاک مي کند و براي جايگزيني مقادير اصلاحي دوباره مي آيد و اولين خانه خالي ستون a را پيدا کرده و مقادير را در آن درج مي کند، حال اگر بالاتر از سطر مورد اصلاح يک خانه از ستون a خالي باشد و يا اشتباها" کليد ثبت ويرايش را دوبار کليک کنيد مشکل ايجاد خواهد شد.

آيا منظورتان از "به صورت استاندارد" يک کد ساده تر يا يک مثال ساده و استاندارد است؟

mahvar01
2014/11/26, 13:53
سلام،

منظورتان از:
"به صورت استاندارد" چيست؟

فايل درست کار مي کند، منتهي کدهايش جوري نوشته شده که ممکن است مشکل ايجاد کند، فرضا" بعد از اقدام به ويرايش سطر، کد مي آيد و خانه اول سطر را پاک مي کند و براي جايگزيني مقادير اصلاحي دوباره مي آيد و اولين خانه خالي ستون a را پيدا کرده و مقادير را در آن درج مي کند، حال اگر بالاتر از سطر مورد اصلاح يک خانه از ستون a خالي باشد و يا اشتباها" کليد ثبت ويرايش را دوبار کليک کنيد مشکل ايجاد خواهد شد.

آيا منظورتان از "به صورت استاندارد" يک کد ساده تر يا يک مثال ساده و استاندارد است؟


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

Ali Parsaei
2014/11/27, 09:17
ساختار فايلتان درست است، فقط يک جاهايي اشکال دارد، آنها را اگر تصحيح کنيد مشکل حل مي شود.
وقتي در فرم اول (userform4) مقداري را جستجو مي کنيد، تمام مقادير يافت شده در ليست بکس يک درج مي گردد، در ليست بکس دو مقاديري که درج مي شود به ترتيب شماره سطر مقادير مندرج در ليست بکس يک مي باشند.
وقتي در ليست بکس يک مقداري را انتخاب مي کنيد به صورت اتوماتيک مقادير مربوطه چهار رديف ابتدايي آن را در تکست بکس هاي پايين سمت چپ فرم جداگانه مي نويسد، در تکست بکس شماره شش هم شماره رديف مورد انتخابي (در شيت اکسل) را مي نويسد، وقتي دگمه ويرايش را مي زنيد فرم دوم (userform1) باز مي شود، چهار مورد اولش درست انتقال پيدا مي کند ولي چهار مورد بعدي نه! روبروي "مدل" اشتباها" مقدار تکست بکس شش فرم ابتدايي را مي نويسد که در اصل شماره سطر انتخابي است!!!
البته از همين شماره سطر مي توانيد در دگمه "ثبت ويرايش" در فرم دوم بهره بگيريد.
پس اين طور مي شود که: اولا" بايد کد ها را درست کنيد به صورتي که اطلاعات مورد به مورد درست در فرم دوم جايگزين گردد.
بعد وقتي دگمه "ثبت ويرايش" را مي زنيد بايد کدش را اينطور تعريف کنيد:
کد بايد بيايد و در ستون اول (a) شيت يک خانه اي که شماره سطر آن برابر تکست بکس ششم فرم اول است را انتخاب کند.
بعد در خانه انتخابي مقدار "تکست بکس يک" فرم دوم را جايگزين کند و همچنين بقيه موارد را هم با استفاده از offset در همان سطر جايگزين کند و فرم را ببندد.

mahvar01
2014/11/30, 18:50
ممنون از راهنمایی تون