منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : هل الكود التالي صحيح لاستعادة قاعدة بيانات أكسس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم

بالأمس تعلمت من الأخ العزيز eljokr جزاه الله خيراً كيفية نسخ قاعدة بيانات الأكسس، فحاولت استخدام نفس الكود في عملية الاستعادة بحيث يتم نسخ ملف قاعدة البيانات من ملف النسخ إلى ملف الDebug فهل الكود صحيح؟ رحمكم الله.


PHP كود :
If My.Settings.BupDB Now.Date Then
            If con
.State ConnectionState.Open Then con.Close()
 
           My.Computer.FileSystem.CopyFile(Application.StartupPath "D:\Backup\BupDB-" Now.Date.ToString("dd-MM-yyyy") & "A18.accdb""D:/HHH/WindowsApplication1/bin/Debug/A18.accdb"True)
 
       End If 
(25-09-18, 10:55 PM)Hazem1 كتب : [ -> ]بسم الله الرحمن الرحيم

بالأمس تعلمت من الأخ العزيز eljokr جزاه الله خيراً كيفية نسخ قاعدة بيانات الأكسس، فحاولت استخدام نفس الكود في عملية الاستعادة بحيث يتم نسخ ملف قاعدة البيانات من ملف النسخ إلى ملف الDebug فهل الكود صحيح؟ رحمكم الله.


PHP كود :
If My.Settings.BupDB Now.Date Then
            If con
.State ConnectionState.Open Then con.Close()
 
           My.Computer.FileSystem.CopyFile(Application.StartupPath "D:\Backup\BupDB-" Now.Date.ToString("dd-MM-yyyy") & "A18.accdb""D:/HHH/WindowsApplication1/bin/Debug/A18.accdb"True)
 
       End If 


مرحباً اخى Hazem1


نعم الكود صحيح بما انك قمت بعكس المسارات
ولكن هنا انت لا تحتاج للتحقق من التاريخ
لان الكود الاسترجاع سيكون داخل زر وليس تلقائي

فكل ما عليك ان تجعل الكود بهذا الشكل مع بعض التعديل البسيط
كود :
           If con.State = ConnectionState.Open Then con.Close()
           My.Computer.FileSystem.CopyFile(Application.StartupPath & "D:\Backup\BupDB-" & Now.Date.ToString("dd-MM-yyyy") & "A18.accdb", Application.StartupPath & "\A18.accdb", True)


تحياتى لك
وتمنياتى لك التوفيق
(26-09-18, 12:02 AM)elgokr كتب : [ -> ]
(25-09-18, 10:55 PM)Hazem1 كتب : [ -> ]بسم الله الرحمن الرحيم

بالأمس تعلمت من الأخ العزيز eljokr جزاه الله خيراً كيفية نسخ قاعدة بيانات الأكسس، فحاولت استخدام نفس الكود في عملية الاستعادة بحيث يتم نسخ ملف قاعدة البيانات من ملف النسخ إلى ملف الDebug فهل الكود صحيح؟ رحمكم الله.


PHP كود :
If My.Settings.BupDB Now.Date Then
            If con
.State ConnectionState.Open Then con.Close()
 
           My.Computer.FileSystem.CopyFile(Application.StartupPath "D:\Backup\BupDB-" Now.Date.ToString("dd-MM-yyyy") & "A18.accdb""D:/HHH/WindowsApplication1/bin/Debug/A18.accdb"True)
 
       End If 


مرحباً اخى Hazem1


نعم الكود صحيح بما انك قمت بعكس المسارات
ولكن هنا انت لا تحتاج للتحقق من التاريخ
لان الكود الاسترجاع سيكون داخل زر وليس تلقائي

فكل ما عليك ان تجعل الكود بهذا الشكل مع بعض التعديل البسيط
كود :
           If con.State = ConnectionState.Open Then con.Close()
           My.Computer.FileSystem.CopyFile(Application.StartupPath & "D:\Backup\BupDB-" & Now.Date.ToString("dd-MM-yyyy") & "A18.accdb", Application.StartupPath & "\A18.accdb", True)


تحياتى لك
وتمنياتى لك التوفيق

سُبحان الله، لست أدري فيما أخطأت، هل برأيك يا أخي الكريم أني اخطأت في كتابة السطر الأول من الكود عندما وضعت علامة (=)

