اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تحويل القاعدة الى ACCDE على جهاز العميل ثم حذفها


Amr Ashraf

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

السلام عليكم

اساتذتى الافاضل اثناء تصفحى لأحد المواضيع لفت نظرى كود وضعه أستاذنا الجليل جعفر  وهو طريقة للتحايل على موضوع 32 و 64 عند تحويل القاعدة الى ACCDE وهذا هو الكود 

Function ConvertToaccDE()
Dim sourcedb, targetdb As String
sourcedb = "D:\Converter.accdb"
targetdb = "D:\2.accde"
Dim accessApplication As Access.Application
Set accessApplication = New Access.Application
With accessApplication
.SysCmd 603, sourcedb, targetdb
End With
'Set accessApplication = Nothing
End Function

ولكن اريد تطوير هذا الكود بحيث يفتح قاعدة البيانات ويحولها الى ACCDE بنفس اسمها ثم يحذف القاعدة الأصلية ليس الى سلة المهملات ولكن Shift+Delete

وذلك للاطمئنان ووسيلة حماية اضافية ... ولو فيه طرق اخرى لعمل نفس الوظيفة مافى مشكلة ... جزاكم الله خير

 

 

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

السلام عليكم

تفضل هذا هو التعديل الذي تريده

Dim sourcedb, targetdb, nametargetdb As String
sourcedb = "D:\Conv.accdb"
targetdb = "D:\tt2.accde"
nametargetdb = "D:\Conv.accde"
Dim accessApplication As Access.Application
Set accessApplication = New Access.Application
With accessApplication
.SysCmd 603, sourcedb, targetdb
End With
Kill sourcedb
Name targetdb As nametargetdb
FollowHyperlink nametargetdb

 

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

7 ساعات مضت, صالح حمادي said:

تفضل هذا هو التعديل الذي تريده



 

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

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

استفسار اخر هل من الممكن ان تتم العملية من داخل القاعدة المطلوبة وليست عن طريق قاعدة اخرى خارجية بحيث يتم ارسال البرنامج نسخة accdb للعميل وعند فتحها اول مرة تقوم بتحويل نفسها الى accde ثم تحذف النسخة accdb بالطريقة السابقة ؟ جزاكم الله خير استاذى الفاضل:fff:

Converter.rar

تم تعديل بواسطه Amr Ashraf
  • Like 2
رابط هذا التعليق
شارك

17 ساعات مضت, Amr Ashraf said:

ولكن اريد تطوير هذا الكود بحيث يفتح قاعدة البيانات ويحولها الى ACCDE بنفس اسمها ثم يحذف القاعدة الأصلية ليس الى سلة المهملات ولكن Shift+Delete

وذلك للاطمئنان ووسيلة حماية اضافية

هناك سؤال ... ماذا سيحدث اذا المشتري اخذ نسخة من قاعدة من نوع accdb قبل فتحه اول مرة ؟ من الاحسن انك تعمل تحويل الى accde وبعدين تعطي نسخة من  accde  للمشتري وتأخذ نسخة من accdb اليك اذا احتاجت للتعديلات عليه 
تقبل تحياتي

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

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

هناك سؤال ... ماذا سيحدث اذا المشتري اخذ نسخة من قاعدة من نوع accdb قبل فتحه اول مرة ؟ من الاحسن انك تعمل تحويل الى accde وبعدين تعطي نسخة من  accde  للمشتري وتأخذ نسخة من accdb اليك اذا احتاجت للتعديلات عليه 
تقبل تحياتي

شكرا على مرورك استاذى الفاضل ولكن هناك اختلاف كثير ما يحدث فى اصدارات الاوفيس وكما تعلم عند تحويل القاعدة لaccde مثلا ب2016 نسخة 32 بيت لن تعمل الا على هذه النسخة وبالتالى نلجأ لهذه الطريقة ... وهناك طريقة أفضل حيث اقوم مثلا بتحزيم البرنامج بالWinrar ثم اختيار ملف التحويل ليعمل تلقائيا بعد الفك وبالتالى فإن المشترى لن يرى النسخة الاصلية من الاساس ولكنه سيرى النسخة المحولة بعد الانتهاء

22 دقائق مضت, صالح حمادي said:

