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

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

قام بنشر

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

هل استطيع منع تغيير اسم البرنامج ؟

مع اطيب تحية للجميع

قام بنشر

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

طلبك غير واضح أبداً أخي جيلاني 😇 ..

يا ريت تدعم طلبك بتوضيح أكثر وحتى لو مدعوم بملف أو صورة على الأقل .

قام بنشر

حفظك الله 

عندي ملف أكسس اسمه  gelani.accdb  وارغب في منع تغيير الاسم .

مع اطيب تحيه 

 

gelani.accdb

  • تمت الإجابة
قام بنشر

ملف أكسس مثله مثل أي ملف آخر داخل ويندوز يمكن لأي شخص تعديل إسمه لذا فلا يمكن منع أي مستخدم من تعديل إسمه ولكن يمكننا تقييد تشغيل البرنامج إلا إذا كان بالإسم الذي نريد

في المرفق نفس الملف الذي أرسلته جرب فتحه بالإسم gelani وأغلقه وغير إسمه إلى أي بإسم آخر وشاهد النتيجة

فهل يناسبك هذا الحل؟

gelani.rar

  • Like 2
قام بنشر

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

قام بنشر

وتكملة لمسيرة الأفكار .. ومشاركة مع مهندسنا العزيز @منتصر الانسي 🙂 ..

تم تعديل الكود ليقوم بتعديل اسم البرنامج بنفسه ثم يعيد تشغيل البرنامج مرة أخرى 🙂 

Private Sub Form_Load()
    Const strCorrectName As String = "gelani" ' اكتب هنا الاسم الصحيح بدون الامتداد
    Dim currentPath As String
    Dim targetFullName As String
    Dim batchFilePath As String
    Dim fso As Object
    Dim ts As Object
    
    ' التحقق من مطابقة اسم الملف الحالي للاسم المطلوب
    If CurrentProject.Name <> strCorrectName & ".accdb" Then
        Label0.Caption = "جاري تعديل اسم البرنامج..."
        
        currentPath = CurrentProject.Path
        targetFullName = currentPath & "\" & strCorrectName & ".accdb"
        batchFilePath = currentPath & "\rename_db.bat"
        
        ' إنشاء الملف الدفعي لتنفيذ إعادة التسمية بعد الإغلاق
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set ts = fso.CreateTextFile(batchFilePath, True)
        
        ' كتابة الأوامر داخل الملف الدفعي
        ts.WriteLine "@echo off"
        ts.WriteLine "chcp 65001 > nul"
        ts.WriteLine "timeout /t 2 /nobreak > nul" ' انتظار إغلاق ملف أكسس تماماً لفك القفل
        ts.WriteLine "cd /d """ & currentPath & """"
        ts.WriteLine "ren """ & CurrentProject.Name & """ """ & strCorrectName & ".accdb"""
        ts.WriteLine "start """" """ & targetFullName & """" ' إعادة تشغيل القاعدة بالاسم الجديد
        ts.WriteLine "del ""%~f0""" ' حذف الملف الدفعي بعد الانتهاء
        ts.Close
        
        ' تنبيه المستخدم قبل الإغلاق والتعديل
        MsgBox "تم اكتشاف أن اسم قاعدة البيانات غير صحيح!" & vbCrLf & _
               "سيتم إغلاق البرنامج وتعديله تلقائياً إلى: " & strCorrectName & ".accdb", _
               vbInformation + vbMsgBoxRight + vbMsgBoxRtlReading, "تعديل اسم البرنامج"
        
        ' تشغيل الملف الدفعي في الخلفية
        Shell "cmd.exe /c """ & batchFilePath & """", vbHide
        
        ' إغلاق قاعدة البيانات الحالية
        DoCmd.Quit
    Else
        Label0.Caption = "الإسم صحيح"
    End If
End Sub

 

gelani.accdb

  • Like 2

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

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

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information