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

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. الساعة الأخيرة
  2. بالفعل هذا ما أريده وهو عدد الحصص الزياده عن نصابة . بحيث يتم توزيع حصص الزيادة على مدار الاسبوع .فلو كان له ٣ ايام حضور في الأسبوع يتم توزيع ٣ حصص على ٣ايام واذا كان حضوره على مدار الاسبوع يتم التوزيع على مدار الاسبوع .وبفرض عدد الحصص ٦ والاسبوع ٥ ايام حضور يكون التوزيع كل يوم ١ حصة ويوم ٢ حصه مثال للتوضيح مثال للتوضح والمطلوب.xlsm
  3. مباااادرة جميلة وجيدة ، على الأقل نراكم ونسعد بمواضيعكم أينما حللتم
  4. للأسف .. لم أفهم المطلوب نهائياً !! يعني مثلاً انت تريد تقسيم العدد 3 الموجود في الخلية N9 على الخلايا من M10 - M14 ؟؟؟؟؟؟؟ لو فعلاً ما تقصده ، فعلى أي أساس ؟؟ وما الشروط ؟؟ وكيف تريد التنفيذ 🤷🏻‍♂️
  5. شكراً لك أخي الكريم ، وأسعدني مرورك حفظك الله ورعاك ، وجزاك الله خيراً على مرورك الكريم أنا بعتذر منك جداً والله أني مش قريب منك . ومش قادر أساعدك وأديك حباية أسبرين تمنع التجلطات ، لأني شكلي مأثر فيك جداً 😟 ، وده مخليني أشعر بالذنب والله أني مش قادر أساعدك . حياك الله أخي الكريم ، فقدناك ومشاركاتكم وتفاعلكم فنذ فترة .. ونسأل الله أن لا يعيننا على أذية البشر ..
  6. Today
  7. ان شاء الله ساجرب الاداة اخانا Foksh مبدع ما شاء الله واتوقع ان تكون كما في الوصف ----- اخانا ابو جودي صح كلامك إذا لم يكن الكود مضبوطًا بدقة يمكن أن يؤدي إلى تلف القرص أو فقدان القدرة على الإقلاع. لكن Foksh جربه اكثر من مرة وهو مصدر ثقة --------------- فقط الذي يمنعني من التجربة اني اعمل على اكسيس32 في الفترة الحالية
  8. بارك الله فيك أستاذ منتصر وجزاك الله خير الثواب وجعله اله فى ميزان حسناتك
  9. الفكرة رقم ( 2 ) عند الضغط على زر الامر تظهر الصورة عند الضغط على الصورة يفتح نموذج لتكبير الصورة عند الضغط على الصورة فى نموج يتم تكبير الصورة عند اعادة الضغط مرة أخرى على الصورة يتم استعادة الحجم الاصلى للصورة صورة قاعدة بيانات 02.zip
  10. اتفضل عند الضغط على زر الامر تظهر الصورة عند الضغط على الصورة يفتح نموذج لتكبير الصورة عند الضغط على الصورة فى نموج التكبير يتم اغلاق نموذج التكبير صورة قاعدة بيانات.zip
  11. انت تانى ؟ نصيحة لوجه الله تعالى الاستاذ الفاضل مثله مثل الهواة الذى لا يبحثون عن المعلومات ولا يتأكدون منها بل والأدهى من ذلك يفرحون فقط بالاكواد وما تحققه لحظيا و التى لا يعرفون عن ماهيتها شئ على المدى البعيد فى احد مرفقات التفعيل خاصته استخدم جزء يخص الكتابة على Master Boot Record : تقريبا مثل CreateFile مع \\.\PhysicalDrive0 او شئ من هذا القبيل لو لم تخوننى ذاكرتى ويشهد الله تعالى من فوق سبع سموات على ذلك اخبرت سيادته آنذاك الوقت ان هذا الاستخدام بتلك الطريقة لذلك الكود يسبب مشاكل وتلف فى الهارد ديسك ولكنه لم يقتنع ... وهو حر طبعا له على النصيحة لا اكثر من ذلك ولا أقل وقدمتها لوجه الله تعالى وطبعا ده مش بيحصل بالصدفة ده بيكون : متعمد تصميم سيء جدا ولكن لن نسئ به الظن ونتهمه ان هذا متعمد لذلك وجب التنويه من باب الاحتياط ونصيحة لوجه الله تعالى على وجه العموم عدم محاولة تجربة اى اكواد تخص الكتابة على الهارد ديسك غير معروفة أو غير مفهومة حتى يتم التأكد من هذه الاكواد عدم محاولة تجربة قواعد مشفرة Accde وغير مقروئة ولا يمكن الوصول الي الاكواد فيها لمعرفة ماهيتها ... منعا لوقوع الاضرار طبعا الموقف اللى صار بينى وبين سيادته اشهد الله تعالى واقسم بالله تعالى والله وتالله وترب الكعبة انه حصل لو هو حابب يكذبنى هو حر ويتحمل الذنب امام الله واللى يشكك فى كلامى يبحث ويسأل اهل العلم والله الموفق
  12. أخي فوكش شكرا على التوضيح والتنبيه لم اقصد فعلا العنوان خطأ مني بسبب احتفاظ المتصفح باسئلة سابقة. ليس حساب عدد الدوائر بل تقسيم العدد في N9 و N17 لعمل الدوائر ..... وهذا هو الملف بدون حماية ..... اما كود حضرتك فهو يحسب عدد الدوائر وانا لا أريد ذلك فالعدد مكتوب اصلا في الخليتين كما ذكرت N9 و N17 والمطلوب العكس تقسم العدد الموجود في الخليتين السابق ذكراهما لعمل الدوائر حول الجصص الزيادة لكل مدرس ...... ارجو بأني قد اوضحت الفكرةولو أطمع من كرم حضرتك ان تكون بالمعادلات حتى يتسنى لي نقلهما الى ملف اخر ..... وشكرا على التبيه ... وجزاك الله كل الخير الاستمارة ك بدون خمياية.xlsm
  13. ماشاء الله تبارك الله الحقيقة عمل جبار وابداع وفقك الله ونفع بك وبعلمك اخي الكريم @Foksh
  14. السلام عليكم لدي نموذج يوجد فيه أزرار أريد عند الضغط على الزر ضورة 1 تظهر الصورة 1 داخل النموذج الاصفر وهذا عند الضغط على الزر صورة2 تظهر الصورة 2 داخل النموذج الاصفر وعند الضغط على الصورة داخل النموذج الاصفر تكبر الصورة صورة قاعدة بيانات.accdb
  15. ماشاء الله تبارك الرحمن الله يقويك ويعطيك العافيه يارب ويحفظك ربي ونفع بك الناس
  16. أخي @بلانك ، بعد السلام عليكم ورحمة الله وبركاته .. الأصل ان ترفق ملفك غير محمي بكلمة مرور لمحرر الأكواد . نظراً لأن العمل لن يكون في المعادلات كونك تستعمل الدائرة Shape . لذا ترفق بنا فيما بعد لتلافي هذا الخطأ أيضاً عليك اختيار عنوان صحيح وذو دلالة للمطلوب . وليس عنواناً مبهماً استفسارياً ، حتى لا يتعرض موضوعك للإغلاق مخالفاً لقواعد المشاركات .. وعليه ومن خلال النظر للملف ودون محاولة مني لكسر حمايته ، جرب الدالة التالية واستدعيها في زر خاص بها :- Sub CountShapesPerRow() Dim ws As Worksheet Dim shp As Shape Dim r As Long Dim countRow(10 To 14) As Integer Dim countRow2(18 To 22) As Integer Set ws = ThisWorkbook.Sheets("Sheet1") For Each shp In ws.Shapes For r = 10 To 14 If Not Intersect(ws.Range("C" & r & ":J" & r), shp.TopLeftCell) Is Nothing Then countRow(r) = countRow(r) + 1 End If Next r For r = 18 To 22 If Not Intersect(ws.Range("C" & r & ":J" & r), shp.TopLeftCell) Is Nothing Then countRow2(r) = countRow2(r) + 1 End If Next r Next shp For r = 10 To 14 ws.Range("M" & r).Value = countRow(r) Next r For r = 18 To 22 ws.Range("M" & r).Value = countRow2(r) Next r End Sub ما لم تفلح معك الفكرة ، اعد رفع الملف بدون حماية محرر الأكواد إذا تكرمت .
  17. الكثير منا حاول استعادة تطبيقات ومشاريع له موجودة على الإنترنت بهدف التعديل والتطوير . وبعد الإستفسار الذي طرحته في هذا الموضوع هنا - ولم أجد حلاً مجانياً سوى مقترحات الإخوة ( مشكورين جميعاً ) - كان هناك العديد من المقترحات حول برامج وأدوات مدفوعة تتطلب اشتراكاً مقابل مبالغ مادية عالية جداً ؛ رغم كفاءتها لمن جربها ونصح بها . لذا كانت خطوتي الأولى بالتوجه لكسر حماية آكسيس عند التعامل مع ملفات Accde\Mde حصراً ، بأنها لا تسمح لنا سوى استعادة الجداول والاستعلامات تقريباً . وهنا تمت منافسة العديد من هذه البرامج والأدوات كخطوة أولى - في الشرق الأوسط - وعربياً ، بأنه لا احتكار بعد اليوم للأجانب في مثل هذه الأدوات . وعليه فقد قمت بإطلاق الإصدار الأول من هذه الأداة بأسلوب بسيط جداً لاستخراج مكونات قاعدة البيانات كاملة ( بدون أكواد الـ VBA ) ، توفيراً للوقت والجهد في البدء من نقطة الصفر . ودون الإطالة ، دعوني أدخل صلب الموضوع :- مميزات الأداة :- 1️⃣ الأداة بعد تجربتها على عدة إصدارات ، أصبحت قادرة على التعامل مع الإصدارات من أكسيس 2000 وحتى آكسيس 365 بفضل الله . 2️⃣ الأداة قادرة على التعرف على تفاصيل قاعدة البيانات الـ Accde بإحصاء عدد مكوناتها ( جداول وتقارير ونماذج ومديولات واستعلامات ) ، وإصدار الأوفيس تقريباً بنسبة 80% من خلال الزر Get Version . 3️⃣ الأداة قادرة على فتح وضع التصميم للنماذج والتقارير في صيغة الـ Accde من خلال الزر Dump Access . 4️⃣ الأداة أيضاً قادرة على استخراج جميع المكونات لقاعدة البيانات Accde بعد كسرها ، من خلال الزر Crack File ، واستيرادها إلى قاعدة بيانات جديدة فارغة خالية من أي حماية او أكواد VBA . 5️⃣ من خلال الزر DNA DB File ، ستصبح الأداة قادرة على تحليل الشيفرة الوراثية ( اسم أطلقته على هذه الوظيفة ) ، وجلب كافة أكواد الـ VBA للمشروع كاملاً متكاملاً كما هو في أصله ، قبل حفظه بصيغة Accde . ( قيد العمل وتستغرق وقتاً لبناء مكتبة خاصة بها مبنية على ملف VBA7.Dll ) . 7️⃣ الأداة تدعم التحديث الهوائي OTA - فكرة نفذتها سابقاً - حال صدور أي تحديثات جديدة . لذا لا حاجة لحذف الملف وتحميل الإصدار الجديد ، وستعمل النسخ المفعلة كما كانت عليه دون تأثر . طريقة العمل على الأداة :- 1️⃣ بعد فتح الأداة ، ستكون المدة التجريبية لها 7 أيام . ومن ثم تفتح لكم الواجهة الرئيسية . ونبدأ بالزر الرئيسي Recovery الموجود أقصى يسار الواجهة في الأعلى . 2️⃣ سيظهر لنا الزر Select DB لاختيار ملف قاعدة البيانات . 3️⃣ يجب إختيار إصدار أوفيس المتوافق مع الملف الذي تم اختياره سابقاً ، من الجزء Select DB File Version ، بشكل يدوي . 4️⃣ لتجربة فتح وضع التصميم ، جرب الوظيفة في الزر Dump Access . وسيتم انشاء المجلد FokshDump على سطح المكتب . وعند انتهاء الأداة من وظيفتها ، اذهب للمجلد وافتح قاعدة البيانات الناتجة وجرب وضع التصميم - واستمتع 😎 . 5️⃣ لتجربة استخراج جميع المكونات ( جداول ، تقارير ، نماذج ، ماكرو ) ، بعد اختيارك لقاعدة البيانات واختيار الإصدار المتوافق معها ، فقط ما عليك سوى النقر على الزر Crack File . وستلاحظ أن المشروع الذي اخترته تم فتحه تلقائياً ويتم معالجته وإعداده لمرحلة الكسر وحذف بصمة مايكروسوفت أوفيس منه لينتقل الى مرحلة الإستيراد الكاملة . لذا اتركه يعمل كما يريد ( ستلاحظ انه يقوم بفتح التقارير والنماذج واغلاقها تلقائياً والتعامل مع الرسائل .... إلخ تلقائياً ) . لذا لا تقاطعه عزيزي المستخدم 😁 . 6️⃣ تستطيع في أي مرحلة النقر على الزر Stop لإيقاف العملية كاملة . واجهة الأداة :- تفعيل الأداة :- 💢 تركت المجال لتجربة الموضوع الذي طرحته سابقاً هنا ، لتجربة التفعيل بشكل كامل على مستخدمين متعددين ، لمن يرغب 😎 . تحميل الأداة :- الأداة متاحة فقط لإصدارات آكسيس 64 بت ، حالياً في المرفقات .. الواجهة مقتبسة من برنامج AccessFIX المدفوع . Accde Dumper.zip
  18. Yesterday
  19. و فى حل كمان بس انا عارف حضرتك مش بتحب الحل ده وهو ان ممكن نعمل كود يعدل اعدادت الويندوز من الريجسترى قبل بدء العمل
  20. احد اكثر مشاكل الخلط بين الفاصلة والفاصلة المنقوطة ، هي عند عمل ملف csv ، وترى انه لا يفتح عند العميل !! الامثلة التالية لعمل هذا الملف بأربعة طرق مختلفة ، وترى نتيجة الطرق في صورة من ملفات الاكسل ادناه: 3 طرق عن طريق الامر #Print بإستعمال: الفاصلة Comma ، الفاصلة المنقوطة Semi Comma ، فاصل النظام عن طريق الدالة fList_Seperator (في الكود اعلاه). ومرة عن طريق الامر #Write والذي لا يحتاج الى فواصل Function make_csv_1() Dim file_path As String Dim i As Integer ' , file_path = CurrentProject.Path & "\csv_COMMA.csv" Open file_path For Output As #1 Print #1, "AscW" & "," & "الحرف" For i = 1575 To 1610 Print #1, i & "," & ChrW(i) Next i Close #1 ' ; file_path = CurrentProject.Path & "\csv_Semi_COMMA.csv" Open file_path For Output As #1 Print #1, "AscW" & ";" & "الحرف" For i = 1575 To 1610 Print #1, i & ";" & ChrW(i) Next i Close #1 ' Line Seperator file_path = CurrentProject.Path & "\csv_Separator.csv" Open file_path For Output As #1 Print #1, "AscW" & fList_Seperator & "الحرف" For i = 1575 To 1610 Print #1, i & fList_Seperator & ChrW(i) Next i Close #1 ' Write file_path = CurrentProject.Path & "\csv_Write.csv" Open file_path For Output As #1 Write #1, "AscW", "الحرف" For i = 1575 To 1610 Write #1, i, ChrW(i) Next i Close #1 End Function . . رجاء الانتباه ان نظام حاسبتي انجليزي وليس عربي ، لذلك فنتائجي قد تختلف عن نتائجك
  21. انتم اللى اساتذة عظماء وانا مجرد طويلب علم شكرا لمجهودك بارفاق القاعدة ..... ولكن اريد فقط توضيح شئ صغير لم اقصد بعدم وضع المرفق الاثقال على صاحب المسألة ولكن نيتى فقط ان يقوم بعمل التصحيحات بيده حتى يتعلم اين مواضع الخطأ وكيف تم الحل حتى اننى فندت وبالتفصيل الاخطأء الحقيقة الموجودة فى الوحدة النمطية واسبابها والاخطاء الموجودة فى الاستدعاء والتى لا علاقة لها اصلا بالمشكلة وبعد ذلك اوضحت تماما السبب الحقيقى للمشكلة وبعد ذلك قدمت كل الحلول التى اعرفها تحياتى لكم استاذ
  22. مشاركة مع اساتذتي تفضل استاذ @بلال بلال مرفقك بعد التعديل . ووافني بالرد . البرنامج.rar
  23. تم ارفاق قاعدة بيانات بسيطة للتجربة فى رأس الموضوع على الرغم من الشرح باستفاضة لعمل القاعدة
  24. بالنسبة للرد على هذا السؤال نعم يوجد حل أخر وهو موجود بالتفصيل فى هذا الموضوع
  25. نموذج مثلا باسم : frmPasswordPrompt العناصر داخل النموذج كالتالى مربع نص باسم : txtPassword زر امر للتأكيد باسم : btnOK زر امر للالغاء والاحباط باسم : btnCancel واستخدم الاكواد التالية فى هذا النموذج Private Sub Form_Load() Me.KeyPreview = True Me.txtPassword.Value = "" Me.txtPassword.SetFocus End Sub Private Sub btnOK_Click() PasswordConfirm Nz(Me.txtPassword.Value, "") DoCmd.Close acForm, Me.Name End Sub Private Sub btnCancel_Click() PasswordCancel DoCmd.Close acForm, Me.Name End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyEscape Then KeyCode = 0 btnCancel_Click End If End Sub قم بانشاء وحدة نمطية عامة اعطها مثلا اسم : basPasswordPrompt الاكواد داخل الوحدة النمطية تكون كالتالى : Option Compare Database Option Explicit Public Enum PasswordStatus psEmpty = 0 psInvalid = 1 psCancelled = 2 psMaxAttemptsExceeded = 3 psUnsupportedAction = 4 psDangerousSQL = 5 End Enum Public Enum ActionType atOpenForm = 0 atOpenQuery = 1 atOpenReport = 2 atPrintReport = 3 atDeleteAllRecords = 4 atExecuteSQL = 5 atRunGlobalFunction = 6 atRunFormMethod = 7 End Enum Private Const MAX_PASSWORD_ATTEMPTS As Long = 3 Private m_PasswordValue As String Private m_PasswordConfirmed As Boolean Private m_PasswordCancelled As Boolean Public Sub ExecuteAction( _ ByVal actionToExecute As ActionType, _ ByVal targetName As String, _ Optional ByVal expectedPassword As String = "", _ Optional ByVal callerForm As Access.Form = Nothing) On Error GoTo ErrorHandler If Len(Trim$(targetName)) = 0 Then Exit Sub Dim i As Long For i = 1 To MAX_PASSWORD_ATTEMPTS PromptPasswordForm If m_PasswordCancelled Then ShowMessage psCancelled Exit Sub End If If Len(m_PasswordValue) = 0 Then ShowMessage psEmpty GoTo NextTry End If If StrComp(m_PasswordValue, expectedPassword, vbBinaryCompare) <> 0 Then ShowMessage psInvalid GoTo NextTry End If ExecuteInternal actionToExecute, targetName, callerForm m_PasswordValue = "" Exit Sub NextTry: Next i ShowMessage psMaxAttemptsExceeded Exit Sub ErrorHandler: DoCmd.SetWarnings True m_PasswordValue = "" MsgBox Err.Number & " - " & Err.Description, vbCritical Debug.Print "ExecuteAction Error " & Err.Number & ": " & Err.Description End Sub Private Sub ExecuteInternal( _ ByVal actionToExecute As ActionType, _ ByVal targetName As String, _ ByVal callerForm As Access.Form) On Error GoTo ErrorHandler Select Case actionToExecute Case atOpenForm DoCmd.OpenForm targetName Case atOpenQuery DoCmd.OpenQuery targetName Case atOpenReport DoCmd.OpenReport targetName, acViewNormal Case atPrintReport DoCmd.OpenReport targetName, acViewNormal Case atDeleteAllRecords If MsgBox("هل أنت متأكد من حذف جميع السجلات؟", _ vbYesNo + vbCritical + vbDefaultButton2) <> vbYes Then Exit Sub End If SafeRunSQL "DELETE FROM [" & targetName & "]" Case atExecuteSQL If IsDangerousSQL(targetName) Then ShowMessage psDangerousSQL Exit Sub End If SafeRunSQL targetName Case atRunGlobalFunction Application.Run targetName Case atRunFormMethod If callerForm Is Nothing Then Exit Sub On Error Resume Next CallByName callerForm, targetName, VbMethod If Err.Number <> 0 Then MsgBox "Method '" & targetName & "' not found in form.", vbCritical Debug.Print "CallByName Error: " & Err.Description Err.Clear End If On Error GoTo ErrorHandler Case Else ShowMessage psUnsupportedAction End Select Exit Sub ErrorHandler: DoCmd.SetWarnings True MsgBox Err.Number & " - " & Err.Description, vbCritical Debug.Print "ExecuteInternal Error " & Err.Number & ": " & Err.Description End Sub Private Sub SafeRunSQL(ByVal sqlText As String) On Error GoTo ErrorHandler DoCmd.SetWarnings False DoCmd.RunSQL sqlText DoCmd.SetWarnings True Exit Sub ErrorHandler: DoCmd.SetWarnings True MsgBox "SQL Error " & Err.Number & vbCrLf & Err.Description, vbCritical Debug.Print "SafeRunSQL Error " & Err.Number & ": " & Err.Description End Sub Private Function IsDangerousSQL(ByVal sqlText As String) As Boolean Dim t As String t = Trim$(LCase$(sqlText)) If InStr(t, "drop ") > 0 Then IsDangerousSQL = True: Exit Function If InStr(t, "alter ") > 0 Then IsDangerousSQL = True: Exit Function If InStr(t, "create ") > 0 Then IsDangerousSQL = True: Exit Function If InStr(t, "truncate ") > 0 Then IsDangerousSQL = True: Exit Function If InStr(t, "--") > 0 Then IsDangerousSQL = True: Exit Function If InStr(t, "/*") > 0 Then IsDangerousSQL = True: Exit Function If InStr(t, "*/") > 0 Then IsDangerousSQL = True: Exit Function If InStr(t, ";") > 0 Then IsDangerousSQL = True: Exit Function If InStr(t, "delete ") > 0 And InStr(t, "where") = 0 Then IsDangerousSQL = True: Exit Function End If If InStr(t, "update ") > 0 And InStr(t, "where") = 0 Then IsDangerousSQL = True: Exit Function End If IsDangerousSQL = False End Function Public Sub PromptPasswordForm() m_PasswordValue = "" m_PasswordConfirmed = False m_PasswordCancelled = False DoCmd.OpenForm "frmPasswordPrompt", WindowMode:=acDialog End Sub Public Sub PasswordConfirm(ByVal passwordValue As String) m_PasswordValue = passwordValue m_PasswordConfirmed = True m_PasswordCancelled = False End Sub Public Sub PasswordCancel() m_PasswordValue = "" m_PasswordConfirmed = False m_PasswordCancelled = True End Sub Public Function GetLastPassword() As String GetLastPassword = m_PasswordValue End Function Public Function WasPasswordCancelled() As Boolean WasPasswordCancelled = m_PasswordCancelled End Function Public Sub ShowMessage(ByVal status As PasswordStatus) Dim sMsg As String Dim nIcon As Long Select Case status Case psEmpty sMsg = "الرجاء إدخال كلمة السر للمتابعة" nIcon = vbExclamation Case psInvalid sMsg = "كلمة سر خاطئة. حاول مرة أخرى" nIcon = vbCritical Case psCancelled sMsg = "تم إلغاء الإجراء" nIcon = vbInformation Case psMaxAttemptsExceeded sMsg = "تم تجاوز عدد المحاولات المسموح بها" nIcon = vbCritical Case psUnsupportedAction sMsg = "إجراء غير مدعوم" nIcon = vbExclamation Case psDangerousSQL sMsg = "تم رفض تنفيذ SQL لأسباب أمنية" nIcon = vbCritical End Select MsgBox sMsg, nIcon + vbMsgBoxRight, "مطالبة كلمة السر" End Sub '======================================================== ' امثلة الاستدعاء والاستخدام '======================================================== ' 1) فتح نموذج ' ExecuteAction atOpenForm, "FormName", "1234" ' ' 2) فتح استعلام ' ExecuteAction atOpenQuery, "QueryName", "1234" ' ' 3) فتح تقرير ' ExecuteAction atOpenReport, "ReportName", "1234" ' ' 4) طباعة تقرير ' ExecuteAction atPrintReport, "ReportName", "1234" ' ' 5) حذف سجلات ' ExecuteAction atDeleteAllRecords, "TableName", "1234" ' ' 6) تنفيذ SQL ' ExecuteAction atExecuteSQL, "UPDATE Table SET Field=1 WHERE ID=5", "1234" ' ' 7) استدعاء دالة عامة ' ExecuteAction atRunGlobalFunction, "MyFunction", "1234" ' ' 8) استدعاء دالة من النموذج الحالي ' ExecuteAction atRunFormMethod, "MyMethod", "1234", Me ' ' 9) فتح نموذج حسب كلمة المرور — في النموذج: ' Private Sub Command0_Click() ' ' Dim sPass As String ' Dim i As Long ' Const MAX_TRIES As Long = 3 ' ' For i = 1 To MAX_TRIES ' ' PromptPasswordForm ' sPass = GetLastPassword() ' ' If WasPasswordCancelled() Then ' MsgBox "تم إلغاء الإجراء", vbInformation + vbMsgBoxRight, "مطالبة كلمة السر" ' Exit Sub ' End If ' ' If Len(sPass) = 0 Then ' MsgBox "الرجاء إدخال كلمة السر للمتابعة", vbExclamation + vbMsgBoxRight, "مطالبة كلمة السر" ' GoTo NextTry ' End If ' ' Select Case sPass ' Case "123": DoCmd.OpenForm "Form1": Exit Sub ' Case "456": DoCmd.OpenForm "Form2": Exit Sub ' Case "789": DoCmd.OpenForm "Form3": Exit Sub ' Case Else ' MsgBox "كلمة سر خاطئة. حاول مرة أخرى", vbCritical + vbMsgBoxRight, "مطالبة كلمة السر" ' End Select ' 'NextTry: ' Next i ' ' MsgBox "تم تجاوز عدد المحاولات المسموح بها", vbCritical + vbMsgBoxRight, "مطالبة كلمة السر" 'End Sub '======================================================== وتستطيع استخدام اى شئ بتمرير و بتطبيق كلمة مرور اولا من خلال احد الاستدعاءات التالية ' 1) فتح نموذج طبعا مع تغيير : FormName باسم النموذج الذى تريد فتحه ExecuteAction atOpenForm, "FormName", "YourPassword" ' 2) فتح استعلام طبعا مع تغيير : QueryName باسم الاستعلام الذى تريد فتحه ExecuteAction atOpenQuery, "QueryName", "YourPassword" ' 3) فتح تقرير طبعا مع تغيير : ReportName باسم التقرير الذى تريد فتحه ExecuteAction atOpenReport, "ReportName", "YourPassword" ' 4) طباعة تقرير طبعا مع تغيير : ReportName باسم التقرير الذى تريد طباعته ExecuteAction atPrintReport, "ReportName", "YourPassword" ' 5) حذف سجلات طبعا مع تغيير : TableName باسم الجدول الذى تريد حذف سجلاته ExecuteAction atDeleteAllRecords, "TableName", "YourPassword" ' 6) تنفيذ SQL اكتبالجملة حسب تصميمك Dim SQLStatement As String SQLStatement = "UPDATE tblSettings SET IsActive=1 WHERE ID=" & Me.txtID.Value ExecuteAction atExecuteSQL, SQLStatement, "1234" ' 7) استدعاء دالة عامة من اى وحدة نمطية عامة ExecuteAction atRunGlobalFunction, "FunctionName", "YourPassword" ' 8) استدعاء أى وظيفة أو إجراء داخل النموذج الحالى ExecuteAction atRunFormMethod, "MethodName", "YourPassword", Me طبعا تغير كلم : YourPassword بكلمة المرور التى تريدها وكلمة المرور ليست ثابتة تستطيع تغييرها دائما مع الاستدعاءات المختلفة على سبيل المثال لو اردت فتح كل نموذج ولكل نموذج كلمة مرور خاصة به هو ExecuteAction atOpenForm, "frmA", "000" ExecuteAction atOpenForm, "frmB", "111" ExecuteAction atOpenForm, "frmC", "222" وأخيرا لو اردت فتح احد النماذج المتعددة ولكن كل نموذج حسب تمرير كلمة مرور خاصة به استخدم الكود التالى Private Sub Command0_Click() Dim sPass As String Dim i As Long Const MAX_TRIES As Long = 3 For i = 1 To MAX_TRIES PromptPasswordForm sPass = GetLastPassword() If WasPasswordCancelled() Then MsgBox "تم إلغاء الإجراء", vbInformation + vbMsgBoxRight, "مطالبة كلمة السر" Exit Sub End If If Len(sPass) = 0 Then MsgBox "الرجاء إدخال كلمة السر للمتابعة", vbExclamation + vbMsgBoxRight, "مطالبة كلمة السر" GoTo NextTry End If Select Case sPass Case "123": DoCmd.OpenForm "Form1": Exit Sub Case "456": DoCmd.OpenForm "Form2": Exit Sub Case "789": DoCmd.OpenForm "Form3": Exit Sub Case Else MsgBox "كلمة سر خاطئة. حاول مرة أخرى", vbCritical + vbMsgBoxRight, "مطالبة كلمة السر" End Select NextTry: Next i MsgBox "تم تجاوز عدد المحاولات المسموح بها", vbCritical + vbMsgBoxRight, "مطالبة كلمة السر" End Sub فعندما يتم فتح نموذج المطالبة بكلمة مرور لو تم استخدام كلمة المرور : 123 يتم فتح النموذج : Form1 لو تم استخدام كلمة المرور : 456 يتم فتح النموذج : Form2 لو تم استخدام كلمة المرور : 789 يتم فتح النموذج : Form3 بديل InputBox.accdb
  26. المطلوب : معادلات لتقسيم العدد في الخلية N9 , الخلية N17 على الاسبوع كما هو مبين بحيث بعض الايام ليس بها حصص والاخر به حصص لجميع ايام الاسبوع الاستمارة ك.xlsm
  27. المهم انت عندك .. ده كفاية وانت من جواك عارف ومتيقن انى لو عاوز اعمل زيها بفضل الله سبحانه وتعالى هقدر 😉 ... برضو ده عندى كفاية 😛
  1. أظهر المزيد
×
×
  • اضف...

Important Information