PDA

View Full Version : backup ( پشتیبان ) از فایل اکسس بدون استفاده از refrence یا دستورات وابسته



hamid-nice
دوشنبه 30 بهمن 1391, 05:56 صبح
سلام
می دونیم که وقتی برنامه نوشته شده را برای استفاده کاربر قفل می کنیم دیگر به صفحات فرم و کد ها دسترسی نداریم از طرفی ترجیحا نمی خواهیم که کاربر نیازمند به تنظیماتی مثل refrence در قسمت vb داشته باشد و.......


من یک فایل ضمیمه گذاشته ام دوستان اگه لطف کنن و کمک کنن که این فایل بک آپ گیری را به وسیله دستوراتی مثل Api (یا هر طوری که نیازی به active X یا dll یا اضافه کردن تنظیماتی در refrence یا دستوراتی مثل :

DoCmd.TransferDatabase acExport یا import اکسس یا مثل ..... Application یا ..... نداشته باشه ) ایجاد

شود


البته دوستان توجه کنند که کدهای دگمه Browse در فایل فوق را نیز تغییر و اصلاح نمایند

با تشکر منتظر جواب سریع عزیزان هستم
با تشکر فراوان

Abbas Amiri
دوشنبه 30 بهمن 1391, 19:09 عصر
سلام
برنامه جامع وکامل بدون بسیاری از موارد ذکر شده محقق نمیشه .
برای این موارد سری به تاپیک ملزومات یک فایل اکسس بزنید
http://barnamenevis.org/showthread.php?334376-%D9%85%D9%84%D8%B2%D9%88%D9%85%D8%A7%D8%AA-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%DA%A9%D8%B3%D8%B3&highlight=%D9%85%D9%84%D8%B2%D9%88%D9%85%D8%A7%D8% AA+%DB%8C%DA%A9+%D9%81%D8%A7%DB%8C%D9%84+%D8%A7%DA %A9%D8%B3%D8%B3

hamid-nice
چهارشنبه 02 اسفند 1391, 10:22 صبح
با تشکر لینکی که گذاشته بودید را دیدم و یک فایل کامل از آنچه گفتید تهیه کردم ولی کار نمی کند

برای این منظور شما در قسمت refrence ،در ماژول تیک های refrence های لازم مثلا برای دستورات ADO را بردارید و چنانچه شما گفتید با قرار دادان فایل مربوطه در فولدر File باید برنامه از این استفاده کند در صور تی که هنگام compile برنامه error میدهد

با تشکر

Abbas Amiri
چهارشنبه 02 اسفند 1391, 18:26 عصر
با تشکر لینکی که گذاشته بودید را دیدم و یک فایل کامل از آنچه گفتید تهیه کردم ولی کار نمی کند

برای این منظور شما در قسمت refrence ،در ماژول تیک های refrence های لازم مثلا برای دستورات ADO را بردارید و چنانچه شما گفتید با قرار دادان فایل مربوطه در فولدر File باید برنامه از این استفاده کند در صور تی که هنگام compile برنامه error میدهد

با تشکر

سلام
شما نباید تیک های هیچکدام ازرفرنسها رو بردارید. فقط باید فایلهای آنها رو در پوشه Files کپی کنید تا چنانچه درمحل جدید وجودنداشت ، ازآنها استفاده شود.
ضمن اینکه اگر در روالهایی که توسط StartUpActions فراخوانی میشود ، از رفرنسهایی استفاده میشود ابتدا FixBrokenRefrences را اجرا کنید . مانند زیر:




Function StartUpActions()
FixBrokenRefrences
DoCmd.ShowToolbar "Ribbon", acToolbarNo
DoCmd.SelectObject acTable, , True
DoCmd.RunCommand acCmdWindowHide
SetOption "Show Status Bar", False
StartUpProps "AppIcon", "Arm3.ico"
End Function

