PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : طراحی کلید آپدیت (رفرش)



mo-aslani
2011/06/27, 13:30
با درود خدمت تمام اساتید و دوستان عزیز

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

mo-aslani
2011/06/28, 10:29
از اساتید و دوستان عزیز خواهشمندم اگر مقدور هست ؛من رو هم از معلوماتشون بهره مند کنن و پاسخی برای سوال من هم ارسال کنن
با تشکر

shamsololama
2011/06/29, 08:08
با درود فراوان

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

mo-aslani
2011/06/29, 11:01
با تشکر از پاسختون
استاد
فرمانی که برای کامندباتون نوشته ام به این صورت هست:
Private Sub CommandButton1_Click()
Application.ActiveWorkbook.SaveAs "\\*.*.*.*\excel\B.xlsm"
End Sub
عملیات بین دو کامپیوتر که با هم شبکه شدن انجام میشه به این صورت که یک کامپیوتر فایل اصلی (فایل A)در اون در حال اجراست و اطلاعات در اون ثبت میشه و با فشردن کامندباتون اطلاعات رو به کامپیوتر دیگه ارسال میکنه(در اصل یک کپی از فایل اصلی رو در کامپیوتر مقصد کپی میکنه (فایل B))
حال اگر هر دو فایل درون هر دو کامپیوتر باز باشد و کامپیوتر حاوی فایل اصلی(A)؛ اطلاعات جدید ثبت کند و با فشردن کامندباتون یک نسخه از اطلاعات جدید رو برای کامپیوتر دوم ارسال و کپی کنه، این اطلاعات جدید تا زمانی که فایل B در کامپیوتر دوم بازباشه برای کاربر کامپیوتر دوم قابل روئت نیست و نیاز هست تا فایل B بسته بشه و مجددا بارگزاری بشه
حال نظر من این هست که یک کامندباتون دیگر طراحی بشه که به جای اینکه فایل B رو بسته و مجددا باز کنیم با فشردن این کلید اطلاعات موجود در فایل "B" آپدیت و رفرش بشه و آخـرین اطلاعات ثبت شده در فایل A بدون بستن فایل B قابل مشاهده باشه
نمیدونم منظورم رو تونستم برسونم یا نه
با این حال منتظر پاسخ های مفید شما اساتید گرانقدر خواهم ماند
با تشکر فراوان

mo-aslani
2011/07/02, 10:29
از اساتید و دوستان انجمن کسی نمیتونه به من کمک کنه و پاسخی برای سوال من داشته باشه؟؟؟
استاد شمس العلما لطفا راهنمایی کنید
ممنون

m_d6712
2011/07/02, 23:24
سلام دوست عزیز!
تا اونجایی که متوجه شدم! شما فایلی دارید که روی شبکه مورد استفاده قرار گرفته است. کاربرانی از آن استفاده می کنند و هر کاربر می تواند تغییراتی روی فایل بدهد. شما می خواهید وقتی فایل یک کاربر فایل را تغییر داد این تغییرات برای همه کاربران دیگر نیز روی فایلهایشان انجام شود.
آیا این عمل امکان پذیر است؟
با هم این مساله را باز می کنیم.
اکثر نرم افزار ها بجز یک سری معدود از آنها این طور عمل می کنند:
ابتدا اطلاعات مربوط به فایل، (حجم مشخصی از اطلاعات فایل) روی RAM کامپیوتر بارگذاری می شود و سپس فایلی که روی RAM ذخیره شده باز می شود. با این حساب وقتی فایل باز باشد فایلی که روی RAM ذخیره شده تغییر نمی کند بلکه فایل اصلی روی HARD تغییر می کند به همین دلیل شما تغییرات را نمی بینید.
اکثر نرم افزار ها به این صورت عمل می نماید. در غیر این صورت شما نمی توانید فایلی که همزمان در حال خوانده شدن است را تغییر دهید و از محلی غیر از محل خوانده شده تغییر دهید.

نابراین از آنجایی که شما هیچ دسترسی به حافظه RAM کامپیوتر های دیگر ندارید لزا تا جایی که من اطلاع دارم روش شما برای این کار غلط است. بهتر بود از ترکیب نرم افزارهای excel و Access برای این منظور استفاده کردید. در این صورت هر کاربر در هر لحظه اطلاعاتی را خواهد دید که کاربر دیگر ذخیره ساخته است.


اگر بدانم دقیقا چه کاری می خواهید انجام دهید شاید راه های بهتری نیز وجود داشته باشد.


موفق باشید.

mo-aslani
2011/07/03, 11:18
با تشکر از شما استاد عزیز
فایل A فایل اصلی هست که کاربر اجازه تغییرات در اون رو دارد و فایل B فقط خواندنی یا Read only است و کاربر فقط می تواند اطلاعات ثبت شده رو مشاهده کنه
حال مشکل من در این هست که هر لحظه فایل A آپدیت میشه و بر روی شبکه ذخیره میشه ولی فایل B که کپی ای از فایل A هست تا زمانی که باز هست اطلاعات آپدیت شده در اون قابل مشاهده نیست و اطلاعات مربوط به زمان قبل از بازکردن فایل B هست و تنها در صورتی میتونم اطلاعات آپدیت شده رو ببینم که فایل B بسته شده و مجددا بارگذاری بشه

m_d6712
2011/07/05, 16:01
اگربخواهید از excel به تنهایی استفاده کنید خیلی کار سخت خواهد بود. تقریبا نشدنی هست چون اگر هم راهی وجود داشته باشد محدودیت شبکه اجازه دسترسی به حافظه RAM یک سیستم دیگر را نخواهد داد. به هر صورت همان طور که گفتم تنها راه باقی مانده برای شما استفاده از access و یا ترکیبی از access و excel هستش که به احتمال زیاد نیاز به تقییرات زیادی روی اطلاعات فایل اصلی شما دارد. استفاده از access خیلی آسان تر از استفاده از excel و access به صورت همزمان است. به هر حال اگر اصرار دارید که حتما در محیط اکسل این برنامه اجرا شود. باید راه دوم را انتخاب کنید.