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

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


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

السلام عليكم 

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

وبعبارة أخرى مثلا عندي جدول اسمه Tab1 وبه بيانات لنفترض به 50 سجل وعندي آخر سأسميه Tab1 وادخلت فيه 100 سجل من جهاز آخر ليس الذي به الجدول الآخر 

نأمل أن يكون السؤال واضحا

رابط هذا التعليق
شارك

منذ ساعه, عبدالعزيز محمد said:

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

هناك 2 طريقة امامك 
1 / حذف الجدول الاول و ادراج اي امبورت الجدول الثاني اذا الجدول الثاني يكون مصممة بالكسس او اكسل مثلا
2 / حذف البيانات في جدول عندك و ادراج البيانات فقط اللي في جدول الثاني اي امبورت البيانات فقط
لكن حسب ما اشوف ان الطريقة الثانية احسن
واذا تبحث في المنتدى راح تشوف الموضوعات عن امبورت

 

  • Thanks 1
رابط هذا التعليق
شارك

السلام عليكم

لنأخد طريقة رقم 1 وبشرط يكون الحذف والتصدير عن طريق زر في فورم كأنه فتح نموذج أو تقرير نأمل التوضيح وحبذا مثال على ذلك ليتسنى للجميع الاستفادة

ملاحظة :الجدول الجديد مصمم بالاكسس ونفس التصميم والحقول لا يختلف الجدولان الا في البيانات المدخلة فقط

 

 

 

 

رابط هذا التعليق
شارك

11 ساعات مضت, عبدالعزيز محمد said:

لنأخد طريقة رقم 1 وبشرط يكون الحذف والتصدير عن طريق زر في فورم كأنه فتح نموذج أو تقرير نأمل التوضيح وحبذا مثال على ذلك ليتسنى للجميع الاستفادة

ملاحظة :الجدول الجديد مصمم بالاكسس ونفس التصميم والحقول لا يختلف الجدولان الا في البيانات المدخلة فقط

اتفضل اليك هذا 

Private Sub Command0_Click()
    Dim NameTblimport As String
    Dim txtpathfile As String
    NameTblimport = "Table"    ' اسم الجدول المراد استيراده
    txtpathfile = Application.CurrentProject.Path & "\b.mdb"   ' مسار قاعدة البيانات التي بها الجدول
    DoCmd.DeleteObject acTable, NameTblimport
    DoCmd.TransferDatabase acImport, "Microsoft Access", txtpathfile, acTable, NameTblimport, NameTblimport, False
End Sub

DeleteAndImportTableFromAccess

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

السلام عليكم

بارك الله فيك وفي المنتدى الجميل

تم الرفع وللتجربة 

وبالمناسبة هل يمكن تطبيق الكود على بقية كائنات قاعدة البيانات مثل الفورم والتقرير والوحدة النمطية ؟؟؟؟

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

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

أين اضع قاعدة البيانات المصدر التي بها الجدول المراد تصديره وقاعدة البيانات التي بها الجدول المراد استراده؟؟؟؟؟؟؟؟؟؟؟؟؟

استخدم نسخة 2010 أوفيس 

Aziz.png.53e5068182204e3c44e2cf7df6fe2a45.png

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

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

أين اضع قاعدة البيانات المصدر التي بها الجدول المراد تصديره وقاعدة البيانات التي بها الجدول المراد استراده؟؟؟؟؟؟؟؟؟؟؟؟؟

استخدم نسخة 2010 أوفيس 

Aziz.png.53e5068182204e3c44e2cf7df6fe2a45.png

جزاك الله خيرا 

لقد كان الخطأ في امتداد قاعدة البيانات 

لقد وفرت علي الكثير من المعاناة في عملية استبدال الجدول من مكان لاخر

رابط هذا التعليق
شارك

في ١٤‏/١٠‏/٢٠١٨ at 10:31, Shivan Rekany said:

txtpathfile = Application.CurrentProject.Path & "\b.mdb" ' مسار قاعدة البيانات التي بها الجدول

غير 3 حروف الاخيرة من mdb الى Accdb 

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

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

أين اضع قاعدة البيانات المصدر التي بها الجدول المراد تصديره وقاعدة البيانات التي بها الجدول المراد استراده؟؟؟؟؟؟؟؟؟؟؟؟؟

استخدم نسخة 2010 أوفيس 

Aziz.png.53e5068182204e3c44e2cf7df6fe2a45.png

السلام عليكم ورحمة الله

الكود يعمل بطريقة ممتازة