hamid-nice
پنج شنبه 03 اسفند 1391, 12:00 عصر
سلام دوست گرامی
1- منظورتان از محل جدید وجود نداشت چیست ؟ آیا مثلا ما از ریفرنسی در Access 2010 استفاده کرده ایم و برنامه را قفل کرده ایم حال برنامه را روی سیستمی که Access 2003 نصب است و برده ایم و به دلیل قدیمی بودن در این ورژن آن ریفرنس وجود ندارد با روش شما دراینصورت

الف ) تیک ریفرنسی که ما زده ایم حذف نمی شود ؟ یعنی نیاز به فرایند ریجستر کردن در کامپیوتر دیگر ندارد و در ریجستر کردن تفاوت ورژن های قبلی مشکل و نقصی را ایجاد نمی کند ؟ چه کدی برای رجیستر اتوماتیک بون نیاز به کاربر باید نوشت و کجا ؟
ب ) برنامه از ریفرنسی که در فولدر File هست استفاده می کند و بدون مشکل اجرا می شود ؟

ج) اگر ملزومات دیگری در استفاده از Active X های خارجی یا ... مثل OCX. ها هست "مثلا در comman bottom ها باید چه کدی برای فرا خوانی آنها نوشته شود و چگونه باید در برنامه استفاده شود " هم نیاز هست بیان فرمایید تا مطلب به طور کاربردی و کامل شده و مورد استفاده قرار گیرد

د) شما تضمین می کنید که روش شما در هیچ موردی دچار اشکال نمی شود که ما خیالمان راحت باشد که احساس نیاز به دستورات Api به جای استفاده از ریفرنس نداشته باشیم
چون اگر شما ما را قانع کنید که نبازی به نگرانی در استفاده از ریفرنسها یا Axtive X های خارجی مثل OCX. نیست ادامه بحث این تاپیک دیگر لزومی ندارد و کاربران دیگر هم به جای استفاده از API به جای ریفرنس از روش شما می توانند با خیال راحت استفاده کنند که خیلی هم ممنون می شویم

لطفا پاسخ هایتان را به صورت الف ) ب) ..... بنویسید تا ما سردرگم نشویم

با تشکر فراوان

Abbas Amiri
پنج شنبه 03 اسفند 1391, 13:46 عصر
سلام



سوالات مهمی را مطرح کردید که این تاپیک بدون آنها راه بجایی نمیبرد. ودر همین جا از دوستان واساتید تالار دعوت به همکاری میکنم.




بصورت کلی برای قسمت الف ب وج سوال شما میتوان گفت در روال Startup بایستی ابتدا وجود یاعدم وجود رفرنسها در System32 ازطریق خصوصیت Name و FullPath شیء Reference ، پی برد . ودرصورت نبود ، یک کپی ازفایل مذکور به System32 الصاق و سپس دستور رجیستر انجام شود .
وبرای قست (د) هم مسلما نه قضیه به این سادگی نیست که کسی درحد بنده چنین ادعایی بکند.
ضمن اینکه لینک مفید زیر را به دوستان علاقمند توصیه میکنم .


http://allenbrowne.com/ser-38.html

http://www.trigeminal.com/usenet/usenet026.asp?1033

hamid-nice
پنج شنبه 03 اسفند 1391, 21:24 عصر
سلام

با تشکر از پاسختان
1- شما پاسخ را برای حالت startup دادید برای حالت معمولی لطفا مجددا پاسخ ها را ارایه دهید

2- پس دوستانی که هنوز مایل به استفاده از Active X هستند به لینک زیر ، پست 9 مراجعه و با بکار گیری روش آن که در پست 1و2 آن گفته شده می توانند از فایل Add reference استفاده کنند که به طور خودکار Active X را اضافه می کند و تیک مربوطه را می زند

http://barnamenevis.org/showthread.php?334376-%D9%85%D9%84%D8%B2%D9%88%D9%85%D8%A7%D8%AA-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%DA%A9%D8%B3%D8%B3&highlight=%D9%85%D9%84%D8%B2%D9%88%D9%85%D8%A7%D8% AA+%DB%8C%DA%A9+%D9%81%D8%A7%DB%8C%D9%84+%D8%A7%DA %A9%D8%B3%D8%B3

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

