اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

رمضان كريم اعاده الله علينا وعليكم والامة الاسلامية بالخير والبركة

السلام عليكم 

ارفق لكم قاعدة بيانات اكسس تحتوي على زر عمل نسخة كاملة منها 

المطلوب هو التعديل عليها ليكون عمل النسخة للجداول فقط .

وشكرا

copy tables only.rar

قام بنشر

السلام عليكم استاذ ابوخليل

استاذي الفاضل لقد شاهدت تلك القواعد في الرابط المرسل من قبلكم  ومن قبل شاهدتها .

وان تلك الطرق لاتخدمني في عملي في بعض البرامج التي تتعامل مع قواعد البيانات .

اما الطريقة الموجوده في الملف المرفق من قبلي اعلاه .

فهي افضل الطرق والتي تخدمني في عملي ولكنها تعمل نسخه كاملة من قاعدة البيانات .

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

وشكرا

قام بنشر

بعد اذن الاستاذ ابو خليل

هل تريد مع العلاقات ام بدون ؟ اي انشاء نسخة من الجداول والبيانات بدون العلاقات ؟

قام بنشر (معدل)
  في 28‏/5‏/2017 at 19:29, النهر العطشان said:

استاذي الفاضل احتاج نسخه من الجداول مع العلاقات

Expand  

استأذن من استاذنا @ابوخليل و @رمهان

لا اعرف هذه الاكواد من صتع اي من اخواننا
اولا سيعمل لك فولدر باسم باك اب في قرص دي 
وايضا يعمل باك اب للجداول والعلاقات
اتفضل اليك 

الصق هذا في وحدة نمطية

Option Compare Database
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Public Function ExportNew(myfile As String)
' إنشاء  ملف جديد
Dim wrkDefault As Workspace
Dim dbsNew As Database
Dim mydb
On Error GoTo gv
mydb = Dir(myfile)
If mydb = "" Then
Set wrkDefault = DBEngine.Workspaces(0)
Set dbsNew = wrkDefault.CreateDatabase(myfile, dbLangArabic)
Call exportTbl(myfile)
GoTo gv1
Else
Call exportTbl(myfile)
GoTo gv1
End If
gv:
Resume
gv1:
End Function

Public Function exportTbl(myfile As String)
 'تصدير  نسخة لجميع الجداول الموجودة'
 Dim tdfCurr As TableDef
 Dim strBackupDatabase As String
 strBackupDatabase = myfile
 For Each tdfCurr In CurrentDb().TableDefs
 If (tdfCurr.Attributes And dbSystemObject) = 0 Then
 DoCmd.TransferDatabase acExport, "Microsoft Access", _
 strBackupDatabase, acTable, tdfCurr.Name, _
 tdfCurr.Name
    End If
   Next tdfCurr
End Function
Function ExportRelations(DbName, DbName2 As String) As Integer
'الحاق العلاقات بالجداول المنسوخة
Dim ThisDb As dao.Database, ThatDB As dao.Database
Dim ThisRel As dao.Relation, ThatRel As dao.Relation
Dim ThisField As dao.Field, ThatField As dao.Field
Dim Cr As String, i As Integer, cnt As Integer, RCount As Integer
Dim j As Integer
Dim ErrBadField As Integer
Cr$ = Chr$(13)
RCount = 0
Set ThisDb = DBEngine.Workspaces(0).OpenDatabase(DbName2)
Set ThatDB = DBEngine.Workspaces(0).OpenDatabase(DbName)
For i = 0 To ThatDB.Relations.Count - 1
   Set ThatRel = ThatDB.Relations(i)
     Set ThisRel = ThisDb.CreateRelation(ThatRel.Name, _
      ThatRel.Table, ThatRel.ForeignTable, ThatRel.Attributes)
    ErrBadField = False
     For j = 0 To ThatRel.Fields.Count - 1
      Set ThatField = ThatRel.Fields(j)
         Set ThisField = ThisRel.CreateField(ThatField.Name)
      ThisField.ForeignName = ThatField.ForeignName
       On Error Resume Next
      ThisRel.Fields.Append ThisField
      If Err <> False Then ErrBadField = True
      On Error GoTo 0
   Next j
   If ErrBadField = True Then
         Else
           On Error Resume Next
      ThisDb.Relations.Append ThisRel
      If Err <> False Then
              Else
                 RCount = RCount + 1
      End If
      On Error GoTo 0
   End If
Next i
ThisDb.Close
ThatDB.Close
ExportRelations = RCount
End Function


Public Sub autobackup()
Dim datefile As Date
Dim timefile As Date
Dim pro As String

datefile = Date
timefile = Time

