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

Moosak

أوفيسنا
  • Posts

    1,823
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    50

Moosak last won the day on مارس 22

Moosak had the most liked content!

السمعه بالموقع

1,947 Excellent

عن العضو Moosak

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    Graphics Designer, Programmer
  • البلد
    Oman
  • الإهتمامات
    التصميم الجرافيكي ، برمجة الأكسس

وسائل التواصل

  • MSN
    https://www.youtube.com/c/MousaAlKalbani
  • Website URL
    https://www.instagram.com/mousa.alkalbani
  • Yahoo
    mousa.alkalbani@gmail.com

اخر الزوار

8,010 زياره للملف الشخصي
  1. تظهر كاملة عمي @ابوخليل .. ولكن يظهر أن الأستاذ @Sħěrif Ħušsệiñ لم ينتبه للشريط السفلي الذي ينقلك بين الصفحات 🙂
  2. متألق ما شاء الله عليك أخي @hassan123 🙂 .. أفكار إبداعية جديدة 😄👌 ملاحظات وأفكار 🙂 : 1 - لاحظت أنك أدرجت ملف التحديث من ضمن الملفات ولا أضنك ستحتاج إليه بعد الآن مع التحديث الجديد 🙂 : 2 - للفائدة يمكنك الاستغناء عن الملف الذي يقوم بعملية التحديث والاستعاضة عنه بملف VBS أو ملف CMD وذلك لتجنب مشكلة الحاجة لتوثيق ملف الأكسس قبل فتحه .. فقد جربت هذه الطريقة سابقا و واجهتني مشكلة أن المستخدمين الذين لم يسبق لهم فتح ملف التحديثات ولم يتم توثيقة تقف عندهم عملية التحديث بسبب هذا الأمر .. وهذا الكود الذي أستخدمه أنا لغرض إنشاء ملف ال VBS يمكنك الاستفادة من إن أحببت 🙂 : ' Updater VBS File Path dim UpdaterFilePath UpdaterFilePath = CurrentProject.Path & "\Updater.VBS" ' ************************************************** delete Old Updater File If Len(Dir(UpdaterFilePath, vbDirectory)) > 0 Then Kill (UpdaterFilePath) End If ' ************************************************** Write The VBS File Which Updates The DB Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") Dim oFile dim txtOldFEPath dim txtNewFEPath txtOldFEPath = "E:\Open DB\الملف المصدر.accdb" txtNewFEPath = "E:\Open DB\الملف الهدف.accdb" ' Creat vbs File with ANSI Coding ' الترميز الذي يدعم العربية Set oFile = FSO.CreateTextFile(UpdaterFilePath, True, False) oFile.WriteLine "Dim fs, strCopyFrom, strCopyTo" oFile.WriteLine "Set fs = CreateObject(""Scripting.FileSystemObject"")" ' Start writing The Updater File ' sleep 3 seconds oFile.WriteLine "Dim SecWait" oFile.WriteLine "SecWait = DateAdd(""s"", 3, Now())" oFile.WriteLine "Do Until (Now() = SecWait)" oFile.WriteLine "Loop" ' copy files oFile.WriteLine "strCopyFrom = " & """" & txtNewFEPath & """" oFile.WriteLine "strCopyTo = " & """" & txtOldFEPath & """" oFile.WriteLine "fs.CopyFile strCopyFrom, strCopyTo, True" ' open the new version oFile.WriteLine "CreateObject(""Shell.Application"").Namespace(0).ParseName(strCopyTo).InvokeVerb ""Open""" oFile.WriteLine "Set fs = Nothing" oFile.Close Set FSO = Nothing Set oFile = Nothing ' ************************************************** Open the VBS Updater File Shell "explorer.exe" & " " & UpdaterFilePath, vbMinimizedNoFocus ' ************************************************** Close FE Database Application.Quit 3- أزيدك من الشعر بيت 😄 .. هذا كود لإضافة ملف التحديثات الجديدة لحقل المرفقات في الجدول بطريقة سهلة ( يفتح مستعرض الملفات >> تختار ملف التحديث >> وتم بحمد الله ) 🙂 Option Compare Database Option Explicit Public Sub AddAttacmentToTable(TableName As String, AttachmentFieldName As String, IDField As String, IDvalue As Long) 'TableName = اسم الجدول 'AttachmentFieldName = اسم حقل المرفقات 'IDField = اسم حقل الآيدي 'IDvalue = رقم الآيدي On Error GoTo HandleError Dim db As DAO.Database Dim rs As DAO.Recordset Dim attachFld As DAO.Recordset Dim file As String file = selectFile Set db = CurrentDb Set rs = db.OpenRecordset("select * from " & TableName & " where " & IDField & " = " & IDvalue & ";") ' Or OpenRecordset("TableName") ' Debug.Print "select * from " & TableName & " where " & IDField & " = " & IDvalue & ";" If Not rs.BOF And Not rs.EOF Then rs.MoveFirst rs.Edit Set attachFld = rs.Fields(AttachmentFieldName).Value attachFld.AddNew attachFld.Fields("FileData").LoadFromFile file attachFld.Update rs.Update End If MsgBox "done" rs.Close Set db = Nothing Set rs = Nothing HandleExit: Exit Sub HandleError: If Err.Number = 0 Then Exit Sub Else MsgBox Err.Number & vbNewLine & vbNewLine & Err.Description End If Resume HandleExit End Sub Public Function selectFile() ' دالة مستعرض الملفات On Error GoTo ErrHandler Dim fd As Object Dim filedialogPath As String Set fd = Application.FileDialog(1) fd.AllowMultiSelect = False fd.Title = "حدد الملف المطلوب" ' fd.InitialFileName = CurrentProject.Path fd.Filters.Clear fd.Filters.Add "كل الملفات", "*.*" If fd.Show = True Then selectFile = fd.SelectedItems(1) ' Exit Function Else MsgBox "لم تقم باختيار أي ملف" Exit Function End If ErrHandler: If Err.Number = 0 Then Exit Function Else MsgBox "Error Number : " & Err.Number & " :::: " & Err.Description ' End If End Function Sub testing() 'للتجربة AddAttacmentToTable "att", "Att_T", "ID", 4 End Sub مع تمنياتي لك بالتوفيق 🙂
  3. هل مواصفات جهازك جيدة ؟ كم نسخة الأوفيس عندك ؟ جرب استخدام هذه النسخة وأخبرني هل النتيجة نفسها ؟ ‏‏Moosak MsgBox 2.accdb
  4. تفضل أخي أبو الحسين @abouelhassan 🙂 If MyMsgBox("هل تريد حذف السجل؟؟", "" _ , , msg_Critical, Btn_Yes_No) = Yes Then DoCmd.SetWarnings False DoCmd.RunSQL "DELETE tblFinancial_Records.*, tblFinancial_Records.Reg_Number, * FROM tblFinancial_Records WHERE (((tblFinancial_Records.Reg_Number)=[forms]![frm_search]![Reg_Number]))" DoCmd.SetWarnings True Else Exit Sub End If If Err.Number <> 0 Then MyMsgBox "حدث خطأ: " & Err.Description End If MyMsgBox "ليس لديك صلاحية بالدخول", "تنبيه", , msg_Critical, Btn_OK_Only If MyMsgBox("خروج من البرنامج...!؟", "", , msg_Critical, Btn_Yes_No) = Yes Then MyMsgBox "تم انشاء نسخة احتياطية بنجاح" & vbNewLine & "Backup successfully created" & vbNewLine & vbNewLine & _ "" & "اسم قاعدة البيانات" & vbNewLine & "The name of the database" & vbNewLine & "" & vbNewLine & _ "Backup-" & Format(Date, "dd-mm-yyyy") & vbNewLine & vbNewLine & "" & "مسار القاعدة الجديدة" & vbNewLine & _ "Path of the new rule" & vbNewLine & "" & vbNewLine & DstFile, "emphasis" & "/" & "تاكيد", , msg_Information, Btn_OK_Only, Arabic_Right End If
  5. يمكنك استخدام هذه الصفحة أيضا للبحث عن المواضيع من خلال عناوينها أو اسم الكاتب : https://officena.net/team/mas/access.html 🙂
  6. أهلا بك أخي @سيد تيمي في المنتدى 🙂🌹 لا تفوت قرائة قواعد المشاركة فى الموقع: 😉👌🏼 اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة أخي @سيد تيمي أكتب سؤالك بشكل أوضح لتحصل على إجابة أدق .. ماذا تقصد بفورم office 365 ؟ وما الغرض من التقويم في النموذج ؟
  7. وعليكم السلام ورحمة الله وبركاته 🙂 تفضل أخي @العبيدي رعد لا تظهر بيانات إلا من كان في ذمته شيء .. الكود يكتب في الحدث فورمات للمجموعة أو التقسيمة : الكود : القروض 10.rar
  8. 1- نعم ترجع القيمة كمتتغير ( أنظر إلى الأمثلة الملحقة في الملف ) 2- توجد أمثلة مختلفة في الملف المرفق .. وطالع الفيديو أيضا لمتابعة الشرح 🙂
  9. وعليكم السلام ورحمة الله وبركاته أخي @الطيب عباس 🙂 شكرا جزيلا لك على هذا العطاء ..🌹 لكن للأسف النسخة خاصة بالنظام 32 بت فقط لذا لم أتمكن من فتحها ، ليتك ترسل نسخة 64 بت أيضا .. 🙂
  10. الحمدلله 🙂🌹 ضع الحل هنا ليستفيد الإخوة من تجربتك 👍🏻
  11. أستاذ @abouelhassan أكتب سؤالك في موضوع جديد إتباعا لإرشادات المنتدى 🙂
  12. لتطبيق الصلاحيات على أي نموذج أكتب هذا السطر في حدث عند الفتح للنموذج : Private Sub Form_Open(Cancel As Integer) Call Permissions End Sub باب الإبداع مفتوح لكم 😉👌🏼 البرنامج شغال زي السكينة على الطحينة 👍🏻😄 قم بتأمين الملف وتمكين الماكرو أخي @abouelhassan موضوع الصلاحيات باب واااااااسع جدا جدا .. وهذا مجرد نموذج مبسط .. ويمكنك الإضافة عليه كما تحب 🙂👌🏻
  13. ما شاء الله تبارك الرحمن 🙂 🌹 فكرة رائعة أخي حسان @hassan123 وهذا دليل على أنه لا حدود للإبداع في الأكسس 👌🏼 بالإضافة للنقطة التي ذكرها أستاذنا @ابوخليل ( وهي نقطة مهمة في نظري ) .. فقط أنبهك لموضوع الروابط للواجهة القديمة و ملف التحديث و رابط التحديث الجديد .. هذه الروابط لو تجعل الكود يتعرف على مواقعها بشكل أوتوماتيكي سيسهل عليك بعض الأمور ... منها : 1- في الجدول xVer أضف حقل لمكان وجود ملف التحديث وذلك للحصول عليه تلقائيا من الجدول وذلك لأنك قد ترغب مستقبلا في تغيير أسمه أو موقعه دون الحاجة لتغييره يدويا في الكود. 2- قد يتم تنصيب البرنامج على قرص آخر غير ال C لذلك إجعل تحديد مواقع التنصيب شيء من هذا القبيل : 'حذف البرنامج النسخة V001 Kill CurrentProject.Path & "\Shaoon.accdb" ' موقع نسخة البرنامج المحدثة Dim NewUpdatePath As String NewUpdatePath = DLookup("[NewUpdateFilePath]", "[xVer]") 'نسخ النسخة الجديدة002 ووضعها بدل النسخة التي انحذفت FileCopy NewUpdatePath, _ CurrentProject.Path & "\Shaoon.accdb" . . . . ...... <<تكملة الكود>> لاحظت بأنك قمت بربط التحديث الجديد بقاعدة البيانات قبل وضع التحديث موضع التنفيذ وهذا شيء جيد 👍🏻🙂
×
×
  • اضف...

Important Information