المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
السلام عليكم ورحمة الله تعالى وبركاته
لدي قاعدتين من أبسوليت إسمهما
Cartes.Abs و Dossiers.Abs
واردت ان احفظهما في مجلد إسمه Archive
وإنشاء مجلد جديد كلمة اردة حفظ القاعدة مع إضافة السنة التي حفظت بها القاعدة للمجلد حتى يصبح المجلد الذي ينشأ إسمه Archives_2010
علما ان السنة التي يتم بها الحفظ تكون بمكون SpinEdit1
وحتى عملية الإسترجاع تكون من المجلد الموجود بالأرشيف واستعادت القاعدين الى البرنامج مع حذف القاعدتين السابقتين الموجودة داخل البرنامج وايضا السنة التي يتم بها الإسترجاع تكون من خلال مكون SpinEdit2
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
وعليكم السلام ورحمة الله وبركاته
موضوع سبق طرحه، من هنا:
طريقة عمل ال Backup لقاعدة بيانات من نوع Absolute Database
بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
kachwahed كتب :موضوع سبق طرحه، من هنا
مشكور أخي
وجدت هذا المثال في احد المنتديات وهو يتعلق بالحفظ الأرشفة وقمت بالتعديل عليه
لقد حاولت التعديل على المرفق ولكن لم افلح
عملية الحفظ تنفذ لكن المجلد المطلوب اضافته ينشأء خار المجلد الموجود داخل البرنامج
ومن المفروض ينشأ المجلد داخل المجلد الموجود داخل مجلد البرنامج والمسمى Archive
يعني المجلد المطلوب لإنشاءه هو المسمى Archive مضاف له السنة
ثانيا : كما قلت لك ان الملف ينشأ لكن ينشأ خارج البرنام ولا يوجد بداخله ملف قاعدة البيانات
لماذا
حاول تنفذ البرنامج وانظر اين يضع لك المجلد
ثالثا عملية الإسترجاع لم استطيع والمطلوب تعاونكم معي بالكود الخاص بالإسترجاع طبعًا هذا بعد تصليح عملية الحفظ
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
السلام عليكم
القيت نظرة سريعة على المرفق وبه اخطاء كثيرة...
-
انسى المرفق وفكر جيدا
انت تريد نسخ قاعدة بيانات من نوع Absolute
لا تحتاج لانشاء مجلد جديد لكل سنة لملف واحد
إنسخ ملف قاعدة البيانات باسم جديد حسب السنة
TesteCopy.abs اسم قاعدة البيانات (غيرها حسب مشروعك)
SpinEdit1 يحوى على سنة قاعدة البيانان
للحفظ
كود :
CopyFile(PChar('TesteCopy.abs'),PChar(SpinEdit1.Text),True);
لاسترجاع
كود :
CopyFile(PChar(SpinEdit1.Text),PChar('TesteCopy.abs'),False);
ملاحظة: يجب غلق عادة البيانات (وكل الجداول) قبل وبعد اي عملية حفظ او استرجاع
وبالتوفيق
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
لا عليك أستاذي ربما لا احسن التعبير
اما بعد
لقد وضعت الكود كما قلت لي على مثال جديد
وفي زر الحفظ وضعت الكود الأول بهذه الطريقة وكانت طريقة الحفظ ناجحة
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
ABSDatabase1.Close;
copyfile(pchar('testecopy.abs'),pchar(spinedit1.text),true);
ABSDatabase1.Open;
end;
اما بالنسبة لعملية الإسترجاع وضعت الكود الثاني وبهذه الصفة لكن لم تنجح معي
PHP كود :
ABSDatabase1.Close;
copyfile(pchar(spinedit1.text),pchar('testecopy.abs'),false);
ABSDatabase1.Open;
وانا باإنتظار لنصائحكم
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
إقتباس :الكود الثاني وبهذه الصفة لكن لم تنجح معي
لم ينجع ماذا ؟ ظهر خطأ ؟ ما هو؟
دائما حاول اعطاء أكبر در من المعلومات عن الخطأ
لا تقل لم ينجح وتسكت!
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
لقد اعدت محاولة أخرى
وعندما احفظ نسخة من قاعدة المعطيات اقوم بحذف سجل او سجلين واضغط على زر حفظ
ثم انتقل الى عملية استرجاع النسخة التي قمت بحفظها اجد الديبقريد فارغ
وعندما اغلق البرنامج واعيد تشغيله اجد المعطيات بالديبقريد قد عادت
وفي بعض الأحيان تخرج لي رسالة خطا قاضطريت لإرفاق المثال
قم بتنفيذه وسترى
جزاكم الله عنا كل خير
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
السبب طريقة تعاملك مع قاعدة البيانات
خذها كقاعدة: لا تغير خصاص قاعدة البيانات والجداول من دلفي بجعلها True
قم بذلك برمجيا، بالحدث OnCreate لاول Form او DataModule افتح قاعدة البيانات ثم الجداول
وبالحدث OnClose أو OnDestroy اغلق الجداول ثم القاعدة
العمل النظيف يجنب الكثير من المشاكل
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
لقد تركت قاعدة البيانات كما كانت
وكتبت في الحدث
Oncreate للفورم الأول
PHP كود :
With DModule1 do begin
ABSTable1.Open;
end;
وفي الحدث OnClose للفورم الأول
PHP كود :
with DModule1 do begin
ABSTable1.close;
end;
وحاولت اجرب فيكل الفورم
ومسحت ما مان مكتوب في الحدث create للـ DModule1
والحدث Distroy ايضا للـ DModule1
واكتفيت بما كتبته في الحدث للفورم الأول
وباقي الفورم
لك المشكل هذه الرسالة
صورة الرسالة بالمرفق
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
الخط ان Form الذي اساخدمتها تنشا قبل الDataModule يعني ABSTable1 غير موجودة اثنا حدوث OnCreate للForm
بما انك تستخدم DataModule استخدم حدثيه OnCreate/OnDestroy
ولا تنسى اغلق ايضا Database