pro = Mid(CurrentProject.Name, 1, (Len(CurrentProject.Name) - 4)) & "   " & _
Format(datefile, "yyyy-mm-dd") & "   " & Format(timefile, "hh-nn-ss")

Path = "D:\Backup\"
x = Path
Select Case x
End Select
    
MakeSureDirectoryPathExists Path & "\"

Call ExportNew(x & "\" & pro & ".dat")
Call ExportRelations(CurrentProject.FullName, x & "\" & pro & ".dat")

MsgBox "تم انشاء نسخة احتياطية بشكل آلي بنجاح في المسار" & vbCrLf & "D:\Backup\", vbInformation

End Sub

وفي نموذج خلف زر اكتب هذا

Call autobackup

 

تم تعديل بواسطه Shivan Rekany
  • Like 4
قام بنشر

اعتقد استاذ شيفان انه للاستاذ محمد ايمن وبالرابط السابق للاستاذ ابو خليل

  • Like 2
قام بنشر

السلام عليكم

استاذي الفاضل الكود الذي تفضلت بكتابته لايتوافق مع مطلبي واشكر سعيك بما تفضلت به فهو يقوم بعمل Backup_tables.

عنوان مطلبي هو : عمل نسخة من قاعدة البيانات للجداول فقط

ارفق لكم قاعدة بيانات اكسس تحتوي على زر عمل نسخة كاملة منها 

المطلوب هو التعديل عليها ليكون عمل النسخة للجداول فقط .

الغرض من مطلبي هو في حالة طلب نسخه من البيانات فيمكنني اعطاءها بدون الفورم والاكواد , اي اعطاء نسخه من الجداول فقط

واتمنى التعديل على الملف المرفق والذي عند الضغط على زر (نسخه من الجداول فقط) ليعمل نسخه من الجداول فقط .

وشكرا

copy tables only.rar

قام بنشر

رمضان كريم 

السلام عليكم

الى الاساتذه الكرام والى القيمين على هذا الموقع المحترمين .

 طلبي هو التعديل على الكود في الملف المرفق حيث عند الضغط على زر (نسخه من الجداول فقط) يقوم بعمل نسخه كامله لقاعدة البيانات .

طلبي واضح وهو التعديل على نفس الكود ليقوم عند الضغط على رز (نسخه من الجداول فقط) يقوم بعمل نسخه للجداول فقط .

واكون شاكرا لمن لبى طلبي

copy tables only.rar

قام بنشر
  في 28‏/5‏/2017 at 19:48, Shivan Rekany said:

استأذن من استاذنا @ابوخليل و @رمهان

لا اعرف هذه الاكواد من صتع اي من اخواننا
اولا سيعمل لك فولدر باسم باك اب في قرص دي 
وايضا يعمل باك اب للجداول والعلاقات
اتفضل اليك 

الصق هذا في وحدة نمطية

Option Compare Database
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Public Function ExportNew(myfile As String)
' إنشاء  ملف جديد
Dim wrkDefault As Workspace
Dim dbsNew As Database
Dim mydb
On Error GoTo gv
mydb = Dir(myfile)
If mydb = "" Then
Set wrkDefault = DBEngine.Workspaces(0)
Set dbsNew = wrkDefault.CreateDatabase(myfile, dbLangArabic)
Call exportTbl(myfile)
GoTo gv1
Else
Call exportTbl(myfile)
GoTo gv1
End If
gv:
Resume
gv1:
End Function

Public Function exportTbl(myfile As String)
 'تصدير  نسخة لجميع الجداول الموجودة'
 Dim tdfCurr As TableDef
 Dim strBackupDatabase As String
 strBackupDatabase = myfile
 For Each tdfCurr In CurrentDb().TableDefs
 If (tdfCurr.Attributes And dbSystemObject) = 0 Then
 DoCmd.TransferDatabase acExport, "Microsoft Access", _
 strBackupDatabase, acTable, tdfCurr.Name, _
 tdfCurr.Name
    End If
   Next tdfCurr
End Function
Function ExportRelations(DbName, DbName2 As String) As Integer
'الحاق العلاقات بالجداول المنسوخة
Dim ThisDb As dao.Database, ThatDB As dao.Database
Dim ThisRel As dao.Relation, ThatRel As dao.Relation
Dim ThisField As dao.Field, ThatField As dao.Field
Dim Cr As String, i As Integer, cnt As Integer, RCount As Integer
Dim j As Integer
Dim ErrBadField As Integer
Cr$ = Chr$(13)
RCount = 0
Set ThisDb = DBEngine.Workspaces(0).OpenDatabase(DbName2)
Set ThatDB = DBEngine.Workspaces(0).OpenDatabase(DbName)
For i = 0 To ThatDB.Relations.Count - 1
   Set ThatRel = ThatDB.Relations(i)
     Set ThisRel = ThisDb.CreateRelation(ThatRel.Name, _
      ThatRel.Table, ThatRel.ForeignTable, ThatRel.Attributes)
    ErrBadField = False
     For j = 0 To ThatRel.Fields.Count - 1
      Set ThatField = ThatRel.Fields(j)
         Set ThisField = ThisRel.CreateField(ThatField.Name)
      ThisField.ForeignName = ThatField.ForeignName
       On Error Resume Next
      ThisRel.Fields.Append ThisField
      If Err <> False Then ErrBadField = True
      On Error GoTo 0
   Next j
   If ErrBadField = True Then
         Else
           On Error Resume Next
      ThisDb.Relations.Append ThisRel
      If Err <> False Then
              Else
                 RCount = RCount + 1
      End If
      On Error GoTo 0
   End If
Next i
ThisDb.Close
ThatDB.Close
ExportRelations = RCount
End Function


Public Sub autobackup()
Dim datefile As Date
Dim timefile As Date
Dim pro As String

datefile = Date
timefile = Time

pro = Mid(CurrentProject.Name, 1, (Len(CurrentProject.Name) - 4)) & "   " & _
Format(datefile, "yyyy-mm-dd") & "   " & Format(timefile, "hh-nn-ss")

Path = "D:\Backup\"
x = Path
Select Case x
End Select
    
MakeSureDirectoryPathExists Path & "\"

Call ExportNew(x & "\" & pro & ".dat")
Call ExportRelations(CurrentProject.FullName, x & "\" & pro & ".dat")

MsgBox "تم انشاء نسخة احتياطية بشكل آلي بنجاح في المسار" & vbCrLf & "D:\Backup\", vbInformation

End Sub

وفي نموذج خلف زر اكتب هذا

Call autobackup

 

Expand  

شكرا استاذ شفان وهذا عمل رائع .... وماذا عن استرجاع الجداول ؟؟؟

قام بنشر

رمضان كريم

شكرا استاذ Rebaz Bahram على سرعة الاجابة

استاذي انا لا احتاج الى نسخه backup للجداول .

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

واتمنى ان يتم التعديل على النسخه المرفوعه من قبلي .

وشكرا

قام بنشر
  في 30‏/5‏/2017 at 21:50, النهر العطشان said:

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

Expand  

اخي العزيز
كل الطرق الاعلاه بيوصلك الى مطلبك

ما عليك الا ان تفتحه بواسطة اكسس
للتجربة افتح برامج اكسس

واختر اوبين وبعدين اختر ذاك الملف اللي بيعطيك نتيجة باك اب 

او اضغط كليك يمين على تلك الملف اللي وصات اليه بواسطة باك اب

واختر فتح بواسطة

بعدين اختر اخرى

سيفتح لك النافذة

بعدين اختار بواسطة اكسس

 

  • Like 1
قام بنشر

 غريب جدا الحلول كلها امامك

يمكن انك لم تطرح سؤالك بالطريقة المناسبة الصحيحة

هل تريد تقسيم قاعدة البيانات الى قاعدتين واحدة للواجهات ( النماذج والقارير ) والاخرى للجداول فقط ؟

 

قام بنشر
  في 1‏/6‏/2017 at 20:47, النهر العطشان said:

السلام عليكم

شكرا استاذ Rebaz Bahram على اهتمامكل واجابتك .

لقد جربت هذه الطريقة ونجحت معي ولكن عند نقل الكود والمديول على برنامج اخر ضهرت لي هذه المشكلة وشكرا

1111111.JPG

 

Expand  

جرب هذا اتمنى ليس لديها المشكلة ... تحياتى

Rebaz Backup.accdb.rar

قام بنشر

السلام عليكم رمضان كريم

استاذي الفاضل لقد تمت تجربة الملف المرفق من قبلكم مشكورا عليه .

ولكن هنالك امران :

1- اين يتم تغيير اسماء الجداول في الكود ليعمل الكود في برامج اخرى .

2- هذه الطريقة لاتخدم العلاقات في الجداول .

وشكرا

  • Like 1
  • تمت الإجابة
قام بنشر
  في 2‏/6‏/2017 at 21:37, النهر العطشان said:

السلام عليكم رمضان كريم

استاذي الفاضل لقد تمت تجربة الملف المرفق من قبلكم مشكورا عليه .

ولكن هنالك امران :

1- اين يتم تغيير اسماء الجداول في الكود ليعمل الكود في برامج اخرى .

2- هذه الطريقة لاتخدم العلاقات في الجداول .

وشكرا

Expand  

وعليكم السلام اخي الكريم 

بالنسبة للمرفق الثاني

1- لا حاجة لتغير اسماء الجداول في الاكواد ولكن يحتاج ان اكتب اسماء الجداول في الجدول (OptNaskh) وبعد كل اسم اكتب علامة ; 

مثلا قاعدة بياناتك لده 20 جدول وانت بحاجة الى ان ينسخ 10 فقط اكتب اسم 10 . اما لقاعدة بيانات اخرى فقط غير اسم الجداول في هذا الحقل و بعدهم علامة (;) 

2- هذه الطريقة سيحذف كل العلاقان و يصنعه بنفسه تلقائيا كما كان سابقا .

تحياتى لك

Untitled.jpg

قام بنشر
  في 28‏/5‏/2017 at 19:48, Shivan Rekany said:

استأذن من استاذنا @ابوخليل و @رمهان

لا اعرف هذه الاكواد من صتع اي من اخواننا
اولا سيعمل لك فولدر باسم باك اب في قرص دي 
وايضا يعمل باك اب للجداول والعلاقات
اتفضل اليك 

الصق هذا في وحدة نمطية

Option Compare Database
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Public Function ExportNew(myfile As String)
' إنشاء  ملف جديد
Dim wrkDefault As Workspace
Dim dbsNew As Database
Dim mydb
On Error GoTo gv
mydb = Dir(myfile)
If mydb = "" Then
Set wrkDefault = DBEngine.Workspaces(0)
Set dbsNew = wrkDefault.CreateDatabase(myfile, dbLangArabic)
Call exportTbl(myfile)
GoTo gv1
Else
Call exportTbl(myfile)
GoTo gv1
End If
gv:
Resume
gv1:
End Function

Public Function exportTbl(myfile As String)
 'تصدير  نسخة لجميع الجداول الموجودة'
 Dim tdfCurr As TableDef
 Dim strBackupDatabase As String
 strBackupDatabase = myfile
 For Each tdfCurr In CurrentDb().TableDefs
 If (tdfCurr.Attributes And dbSystemObject) = 0 Then
 DoCmd.TransferDatabase acExport, "Microsoft Access", _
 strBackupDatabase, acTable, tdfCurr.Name, _
 tdfCurr.Name
    End If
   Next tdfCurr
End Function
Function ExportRelations(DbName, DbName2 As String) As Integer
'الحاق العلاقات بالجداول المنسوخة
Dim ThisDb As dao.Database, ThatDB As dao.Database
Dim ThisRel As dao.Relation, ThatRel As dao.Relation
Dim ThisField As dao.Field, ThatField As dao.Field
Dim Cr As String, i As Integer, cnt As Integer, RCount As Integer
Dim j As Integer
Dim ErrBadField As Integer
Cr$ = Chr$(13)
RCount = 0
Set ThisDb = DBEngine.Workspaces(0).OpenDatabase(DbName2)
Set ThatDB = DBEngine.Workspaces(0).OpenDatabase(DbName)
For i = 0 To ThatDB.Relations.Count - 1
   Set ThatRel = ThatDB.Relations(i)
     Set ThisRel = ThisDb.CreateRelation(ThatRel.Name, _
      ThatRel.Table, ThatRel.ForeignTable, ThatRel.Attributes)
    ErrBadField = False
     For j = 0 To ThatRel.Fields.Count - 1
      Set ThatField = ThatRel.Fields(j)
         Set ThisField = ThisRel.CreateField(ThatField.Name)
      ThisField.ForeignName = ThatField.ForeignName
       On Error Resume Next
      ThisRel.Fields.Append ThisField
      If Err <> False Then ErrBadField = True
      On Error GoTo 0
   Next j
   If ErrBadField = True Then
         Else
           On Error Resume Next
      ThisDb.Relations.Append ThisRel
      If Err <> False Then
              Else
                 RCount = RCount + 1
      End If
      On Error GoTo 0
   End If
Next i
ThisDb.Close
ThatDB.Close
ExportRelations = RCount
End Function


Public Sub autobackup()
Dim datefile As Date
Dim timefile As Date
Dim pro As String

datefile = Date
timefile = Time

pro = Mid(CurrentProject.Name, 1, (Len(CurrentProject.Name) - 4)) & "   " & _
Format(datefile, "yyyy-mm-dd") & "   " & Format(timefile, "hh-nn-ss")

Path = "D:\Backup\"
x = Path
Select Case x
End Select
    
MakeSureDirectoryPathExists Path & "\"

Call ExportNew(x & "\" & pro & ".dat")
Call ExportRelations(CurrentProject.FullName, x & "\" & pro & ".dat")

MsgBox "تم انشاء نسخة احتياطية بشكل آلي بنجاح في المسار" & vbCrLf & "D:\Backup\", vbInformation

End Sub

وفي نموذج خلف زر اكتب هذا

Call autobackup

 

Expand  

 

ماذا عن استيراد هذه الجداول auto restore

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information