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

نسخة كاملة : كيف نضغط قاعدة بيانات أكسس برمجيا؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
ما هي الطريقة التي نضغط بها قاعدة بيانات أكسس 2013 برمجيا؟
هل 2013 تختلف عن 2010 و 2007 حسبما تعرف؟
هل هذا ماتريده؟
لا يختلفون حسب ما أعلم الأختلاف في 2007 أو ما يسبقه

نعم رأيت هذا الموضوع واشكل علي تمرير البرمتر الثاني في الميثود الأول (Microsoft.Office.Interop.Access.Application app)


كود :
public static void CompactAndRepair(string accessFile, Microsoft.Office.Interop.Access.Application app)

أما الثاني فلم أفهم العمل به وكذلك إذا غيرنا 
كود :
Provider=Microsoft.Jet.OLEDB.4.0
إلى 
كود :
Provider=Microsoft.Jet.OLEDB.12.0

ماذا نغير معه أم يكفي هذا فقط؟
غير jet الى Ace
غيرت الميثود هكذا
كود :
public static bool CompactAndRepairAccessDB(string source, string destination)
       {
           try
           {
               JetEngine engine = (JetEngine)HttpContext.Current.Server.CreateObject("JRO.ACEEngine");
               engine.CompactDatabase(string.Format("Data Source={0};Provider=Microsoft.ACE.OLEDB.12.0;Data;", source),
                   string.Format("Data Source={0};Provider=Microsoft.ACE.OLEDB.12.0;Data;", destination));
               File.Copy(destination, source, true);
               File.Delete(destination);
               return true;
           }
           catch
           {
               return false;
           }
       }


ومررت البرمترات هكذا
كود :
CompactAndRepairAccessDB("Source=D:\\mydb.accdb", "Source=D:\\mydb.accdb");
فلم يفعل شيء
فيه مثال في فيجوال بيسك هل تستطيع تحويله؟
حاولت لكن Smile!!
هو باستخدام ملف Interop.JRO.dll

حولته بعد جهد جهيدSmile
يااخي مدري وش يبون فيها سي شارب؟Smile
ترى امزح مو قصدي
جزاك الله خير لكن هناك خلل هذا نص رسالة الخطأ
كود :
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in WindowsFormsApplication1.exe

Additional information: Operation cannot be completed on this database because it uses attachements or multi-valued lookup fields.
انت جربت المشروع بعد التنظيف؟
يعني هل عملت clean لاني نسيت اعملها قبل ارفع المشروع.
جرب وخبرني.
(05-09-17, 12:43 AM)سعود كتب : [ -> ]انت جربت المشروع بعد التنظيف؟
يعني هل عملت clean لاني نسيت اعملها قبل ارفع المشروع.
جرب وخبرني.

للاسف نفس الشيء 
القاعدة الي في المشروع الذي رفعة تمشي مع الكود 
القواعد الموجودة في جهازي erorr
منصب اوفيس 2016 -64

قمت باستيراد الجداول الموجودة على قاعدتي للقاعدة التي في المشروع الذي رفعت عمل البرنامج بشكل جيد!

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

أعدت تنصيب أوفيس 2013 -32

ومشى كل شيء على ما يرام