هل يمكن استخدام الطريقة التالية أو ما يشبهها:

وهي عند النقر على زر حذف الجدول- المحدد  في الكود- تظهر نافدة نختار منها قاعدة البيانات التي بها الجدول المراد استيراده وعند اختياره يتم استيراده وإلحاقه بقاعدة البيانات المراد تحديثها

مع ملاحظة أن قاعدتي البيانات تحمل الاسم نفسه ونفس الامتداد.

خلاصة الموضوع: ايجاد طريقه اسهل واسرع لإستيراد جدول من قاعدة بيانات-قديمه- إلى قاعدة بيانات جديده ويكون ذلك بدون الدخول إلى كائنات قاعدة البيانات لكليهما حيث تكون قاعدة البيانات القديمه في جهاز وقاعدة البيانات الجديدة في جهاز آخر

وهل يمكن عمل ذلك مع النماذج أو التقارير .

ملاحظة أخرى استوحيت الفكرة من البرامج الأخرى حيث يتم تحديث البرنامج عن طريق ملف خارجي بالنقر عليه فينتقل التحديث تلقائيا إلى مكانه.

هذا ما أريده بالظبط

نأمل أن يكون المطلوب واضحاً وجزاكم الله خيرا.....................

رابط هذا التعليق
شارك

  • 2 weeks later...
في ١٤‏/١٠‏/٢٠١٨ at 10:31, Shivan Rekany said:

اتفضل اليك هذا 


Private Sub Command0_Click()
    Dim NameTblimport As String
    Dim txtpathfile As String
    NameTblimport = "Table"    ' اسم الجدول المراد استيراده
    txtpathfile = Application.CurrentProject.Path & "\b.mdb"   ' مسار قاعدة البيانات التي بها الجدول
    DoCmd.DeleteObject acTable, NameTblimport
    DoCmd.TransferDatabase acImport, "Microsoft Access", txtpathfile, acTable, NameTblimport, NameTblimport, False
End Sub

DeleteAndImportTableFromAccess

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

ياليت تعدل لنا الكود بحيث يكون كامل الجدوال وليس جدوال واحد 

تحياتي اليك

 

رابط هذا التعليق
شارك

منذ ساعه, ابو زاهر said:

ياليت تعدل لنا الكود بحيث يكون كامل الجدوال وليس جدوال واحد 

اتفضل

Private Sub Command0_Click()
  Dim tdf As TableDef
  Dim i As Integer, TableNames As String
Dim strPath As String
        strPath = Application.CurrentProject.Path & "\b.mdb"   ' مسار قاعدة البيانات التي بها الجدول
For Each tdf In CurrentDb.TableDefs
    If Left(tdf.Name, 4) <> "MSys" Then
'        DoCmd.DeleteObject acTable, tdf.Name
        DoCmd.TransferDatabase acImport, "Microsoft Access", strPath, acTable, tdf.Name, tdf.Name, False
        i = i + 1
        TableNames = TableNames & vbCrLf & i & " - " & tdf.Name
    End If
Next
End Sub

 

تم تعديل بواسطه Shivan Rekany
  • Thanks 1
رابط هذا التعليق
شارك

23 دقائق مضت, Shivan Rekany said:

اتفضل


Private Sub Command0_Click()
  Dim tdf As TableDef
  Dim I As Integer, TableNames As String
Dim strPath As String
        NameTblimport = "Table"    ' ÇÓã ÇáÌÏæá ÇáãÑÇÏ ÇÓÊíÑÇÏå
        strPath = Application.CurrentProject.Path & "\b.mdb"   ' ãÓÇÑ ÞÇÚÏÉ ÇáÈíÇäÇÊ ÇáÊí ÈåÇ ÇáÌÏæá
For Each tdf In CurrentDb.TableDefs
    If Left(tdf.Name, 4) <> "MSys" Then
        DoCmd.DeleteObject acTable, tdf.Name
        DoCmd.TransferDatabase acImport, "Microsoft Access", strPath, acTable, tdf.Name, tdf.Name, False
        I = I + 1
        TableNames = TableNames & vbCrLf & I & " - " & tdf.Name
    End If
Next
End Sub

 

ما درينا كيف نشكرك يالغالي الله يبارك فيك ويزيدك علما

 ممتاز جدا  جربته بدون علاقات بين الجدوال

السموحه ابو محمد لم اذكر لك انه لدي علاقات بين الجدوال 

كيف نتخلص من هذه المشكله

شاكر اليك يالغالي

رابط هذا التعليق
شارك

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