PDA

View Full Version : backup خودکار



dosetddaram
شنبه 20 خرداد 1385, 09:10 صبح
با سلام به همگی 2تا سئوال دارم :
1 :میخواهم فایل دیتا بیس من در دو directoriy دیگر هم ذخیره گردد 2 : به بیان دیگر update backup من با هر تغییر کوچکی (refresh)انجام گیرد


دوستتون دارم...

شاپرک
شنبه 20 خرداد 1385, 09:28 صبح
ببین به دردت میخوره :
http://www.barnamenevis.org/forum/showthread.php?t=47858

moustafa
شنبه 20 خرداد 1385, 15:45 عصر
یک make table query بساز که اطلاعات جدول اصلی را در جدولهای فایل backup درمسیرهای مختلف وارد می کنه
یا یه delete query از جدول بک اپ بساز و یک کوئری الحاقی که اطلاعات جدول اصلی را به جدول پک اپ وارد کنه
حالا با یک ماکرو یا دودستور دو کوئری حذفی و الحاقی پشت سرهم اجرا بشه

dosetddaram
دوشنبه 22 خرداد 1385, 08:45 صبح
سلام شاپرک جون
من در جواب سئوال شما به آدرس http://www.barnamenevis.org/forum/showthread.php?t=47858
در تاپیک چه کنم لطفا؟
مشکلم حل نشد در بعد از اضافه کردن فرم و ماژول به دیتا بیس خودم هنگام اجرای فرم با خطای زیر مواجه میشوم:
user defind type not defind

dosetddaram
دوشنبه 22 خرداد 1385, 09:05 صبح
ممنون مصطفی جون از جوابتون
چون تازه کارم
از گفته های شما سر در نیاوردم
فکر میکنم با جواب شاپرک به خواسته ام خواهم رسید

شاپرک
دوشنبه 22 خرداد 1385, 09:07 صبح
فکرنمیکنم مشکلی داشته باشه.
میشه برنامه رو بذاری ؟

dosetddaram
دوشنبه 22 خرداد 1385, 09:29 صبح
شاپرک جون من فقط فرم1 و module1 را به دیتا بیس خودم paste کرده ام و هیچ تغییر دیگری نداده ام.

شاپرک
دوشنبه 22 خرداد 1385, 10:41 صبح
چون شما Exclusive باز میکنی
Tools>Options>Advansed
Default open mod ==> Shared رو انتخاب کن .

moustafa
دوشنبه 22 خرداد 1385, 15:26 عصر
ممنون مصطفی جون از جوابتون
چون تازه کارم
از گفته های شما سر در نیاوردم
من هم همیشه ساده ترین راه ممکنه را جواب میدهم
تشخیص انتخاب روش بستگی به خود شخص داره
شما یه برنامه داری در درایوی D یه کپی از اون در درایو مثلا F ایجاد بکن بنام bckup
در برنامه اصلی یه کوئری در نمای طراحی تعریف و جدولی را که میخواهی از ان پشتیبان گیری کنی اضافه کن روی *دوبارکلیک کن تا در توری نشان داده شود
از منوی کوئری زیر منوی make table query را انتخاب کن واپشن another databbae
در قسمت file name ادرس فایل را با browser بردار
در tablename اسم همان جدول را انتخاب و ok کن

dosetddaram
سه شنبه 23 خرداد 1385, 08:27 صبح
سلام
شاپرک جون
ببخشید که وقتتون را میگیرم

با انجام کارهایی که گفتی نتیجه ای حاصل نشد(البته وضعیت من از قبل هم در حالت share بود)
برنامه اولیه ای که back up به صورت صحیح انجام میگیرد در زیر آمده است و (دیتا بیس من که در گفتگوی قبلی برات فرستاده بودم )

دوستتون دارم...

dosetddaram
سه شنبه 23 خرداد 1385, 08:36 صبح
سلام مصطفی جون
ببخشید وقتتون را میگیرم

خدمتتان عرض کنم که من نمیخواهم فقط table خاصی پشتیبان گیری شود میخواهم هر تغییری در هر جای دیتا بیس در یک مسیر دیگر نیز اعمال گردد.
راهکار شما را نیز رفتم 1 ساعت روش کار کردم اما روی back up هیچ اثری نمی کرد.

دوستتون دارم ...

شاپرک
سه شنبه 23 خرداد 1385, 08:59 صبح
دوباره ببیین

dosetddaram
سه شنبه 23 خرداد 1385, 09:17 صبح
شاپرک جون
خیلی ممنون
حله

دوستتون دارم ....

