الكود يعمل بشكل صحيح ولكن - خالد كامل1 - 18-08-19
السلام عليكم احبتى فى الله
اعلم باننى كثير الاسئله فاعزرونى واقدر لكم كل مجهوداتكم معى
اتمنى من الله ان تكونوا باتم الصحه والخير
هذا الكود الموضح يعمل معى تمام فى استعاده النسخه الاحتياطيه ولكن به مشكله
عند استعاده النسخه
يستعيدها بعمليه صحيحيه جدا
ولكن بعد الاستعاده لو قمت باى اجراء على البرنامج يعطينى انه لا يوجد قاعده البيانات التى مسارها
الغريب بنها تاخذ المسار الئى اخذت منه النسخه الاحتياطيه
ولولا ان اقفل البرنامج واعاود فتحه حتى يعود كل شئ كما كان ويعمل البرنامج بشكل صحيح
فهل هناك خطأ فى الكود وماهى الطريقه التى يجعل البرنامج ياخذ نفس مسار قاعده البيانات بدون غلقه
وشكرا
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim scrpath, destpath, compdestpath As String
Dim OFD As New OpenFileDialog
destpath = Application.StartupPath & " "
compdestpath = Path.Combine(destpath, "SADANY.accdb")
OFD.Filter = "Microsost Access 2007|*.Accdb"
If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
scrpath = OFD.FileName
End If
If My.Computer.FileSystem.FileExists(compdestpath) = True Then
If MessageBox.Show(" هل تريد فعلا الاستعاده ", "تنبيه", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
Exit Sub
Else
My.Computer.FileSystem.DeleteFile(compdestpath)
My.Computer.FileSystem.CopyFile(OFD.FileName, compdestpath)
con.Open()
MsgBox("تم ستعاده النسخه بنجاح")
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
RE: الكود يعمل بشكل صحيح ولكن - خالد كامل1 - 18-08-19
ارجو الاجابه
RE: الكود يعمل بشكل صحيح ولكن - Emam emam - 18-08-19
(18-08-19, 12:14 AM)خالد كامل1 كتب : السلام عليكم احبتى فى الله
اعلم باننى كثير الاسئله فاعزرونى واقدر لكم كل مجهوداتكم معى
اتمنى من الله ان تكونوا باتم الصحه والخير
هذا الكود الموضح يعمل معى تمام فى استعاده النسخه الاحتياطيه ولكن به مشكله
عند استعاده النسخه
يستعيدها بعمليه صحيحيه جدا
ولكن بعد الاستعاده لو قمت باى اجراء على البرنامج يعطينى انه لا يوجد قاعده البيانات التى مسارها
الغريب بنها تاخذ المسار الئى اخذت منه النسخه الاحتياطيه
ولولا ان اقفل البرنامج واعاود فتحه حتى يعود كل شئ كما كان ويعمل البرنامج بشكل صحيح
فهل هناك خطأ فى الكود وماهى الطريقه التى يجعل البرنامج ياخذ نفس مسار قاعده البيانات بدون غلقه
وشكرا
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim scrpath, destpath, compdestpath As String
Dim OFD As New OpenFileDialog
destpath = Application.StartupPath & " "
compdestpath = Path.Combine(destpath, "SADANY.accdb")
OFD.Filter = "Microsost Access 2007|*.Accdb"
If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
scrpath = OFD.FileName
End If
If My.Computer.FileSystem.FileExists(compdestpath) = True Then
If MessageBox.Show(" هل تريد فعلا الاستعاده ", "تنبيه", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
Exit Sub
Else
My.Computer.FileSystem.DeleteFile(compdestpath)
My.Computer.FileSystem.CopyFile(OFD.FileName, compdestpath)
con.Open()
MsgBox("تم ستعاده النسخه بنجاح")
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
وعليكم السلام ورحمة الله وبركاته
جرب الكود بعد التعديل وان شاء الله يعمل معك بشكل صحيح
PHP كود :
Dim scrpath, destpath, compdestpath As String destpath = Application.StartupPath compdestpath = Path.Combine(destpath, "SADANY.accdb") OpenFileDialog1.Filter = "Access DB | *.accdb | All Files | *" If OpenFileDialog1.ShowDialog = DialogResult.OK Then scrpath = OpenFileDialog1.FileName End If
If My.Computer.FileSystem.FileExists(compdestpath) = True Then
If connSQL.State = 1 Then connSQL.Close() connSQL.Open() connSQL.Close() My.Computer.FileSystem.DeleteFile(compdestpath) My.Computer.FileSystem.CopyFile(OpenFileDialog1.FileName, compdestpath, True) MsgBox("تم استرجاع البيانات بنجاح") Else MsgBox("قاعدة البيانات مفقوده") End If
RE: الكود يعمل بشكل صحيح ولكن - خالد كامل1 - 18-08-19
(18-08-19, 02:55 AM)Emam emam كتب : (18-08-19, 12:14 AM)خالد كامل1 كتب : السلام عليكم احبتى فى الله
اعلم باننى كثير الاسئله فاعزرونى واقدر لكم كل مجهوداتكم معى
اتمنى من الله ان تكونوا باتم الصحه والخير
هذا الكود الموضح يعمل معى تمام فى استعاده النسخه الاحتياطيه ولكن به مشكله
عند استعاده النسخه
يستعيدها بعمليه صحيحيه جدا
ولكن بعد الاستعاده لو قمت باى اجراء على البرنامج يعطينى انه لا يوجد قاعده البيانات التى مسارها
الغريب بنها تاخذ المسار الئى اخذت منه النسخه الاحتياطيه
ولولا ان اقفل البرنامج واعاود فتحه حتى يعود كل شئ كما كان ويعمل البرنامج بشكل صحيح
فهل هناك خطأ فى الكود وماهى الطريقه التى يجعل البرنامج ياخذ نفس مسار قاعده البيانات بدون غلقه
وشكرا
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim scrpath, destpath, compdestpath As String
Dim OFD As New OpenFileDialog
destpath = Application.StartupPath & " "
compdestpath = Path.Combine(destpath, "SADANY.accdb")
OFD.Filter = "Microsost Access 2007|*.Accdb"
If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
scrpath = OFD.FileName
End If
If My.Computer.FileSystem.FileExists(compdestpath) = True Then
If MessageBox.Show(" هل تريد فعلا الاستعاده ", "تنبيه", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
Exit Sub
Else
My.Computer.FileSystem.DeleteFile(compdestpath)
My.Computer.FileSystem.CopyFile(OFD.FileName, compdestpath)
con.Open()
MsgBox("تم ستعاده النسخه بنجاح")
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
وعليكم السلام ورحمة الله وبركاته
جرب الكود بعد التعديل وان شاء الله يعمل معك بشكل صحيح
PHP كود :
Dim scrpath, destpath, compdestpath As String destpath = Application.StartupPath compdestpath = Path.Combine(destpath, "SADANY.accdb") OpenFileDialog1.Filter = "Access DB | *.accdb | All Files | *" If OpenFileDialog1.ShowDialog = DialogResult.OK Then scrpath = OpenFileDialog1.FileName End If
If My.Computer.FileSystem.FileExists(compdestpath) = True Then
If connSQL.State = 1 Then connSQL.Close() connSQL.Open() connSQL.Close() My.Computer.FileSystem.DeleteFile(compdestpath) My.Computer.FileSystem.CopyFile(OpenFileDialog1.FileName, compdestpath, True) MsgBox("تم استرجاع البيانات بنجاح") Else MsgBox("قاعدة البيانات مفقوده") End If
لم تفلح الطريقه يعطينى نفس الخطأ
RE: الكود يعمل بشكل صحيح ولكن - ابراهيم ايبو - 18-08-19
السلام عليكم اخي خالد
الامر الذي تتحدث عنه طبيعي يجب اعادة تشغيل البرنامج بعد اعادة قاعدة البيانات ليتم الاتصال مع القاعدة الجديدة حتى ولو كانت بنفس الاسم
يمكنك كتابة السطر التالي في نهاية كود Restore ليتم عمل Restart للبرنامج
كود :
Application.Restart()
RE: الكود يعمل بشكل صحيح ولكن - خالد كامل1 - 18-08-19
(18-08-19, 04:21 AM)ابراهيم ايبو كتب : السلام عليكم اخي خالد
الامر الذي تتحدث عنه طبيعي يجب اعادة تشغيل البرنامج بعد اعادة قاعدة البيانات ليتم الاتصال مع القاعدة الجديدة حتى ولو كانت بنفس الاسم
يمكنك كتابة السطر التالي في نهاية كود Restore ليتم عمل Restart للبرنامج
كود :
Application.Restart()
الله عليك بارك الله فيك
|