يا أخي أشرف ملفك يشتغل معي بشكل جيد

من الممكن أنك لم تضع نفس الاسم للملف مع الاسم الموجود بالكود (1)

لا استاذى الفاضل انا اعمل قاعدة جديدة واسميها 1 ثم اشغل القاعدة فيقوم بحذف القاعدة اللى باسم 1 بدون تحويلها ل Accde ثم تظهر هذه الرسالة

 

1.PNG.fd5f75efdb9a8007d4901f5de38ad24e.PNG

 

وهذا هو الكود المستخدم 

Function Amr()
Dim sourcedb, targetdb, nametargetdb As String
sourcedb = "D:\1.accdb"
targetdb = "D:\tt2.accde"
nametargetdb = "D:\1.accde"
Dim accessApplication As Access.Application
Set accessApplication = New Access.Application
With accessApplication
.SysCmd 603, sourcedb, targetdb
End With
Kill sourcedb
Name targetdb As nametargetdb
FollowHyperlink nametargetdb

End Function

 

تم تعديل بواسطه Amr Ashraf
رابط هذا التعليق
شارك

1 دقيقه مضت, صالح حمادي said:

لقد طبقته الآن في جهازي و يعمل بشكل ممتاز

جرب احذف هذا السطر و شغل البرنامج

نفس المشكلة اخى الكريم الاختلاف الوحيد انه فى هذه الحالة لم يحذف القاعدة الاصلية ولم يحولها ايضا !!! ماهو الاسم المستخدم فى الكود عندك يعنى بدل (1) ؟؟

 

تم تعديل بواسطه Amr Ashraf
رابط هذا التعليق
شارك

أنا استعملت نفس الكود الذي تستخدمه أنت و وضعت ملف بإسم 1 و لم أغير في الكود شيء

لكن الظاهر أن مشكلتك في التحويل.

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

أتمنى من الإخوة @jjafferr و @Shivan Rekany أنهم يجربون المرفق هل يشتغل أم لا

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

الان, صالح حمادي said:

أنا استعملت نفس الكود الذي تستخدمه أنت و وضعت ملف بإسم 1 و لم أغير في الكود شيء

لكن الظاهر أن مشكلتك في التحويل.

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

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

6 دقائق مضت, صالح حمادي said:

لكن الظاهر أن مشكلتك في التحويل.

تمت التجربة للكودين على 3 أجهزة اوفيس 2016 اصدار 32 والاكواد لا تقوم بالتحويل ولا اعرف السبب مع العلم انه تم تشغيله فى مجلدات موثوقة 

الرجاء من الاخوة التجربة للكود مع ذكر اصدار الاوفيس جزاكم الله خير

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

1 ساعه مضت, صالح حمادي said:

أتمنى من الإخوة @jjafferr و @Shivan Rekany أنهم يجربون المرفق هل يشتغل أم لا

تم التجربة وظهرت الخطأ .... لكن تم التجربة هل هناك خطأ في قاعدة بياناتي اللي اقوم بتحويله كشفت انه فيه الخطأ فقمت بعمل كومبايل للقاعدة وخلصت من الاخطاء وتم التجربة الكود من جديد 
وبيشتغل 100%

اي يعني يجب على استاذ @Amr Ashraf ان يتأكد هل سيتحول القاعدته يدويا ام لا اذا لا ان هناك خطأ في الاكاد ويجب عليه ان يعمل كومبايل للقاعدته لكي يعرف اين الخطأ وبيعمل التعديل وبعدين يجرب من جديد

 

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

منذ ساعه, Shivan Rekany said:

تم التجربة وظهرت الخطأ .... لكن تم التجربة هل هناك خطأ في قاعدة بياناتي اللي اقوم بتحويله كشفت انه فيه الخطأ فقمت بعمل كومبايل للقاعدة وخلصت من الاخطاء وتم التجربة الكود من جديد 
وبيشتغل 100%

اي يعني يجب على استاذ @Amr Ashraf ان يتأكد هل سيتحول القاعدته يدويا ام لا اذا لا ان هناك خطأ في الاكاد ويجب عليه ان يعمل كومبايل للقاعدته لكي يعرف اين الخطأ وبيعمل التعديل وبعدين يجرب من جديد

 

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

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information