karmand
سه شنبه 23 خرداد 1385, 09:53 صبح
در این کد فایلی که ساخته می شود بنام test است که آن را نیز میتوان سئوالی نمود
میدانیم مشکلی که در bakup فایها وجود دارد همنام بودن انها و محلی که باید کپی شود میباشد اگر از قبل محل و نام را مشخص کنیم اشتباه است چون کپی حدید روی کپی قدیم می خورد لذا بهتر است از کاربر محل و آدرس ونام فایل جدید سئوال و یا نام را رندم انتخاب کنیم
در کد ذیل اول نام تیبل را می پرسد و بعد مسیر و نام dbرا
البته نمیدانم چرا کدها از راست نوشته میشود!
مثال برای مسیرc:\access\db1

Private Sub Command3_Click()
Dim makedb As Database
Dim namedir As String
Dim namefile As String
Dim strSQL As String
namefile = InputBox("äÇã ÌÏæá")
namedir = InputBox("ãÓíÑ ÏÇíјÊæÑí æ ÏíÊÇÈíÓ")
namedir = namedir & ".mdb"
Set ap = Application.FileSearch
ap.lookin = namedir
ap.filename = namefile
If ap.Execute = 0 Then
'strsql="SELECT nameshahr.CARD_NO INTO nameshahr IN 'D:\access\db1.mdb' from nameshahr;"
strSQL = "SELECT " & namefile & ".* INTO test IN '" & namedir & "' from " & namefile & ";"
DoCmd.RunSQL strSQL
Else
Exit Sub
End If
End Sub

moustafa
چهارشنبه 24 خرداد 1385, 08:38 صبح
روش دیگه :
tools/uitillity database/database backup
تعیین مسیر و اسم فایل باخودت
حتی تاریخ سیستم را وارد می کند
با استفاده از customize به منوی امکانت برنامه ات ...database backup اضافه را کن ودر" کپشن" اون بنویس "پشتیبان گیری از برنامه در مسیر دلخواه "

شاپرک
چهارشنبه 24 خرداد 1385, 09:34 صبح
در تکمیل حرف مصطفی باید بگم که این امکان فقط در Acces 2003 وجود دارد .
در ضمن من یک تکه برنامه براش پیدا کردم .

dosetddaram
چهارشنبه 24 خرداد 1385, 11:47 صبح
سلام به همگی
کاملترین چیزی که میخواستم اینه...
ممنون از زحمات تک تک شما:قلب:
دوستتون دارم

moustafa
چهارشنبه 24 خرداد 1385, 21:20 عصر
در تکمیل حرف مصطفی باید بگم که این امکان فقط در Acces 2003 وجود دارد .
Access12 را ببینی چی مگی
واقعا اکسس امکانات فوق العاده ای برای تولید سریع یه برنامه تجاری با حداقل زحمت وجود داره

انگوران
دوشنبه 10 مهر 1385, 13:55 عصر
با سلام مجدد - عطف به پاسخ آقا مصطفی ، با توجه به اینکه delete query در فایل backup و append query در فایل اصلی قرار داره ماکروی مورد نظر چطور نوشته می شه .

انگوران
پنج شنبه 13 مهر 1385, 09:53 صبح
لطفاً راهنمائی بفرمائید .

انگوران
یک شنبه 16 مهر 1385, 15:18 عصر
ظاهراً این سئوال از دید اساتید مخفی مونده

moustafa
دوشنبه 17 مهر 1385, 07:56 صبح
با سلام مجدد - عطف به پاسخ آقا مصطفی ، با توجه به اینکه delete query در فایل backup و append query در فایل اصلی قرار داره ماکروی مورد نظر چطور نوشته می شه .
اگه هر دو فایل در یه مسیر و یه فایل نباشند از طریق برنامه اصلی با کد های زیر


Private Sub Command53_Click()
Dim obj As Object
Set obj = CreateObject("Access.Application")
obj.OpenCurrentDatabase ("F:\text\VaSLx.mde")
obj.DoCmd.OpenQuery "del"
Set obj = Nothing
obj.DoCmd.Quit
DoCmd.OpenQuery "bak"


End Sub
می تونی در پاسخ به رویداد on time یه فرم کدهای بالا رو بذاری
تا در زمانهای متوالی و خودکار بک اپ گرفته شود

انگوران
دوشنبه 17 مهر 1385, 08:20 صبح
ضمن تشکر اگه نخوایم کد بنویسیم ماکروش چطوری درست می شه .

moustafa
دوشنبه 17 مهر 1385, 08:27 صبح
با ماکرو فکر نکنم بشه !! قبلا هم کلی توصیه شده که از ماکرو استفاده نکنید ،چون امنیت نداره یا توسط کاربر ممکنه ویرایش و یا حذف بشه یا اینکه از طریق برنامه دیگر به روش بالا دستکاری بشه
ثانیا مشکل چیه ؟ کدهای بالا رو کپی کن به رویداد مورد نظرت ،اسم دو کوئری و مسیر فایل رو ویرایش کن

