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

Foksh

الخبراء
  • Posts

    4957
  • تاريخ الانضمام

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

  • Days Won

    234

كل منشورات العضو Foksh

  1. إما بإعادة تثبيت نسخة ويندوز 11 بتحديثات جديدة ، أو العودة الى الإصدار السابق ( ويندوز 10 ) ..
  2. ما هو اصدار الأوفيس الذي تستخدمه بعد التحديث ؟؟
  3. ما شاء الله ، إبدااااع جميل أستاذ منتصر ، هذه الدالة والفكرة فعلاً مفيدة عندما تريد إضافة علامة مائية مثل "مسودة" أو "سري" ، أو نسخة غير مدفوعة للبرامج التي تعتمد على المدة التجريبية .... أو أي نص آخر في خلفية التقرير .
  4. ليس هناك من مشكلة أخي الكريم ، انا وجهتك الى الخطأ الحاصل في الملف والغير مقصود لربما .. ويبدو أنك قمت بتعديل المشاركة المشار اليها سابقاً ولم أنتبه لها .. جزاكم الله كل خير على متابعتكم
  5. أثابك الله ، راجع ملفك الأخير في هذه المشاركة :-
  6. في نفس النموذج أخي :- الموضع الأول :- Private Sub أمر8_Click() Public Function arTableName() As String arTableName = ChrW(1580) & ChrW(1583) & ChrW(1608) & ChrW(1604) & ChrW(32) & _ ChrW(1578) & ChrW(1587) & ChrW(1580) & ChrW(1610) & ChrW(1604) & ChrW(32) & _ ChrW(1575) & ChrW(1604) & ChrW(1603) & ChrW(1578) & ChrW(1576) End Function الموضع الثاني :- Private Sub أمر8_Click() Dim arTblName As String Dim maxGN As Long Dim arMsgPrompt As String Dim arMsgTitle As String Dim msgResponse As VbMsgBoxResult On Error GoTo ErrorHandler arTblName = arTableName maxGN = Nz(DMax("[No_Gard]", "[T_Gard]"), 0) arMsgTitle = "تأكيد تنفيذ الأمر" arMsgPrompt = "أنت على وشك تحديث حالة جميع الكتب باليومية" arMsgPrompt = arMsgPrompt & vbCrLf & "من كتب موجودة إلى كتب فاقد" arMsgPrompt = arMsgPrompt & vbCrLf & "لتأكيد الأمر أضغط موافق ، ولإلغائه أضغط إلغاء" msgResponse = MsgBox(arMsgPrompt, vbQuestion + vbOKCancel + vbMsgBoxRight, arMsgTitle) strSQL = "UPDATE [" & arTblName & "]" & vbCrLf & _ " SET [" & arTblName & "].CaseBook = ""فاقد""," & vbCrLf & _ " [" & arTblName & "].[G N] = " & maxGN & vbCrLf & _ " WHERE ((([" & arTblName & "].CaseBook)=""موجود"")" & vbCrLf & _ " AND (Not ([" & arTblName & "].title) Is Null)" & vbCrLf & _ " AND (([" & arTblName & "].searinumber) Between [forms]![F_GardBooks]![text]" & vbCrLf & _ " AND [forms]![F_GardBooks]![text2]))" & vbCrLf & _ " OR ((([" & arTblName & "].CaseBook)=""موجود"")" & vbCrLf & _ " AND (([" & arTblName & "].title) Is Null)" & vbCrLf & _ " AND (([" & arTblName & "].searinumber) Between [forms]![F_GardBooks]![text]" & vbCrLf & _ " AND [forms]![F_GardBooks]![text2]));" If msgResponse = vbOK Then DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True MsgBox "تم تحديث البيانات بنجاح والحمد لله" Else End If Exit Sub ErrorHandler: Debug.Print Err.Number; Err.Description End Sub
  7. من الواضح انه يوجد لديك تكرار للكود الخاص بالزر أمر8 ، تأكد من عم وجود تكرار لحدث عند النقر لنفس الزر مرتين قمت بالرد على الجزء الأول ، أما فيما يتعلق بالمشكلة التي تمر بها على القاعدة الأصلية ، فلا أعلم طبيعتها ولا كيفية نقلك للكود في تشابه أو اختلاف الأسماء ..... إلخ .
  8. وعليكم السلام ورحمة الله وبركاته ,, راجع هذا الموضوع قد يوصلك الى نتيجة التحديثات التي طرأت عند التحديث من ويندوز 10 الى ويندوز 11 !!!
  9. وعليكم السلام ورحمة الله وبركاته .. تفضل هذه الفكرة :- Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range, valToCheck, foundCell As Range On Error Resume Next Set c = Intersect(Target, Columns("E")) If c Is Nothing Then Exit Sub Application.EnableEvents = False valToCheck = c.Value If valToCheck <> "" Then Set foundCell = Columns("E").Find(valToCheck, LookIn:=xlValues) If Not foundCell Is Nothing And foundCell.Row <> c.Row Then If WorksheetFunction.CountBlank(Range("K" & foundCell.Row & ":N" & foundCell.Row)) = 4 Then MsgBox "الحالة سبق ادخالها ولم يتم بشانها اجراء", vbExclamation + vbMsgBoxRight, "تنبيه" c.ClearContents End If End If End If Application.EnableEvents = True End Sub Book1.zip
  10. الفكرة ليست في إيجاد بدائل فقط ، الفكرة في إيجاد بدائل دائمة وليس مؤقته ..
  11. فقط يلزمك تغيير السطر التالي :- .Fields.Append .CreateField("lejnah_id", dbText) الى التعديل التالي :- .Fields.Append .CreateField("lejnah_id", dbLong) للتعامل مع الحقل على انه رقمي بدلاً من نصي .. وسيكون التسلسل كرقم وليس كنص وبالتالي تحصل على طلبك 😇
  12. رغم أن طريقتك في التصميم غريبة 😅 ، وتحتاج وقتاً لاستيعابها ، لكن تفضل ، جرب هذا التعديل : Data127.zip
  13. وعليكم السلام ورحمة الله وبركاته ، بدلاً من الإستعلام المعقد الذي استخدمته ، كان لي فكرة أخرى وهي الإعتماد على جدول مؤقت .. تابع الخطوات التي شرحتها أعلاه ، وانقر زر "اختر التاريخ والصفوف او احدها ثم انقر" ، وتابع النتيجة إن كانت صحيحة ,, Data126.zip
  14. اذا كان هذا العامل يعمل لأكثر من 15 ساعة ، فيمكن استثنائه من الشروط التي قيدنا بها العمل بحيث من خلال حقل Yes/No ان هذا العامل مستثنى !!! 🙄
  15. جميل جداً ، جزاكم الله كل الخير معلمنا الفاضل على هذه الفكرة الجميلة الشاملة ,, كنت سابقاً استخدم فكرة بسيطة :- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error Resume Next Dim newKeyCode As Integer Select Case KeyCode Case vbKeyDown DoCmd.GoToRecord , , acNext Case vbKeyUp DoCmd.GoToRecord , , acPrevious Case vbKeyRight newKeyCode = vbKeyLeft KeyCode = newKeyCode Case vbKeyLeft newKeyCode = vbKeyRight KeyCode = newKeyCode End Select End Sub Private Sub Form_Open(Cancel As Integer) Me.KeyPreview = True End Sub لكن بعد التوسع الكبير في العمل بما تقدمتم به من خلال الكلاس ، سأضطر لإعادة النظر بفكرتي المتواضعة 😅
  16. وعليكم السلام ورحمة الله وبركاته ,, تفضل هذا التعديل :- DDCompanyLogos.zip
  17. بارك الله فيك أخي الكريم ، ونسأل الله لكم مزيداً من التقدم ..
  18. وهذه فكرة لا تعتمد على اي شروط كما في السابقة .. اختر ما يناسبك saffar2.zip
  19. جرب هذا التعديل !!! saffar.zip
  20. لكم جزيل الشكر على إطرائكم ولطفكم . عند التفكير بعمق وترتيب الأحداث التي قد تلي التخطيط وتنفيذها ، ستلاحظ أن الأفق في التنفيذ يتوسع قليلاً قليلاً لتجد أن الفكرة الصغيرة أصبحت مشروعاً شاملاً وكبيراً .. الضابط كما أشرتم سيكون حقل التاريخ في أي حركة ، ما لم نتوسع بالإحتمالات والإمكانيات .. في فكرة نظام الطابور والدور ، أضفت لوحة تحكم للمدير بإنهاء العملاء العالقين بتاريخ سابق أو اليوم . حيث جاءة الفكرة ببساطة أن النظام قد أصيب بخلل ، أو أنقطاع الكهرباء .... إلخ . لذا توجهت لمنح المدير حق الإنهاء للتذاكر القديمة التي سجلت بداية وقت خدمة ولم تسجل وقت نهاية . أو تم حجزها ولم يتم تسجيلها لأي موظف .... إلخ . رغم أن الفكرة بدأت لدي بقاعدة واحدة و 5 نماذج ( 3 موظفين وشاشة انتظار وشاشة حجز الدور ) ....
  21. كلام سليم 100% .. ومن هنا خطرت لي فكرة لوحة تحكم للمشرف أو المدير . حيث يتم عرض جميع الجلسات المفتوحة التي تجاوزت المدة المقررة ولنفترض 24 ساعة ، ومنحه إمكانية إغلاقها يدوياً مع إضافة تعليق كملاحظة على سبيل المثال . وسيكون من السهل إحصاء عدد المرات التي يتم فيها الإغلاق التلقائي لكل موظف . وقد نجعل الأمر متروك لصلاحيات المدير الفرعي على سبيل المثال بأن يحدد انها مغادرة مفتوحة ، بحيث أتى الموظف E325 مثلاً وسجل حضور وتم ارساله الى مؤتمر لـ 3 أيام على سبيل المثال ، وبقيت كحضور مسجلة دون إنصراف ...... الأفكار كثيرة ومقرونة بالإحتمالات ومدى محدودية البرنامج بالطبع ..
  22. تعني أنه إذا كانت الجلسة المفتوحة أقل من 24 ساعة على سبيل المثال ، فيتم عرض تنبيه للمستخدم :- " يوجد جلسة مفتوحة من ( التاريخ والوقت ) . هل تريد إغلاقها وبدء جلسة جديدة ؟ " بحيث يختار إما :- إغلاق الجلسة السابقة وبدء جديدة أو إلغاء العملية والباقاء على الجلسة السابقة على سبيل المثال ؟؟؟ وهنا أعتقد قد تكون لنا حاجة للوحة مدير بحيث يتم توسيع الأفكار ومنح هذا السجل بالتجاوز عنه من الإغلاق الآلي ... إلخ من صلاحيات أو أفكار هنا الموضوع قد توسع في مخيلتي 😁 .
  23. 🤗 بارك الله بكم أستاذنا الكبير ، وأشكر لكم ثقتكم .. وما نحن إلا سائرون على خطاكم ونهجكم .
×
×
  • اضف...

Important Information