PHP كود :
Private Sub Button20_Click_1(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button20.Click

        If My
.Settings.BupDB Now.Date Then
            If con
.State ConnectionState.Open Then con.Close()
 
           My.Computer.FileSystem.CopyFile(Application.StartupPath "D:\Backup\BupDB-" Now.Date.ToString("dd-MM-yyyy") & "A18.accdb"Application.StartupPath "\A18.accdb"True)
 
       End If
 
   End Sub 
انت قمت بالتعديل على الكود لديك بدل من استبداله

انت لست بحاجة الى شرط التحقق لهذا السطر
كود :
If My.Settings.BupDB = Now.Date Then
End If
فقط استخدم ما بداخلهم وسيعمل معك بدون اى مشكلة
تحياتى لك
وتمنياتى لك التوفيق
(26-09-18, 01:36 AM)elgokr كتب : [ -> ]
انت قمت بالتعديل على الكود لديك بدل من استبداله

انت لست بحاجة الى شرط التحقق لهذا السطر
كود :
If My.Settings.BupDB = Now.Date Then
End If
فقط استخدم ما بداخلهم وسيعمل معك بدون اى مشكلة
تحياتى لك
وتمنياتى لك التوفيق


سُبحان الله، قمت بوضع الكود التالي ولكن ظهر الخطأ الذي في الصورة 


PHP كود :
Private Sub Button20_Click_1(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button20.Click
        If con
.State ConnectionState.Open Then con.Close()
 
       My.Computer.FileSystem.CopyFile(Application.StartupPath "D:\Backup\BupDB-" Now.Date.ToString("dd-MM-yyyy") & "A18.accdb"Application.StartupPath "\A18.accdb"True)
 
   End Sub 
حاولت كتابة مسار الملف بالكامل كما في الكود التالي :  ولكن ظهر نفس الرسالة الخطأ 

PHP كود :
'If con.State = ConnectionState.Open Then con.Close()
        '
My.Computer.FileSystem.CopyFile(Application.StartupPath "D:\Backup\BupDB-" Now.Date.ToString("dd-MM-yyyy") & "A18.accdb"Application.StartupPath "D:HHH\WindowsApplication1\bin\Debug\A18.accdb"True
مرحباً اخى الحبيب

سبب الخطاء فى هذا الجزء من الكود
كود :
Application.StartupPath & "D:\Backup\BupDB-"

كيف تضع مسار دريف D وكذلك تستخدم جملة Application.StartupPath
وكذلك بتستخدم كود جلب التاريخ الحالى يعنى انا عايز زمتك

انت فى مجلد النسخة الاحتياطية فى ملف لقاعدة البيانات بالاسم ده
PHP كود :
BupDB-20-09-2018A18.accdb 

الصح ان يكون الكود بهذا الشكل
كود :
If con.State = ConnectionState.Open Then con.Close()
       My.Computer.FileSystem.CopyFile("D:\Backup\BupDB-26-09-2018A18.accdb", Application.StartupPath & "\A18.accdb", True)

فقط استبدل التاريخ كتابياً وليس بالكود
وتاكد بان فعلياً قاعدة البيانات فى المسار صحيح وتحت اسم كما فى الكود

ولو جينا للصح
من المفترض ان تتم استرجاع النسخة يدوياً 
أو يتم عمل كود جلب جميع الملفات بمجلد النسخة الاحتياطية
ومن ثم يتم اختيار النسخة المطلوب استرجاعها

تحياتى لك
وتمنياتى لك التوفيق
(26-09-18, 11:57 PM)elgokr كتب : [ -> ]
مرحباً اخى الحبيب

سبب الخطاء فى هذا الجزء من الكود
كود :
Application.StartupPath & "D:\Backup\BupDB-"

كيف تضع مسار دريف D وكذلك تستخدم جملة Application.StartupPath
وكذلك بتستخدم كود جلب التاريخ الحالى يعنى انا عايز زمتك

انت فى مجلد النسخة الاحتياطية فى ملف لقاعدة البيانات بالاسم ده
PHP كود :
BupDB-20-09-2018A18.accdb 

الصح ان يكون الكود بهذا الشكل
كود :
If con.State = ConnectionState.Open Then con.Close()
       My.Computer.FileSystem.CopyFile("D:\Backup\BupDB-26-09-2018A18.accdb", Application.StartupPath & "\A18.accdb", True)

فقط استبدل التاريخ كتابياً وليس بالكود
وتاكد بان فعلياً قاعدة البيانات فى المسار صحيح وتحت اسم كما فى الكود

ولو جينا للصح
من المفترض ان تتم استرجاع النسخة يدوياً 
أو يتم عمل كود جلب جميع الملفات بمجلد النسخة الاحتياطية
ومن ثم يتم اختيار النسخة المطلوب استرجاعها

تحياتى لك
وتمنياتى لك التوفيق

Cool والله لما راجعت الكود أخذت أضحك على ما فعلت، اسأل الله أن يجعل في وجهك الابتسامة كما تجعلها في وجوه الآخرين، سأفعل الصح مثلما نصحتني وسأقوم بالاستعادة بشكل يدوي إن شاء الله.
(27-09-18, 11:13 PM)Hazem1 كتب : [ -> ]Cool والله لما راجعت الكود أخذت أضحك على ما فعلت، اسأل الله أن يجعل في وجهك الابتسامة كما تجعلها في وجوه الآخرين، سأفعل الصح مثلما نصحتني وسأقوم بالاستعادة بشكل يدوي إن شاء الله.


يارب تدوم الضحكة دائماً

يمكن طرق اخري لعمل الاسترجاع 

مثل عمل الزر يقوم بعمل تحديد مسار الملف المطلوب استرجاعه
من خلال اداء OpenFileDialog وتطبيقه مع كود المذكور باخر رد مسبق


تحياتى لك
وتمنياتى لك التوفيق
(28-09-18, 01:39 AM)elgokr كتب : [ -> ]
(27-09-18, 11:13 PM)Hazem1 كتب : [ -> ]Cool والله لما راجعت الكود أخذت أضحك على ما فعلت، اسأل الله أن يجعل في وجهك الابتسامة كما تجعلها في وجوه الآخرين، سأفعل الصح مثلما نصحتني وسأقوم بالاستعادة بشكل يدوي إن شاء الله.


يارب تدوم الضحكة دائماً

يمكن طرق اخري لعمل الاسترجاع 

مثل عمل الزر يقوم بعمل تحديد مسار الملف المطلوب استرجاعه
من خلال اداء OpenFileDialog وتطبيقه مع كود المذكور باخر رد مسبق


تحياتى لك
وتمنياتى لك التوفيق

الله يرضى عنك ويسعدك ويجعل في طريقك من يكون سبباً في سعادتك دوماً، فكرتك ممتازة إن شاء الله أطبقها.