انگوران
دوشنبه 17 مهر 1385, 09:07 صبح
مشکل خاصی نیست چون زمانی که از make table query برای backup استفاده می کنیم می تونیم جدول مورد نظرمون رو در مسیر دلخواه ایجاد کنیم . فقط از ما سئوال می کند همچین جدولی در این بانک وجود دارد آیا جایگزین بشه که ما می تونیم تائیدش کنیم و با کد docmd warming false اخطار مربوطه را نیز حذف و پیغام فارسی جایگزین کنیم .
اگه این روش منطقی باشه نیاز ما رو برآورده می کنه . باز هم از پاسخ و راهنمائی شما سپاسگزارم .

moustafa
دوشنبه 17 مهر 1385, 09:28 صبح
maketable کلیدها واندیکسها رو حذف می کنه و انتقال نمی دهه و این مشکل وجو داره اگه بخواهی اطلاعات از جای دیگر بهش اضافه کنی بعلت نبودن کلید ،رکوردهای تکراری وارد بشه

HAMRAHSOFT.IR
دوشنبه 17 مهر 1385, 09:44 صبح
کسی روشی برای فشرد کردن بصورت فایل zip یا rar سراغ نداره

moustafa
سه شنبه 18 مهر 1385, 23:17 عصر
مشکل خاصی نیست چون زمانی که از make table query برای backup استفاده می کنیم می تونیم جدول مورد نظرمون رو در مسیر دلخواه ایجاد کنیم . فقط از ما سئوال می کند همچین جدولی در این بانک وجود دارد آیا جایگزین بشه که ما می تونیم تائیدش کنیم و با کد docmd warming false اخطار مربوطه را نیز حذف و پیغام فارسی جایگزین کنیم .
اگه این روش منطقی باشه نیاز ما رو برآورده می کنه . باز هم از پاسخ و راهنمائی شما سپاسگزارم .
Docmd.setwarning False

انگوران
چهارشنبه 19 مهر 1385, 06:00 صبح
ممنونم - بعد از ارسال قصد اصلاح داشتم که فراموش شد .

samaneh_h
چهارشنبه 19 مهر 1385, 08:09 صبح
من این فایل رو از پست یکی از دوستان بر داشتم:متفکر:

hbahjat
چهارشنبه 13 دی 1385, 20:43 عصر
میشه بپرسم چرا هیچکس رپلیکیشن را توصیه نمی کنه ؟

moustafa
چهارشنبه 13 دی 1385, 21:27 عصر
ریپلیکیشن بری ادغام اطلاعات وبروزرسانی آن بکار میره نه بک آپ گیری

vivavoon
دوشنبه 27 فروردین 1386, 13:35 عصر
دوست عزیز نیازی به اینهمه دردسر نیست شما با برنامه backup خود windows میتونید این مشکل رو حل کنید البته اگه مشکل شما فقط backup گیری باشه در واقع شما با تنظیم Scheduled ویندوز تمام کارها رو بصورت اتوماتیک میتونید انجام دهید....

moustafa
چهارشنبه 29 فروردین 1386, 19:47 عصر
دوست عزیز نیازی به اینهمه دردسر نیست شما با برنامه backup خود windows میتونید این مشکل رو حل کنید البته اگه مشکل شما فقط backup گیری باشه در واقع شما با تنظیم Scheduled ویندوز تمام کارها رو بصورت اتوماتیک میتونید انجام دهید....
اون موقع باید به ازای هر سیستم بریم برای کاربران ناشی تنظیمات backup ویندوز رو انجام بدیم و هر بارم که ویندوز خراب شد مجددا .....................
روشهایی که دوستان ارائه فرمودند جزئی از برنامه است

M9.Moradi
چهارشنبه 29 آبان 1387, 02:00 صبح
ضمن تشکر از راهنمایی های همه دوستان با اینکه از آخرین گفتگو از این موضوع خیلی وقته که میگذره من یه سوال داشتم
در 2007 چطوری میشه با کد نویسی از برنامه BackUp گرفت به طوری که مسیر و اسم فایل رو از کاربر بپرسه؟ منظورم اینکه تو روشی که توسط شاپرک و مصطفی عزیز ارائه شده در 2003 قابل استفاده است(صفحه دوم). می خواستم ببینم در 2007 معادلی داره یانه؟
دوم اینکه اگر بخواهیم از قسمتی از برنامه مثلا فقط جداول یا فقط فرم ها بک آپ بگیریم میشه یا نه؟ چطوری؟

takkhal
پنج شنبه 17 تیر 1389, 01:39 صبح
دوست گرامی تمام اون دستورات در 2007 هم قابل اجراست