فایل ضمیمه شامل سه نمونه است که می تواندکمک کننده باشد ولی چون خودم به دستورات API مسلط نیستم دوستان لطف کنن بررسی کنن که کدامشان مستقل از دستورات اکسس هست و کدام بهتر و امن تر است و اگر مایل بودند آنها را کامل کنند تا به هدف برسیم

جناب Abbas Amiri (http://barnamenevis.org/member.php?189381-Abbas-Amiri) شما نیز لطف کنید و نظرتون را ادامه دهید

درضمن لطفا بفرمایید که هر فایل از چه دستوراتی استفاده شده مثلا : کاملا API یا وابسته به Access یا ....

با تشکر فراوان


با تشکر

abdoreza57
شنبه 05 اسفند 1391, 21:43 عصر
سلام

با تشکر از موضوع خوبی که انتخاب کردید و انتقاد از اینکه چرا این موضوع را تو این تاپیک پیگیری نمودید اون هم با موضوع پشتیبان گیری بدون استفاده از اکتیوکس !!! ضمن اینکه به نظر میرسه تو این تاپیک (http://barnamenevis.org/showthread.php?270547-%D8%B7%D8%B1%D9%8A%D9%82%D9%87-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%81%D8%A7%D9%8A%D9%84%D9%87%D8%A7%D9%8A-dll-%D9%88-ocx-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A7%D9%83%D8%B3%D8%B3) هم میشد موضوع را ادامه داد علی ایحال امیدوارم به کمک اساتید سایت این مهم به نتیجه برسه تجربه ناخوشایندی که تو استفاده از اکتیوکسهای ارزشمند استاد گرامی جناب پیروزمهر برام پیش اومد باعث شد مصرانه این تاپیک را پیگیری کنم ...

استفاده از این اکتیوکسها فوق العاده است علی الخصوص این مبدل تاریخ آخری که سنگ تمام گذاشتند منتها با انتقال برنامه به کامپیوتر مقصد دچار همین اتفاقات ناخواسته میشد راه حل موضوع را البته با برنامه نصاب تونستم حل کنم ولی باز اوایل استفاده کمی درگیری هم مبتدیانی مثل من را ناخرسند میکنه !!!

تو نمونه ای که ضمیمه نموده ام در صورت نبود فایل DLL مربوطه اقدام به صدور پیغام میکنه ولی تو رفرنسها نمیدونم چکار میشه کرد تا جایی که سواد کم من قطع میده برای اتصال اکتیوکس و به رفرنسها تنها راه نصب Dll بوسیله یه برنامه نصاب هست که اون اکتیوکس یا Dll را به مقصد انتقال بده یا به صورت دستی رجستر کنیم

خدا نگهدار

hamid-nice
دوشنبه 07 اسفند 1391, 12:12 عصر
سلام

با تشکر از موضوع خوبی که انتخاب کردید و انتقاد از اینکه چرا این موضوع را تو این تاپیک پیگیری نمودید اون هم با موضوع پشتیبان گیری بدون استفاده از اکتیوکس ...


با تشکر از توجهتون

انتخاب Backup به خاطر اینکه بالاخره باید موضوعی باشد که رفرنس را با آن بکار بریم و اینکه من خودم برنامه ای نوشتم که تو این مساله گیر کرده ام در ضمن تاپیکی که معرفی کردید نحوه استفاده از ریفرنسهاست ما در اینجا می خواهیم خودمان را از ریفرنس ها خلاص کنیم

من فایلتون را بررسی کردم ولی فایل Dll را نذاشته اید و اصلا سوالی دارید و پست 5# مشکلتان را حل نکرده یا نه فقط مثالی زده اید که تایید به ارزش پی گیری این موضوع را برساند ؟

با تشکر