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

معرفة نوع الملف لقاعدة اكسس مغير الصيغة


إذهب إلى أفضل إجابة Solved by أبو إبراهيم الغامدي,

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

السلام عليكم 

اخواني واساتذتي

اذا كان عندي قاعدة اكسس تم تغيير صيغتها الى msi مثلا

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

بمعنى لوكان هذا  المسار "E:\SYSTEMES\SYSTEM_COPY\alkdsiaden2021-2021.msi" لقاعدة اكسس مغير الصغية 

اريد كود يحدد هل هي قاعدة اكسس او لا

ارجو ان يكون طلبي واضح

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

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

لمعرفة امتداد الملف استخدم الكود التالي

    Dim File_Type As String
    Dim DB_Full_Name As String
    DB_Full_Name = CurrentProject.Path & "\" & CurrentProject.Name
    File_Type = Mid(DB_Full_Name, InStrRev(DB_Full_Name, ".") + 1)
    
    Debug.Print File_Type

ولمعرفة مسار الملف استخدم الكود التالي

Debug.Print CurrentProject.Path

ولمعرفة اسم قاعدة البيانات

CurrentProject.Name

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

Debug.Print CurrentProject.Path & "\" & CurrentProject.Name

تحياتي

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

اشكرك استاذ محمد

ولاكن لعلك ما فهمت طلبي

اريد كود يحدد لي هل الملف الموجود في المسار هي قاعدة اكسس او لا

"E:\SYSTEMES\SYSTEM_COPY\alkdsiaden2021-2021.msi"

مع العلم ان القاعدة هي اكسس ولاكن مغير الصيغة الى .msi

 

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

أعتقد لا يمكن معرفة الملفات داخل الامتداد msi إلا بعد فك تجميعه 

باستخدام أوامر في الدوس CMD

لو أمكن إرفاق ملف msi والملف الذي تريد وضع الكود فيه للتجربة عليه

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

استاذي العزيز محمد هذا مرفق لقاعدة اكسس قمت بتغيير صيغته الى msi

من باب حماية القاعدة 

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

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

testdata.rar

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

فكرة بفكرة يمكن تنفيذها وهي :

اولا نحتاج تغيير امتداد ملفك الى ملف امتداد ملف اكسس

ثانيا نفحص هذا الملف هل هو ملف اكسس صالح فيعطي رسالة بذلك او معطوب فيعطي رسالة ايضا بذلك 

.
.
.
.
افكر في تنفيذها إن اردت .... جاري العمل على ذلك ..............

 

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

  • أفضل إجابة

وعليكم السلام محمد..

الملفات الثنائية لها معرفات نصية في أول سطر من الملف! يمكن الاستفادة من هذه الميزة للتعرف على الملف الأصلي حتى لو غُيرت اللاحقة!

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

في أكسس الشفرة التالية تفي بالغرض إن شاء الله

Sub TestData()
   On Error Resume Next
   Dim fn, ft
   fn = CurrentProject.Path & "\testdata\testdata.msi"
   Open fn For Input Access Read As #1
   Line Input #1, ft
   Close #1
   
   If ft Like "*Standard ACE DB*" Then
    Name fn As Replace(fn, ".msi", ".accdb")
   End If

End Sub

 

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

اولا اشكرك استاذي @kanrya على تعاونك ولا مانع من اي فكرة نتعلم منها

وثانبا اشكرك استاذي @أبو إبراهيم الغامدي على هذه الشفرة

وانا اشهد استاذي انك مبدع وهو المطلوب استاذي العزيز

وجزاكم الله خيرا جميعا

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

ظننت الأمر أكبر من ذلك

من الواضح أن ملف msi المرفق ليس إلا عملية إعادة تسمية لقاعدة البيانات accdb كما اقترح أ / @أبو إبراهيم الغامدي

لأنه عند فك تجميع الملف بكود فك تجميع ملفات msi في الدوس ظهرت هذه الرسالة

1489112154_extractmsi.jpg.3fd75a1374afe725c1ee259879077c44.jpg

وهذا يعني أنه ليس ملف msi صحيح ولا يحتوي على تحزيم لمجموعة من الملفات داخله

بالتوفيق

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

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