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

منتصر الانسي

المشرفين السابقين
  • Posts

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

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

  • Days Won

    10

كل منشورات العضو منتصر الانسي

  1. اعرض الملف أداة تصفية النموذج أثناء الكتابة على أساس أي حقل من حقول النموذج {سلسلة الأدوات المساعدة المخصصة} ستقوم هذه الأداة بتوفير كل الوقت الذي قد تضيعه في التفكير لطرق تصفية النماذج وستستغني بها عن كل الأكواد أو الأوامر الطويلة داخل كل نموذج للقيام بعملية التصفية وفقاً لكل حقل من حقول النموذج فكل ما ستحتاجه هو سطر واحد فقط وسيتم الأمر تحياتي صاحب الملف منتصر الانسي تمت الاضافه 08/09/25 الاقسام قسم الأكسيس  
  2. Version 1.0.0

    27 تنزيل

    كما يعلم الجميع فإن المتغيرات العامة (العالمية) هي من الأمور الهامة التي يحتاجها أي مطور وهناك عدة طرق يمكن من خلالها تعريف وتعيين قيم لهذه المتغيرات كالإعلان عنها كمتغيرات Public أو Global أو تعريفها ضمن TempVar أو الإحتفاظ بهذه القيم في جدول وكل طريقة من هذه الطرق لها مزاياها وعيوبها ولكن هناك ميزة مخفية لا يعرفها الكثير منا وهي أنه بإمكاننا إنشاء خصائص عامة على مستوى التطبيق أو على مستوى الكائنات أو الحقول حتى يمكننا الإحتفاظ فيها بأي قيم وبأي نوع بيانات ويمكننا إسترجاعها وقت الطلب وهناك الكثير من المطورين الأجانب بدأو بالإعتماد عليها عند العمل مع المتغيرات العامة هذه الأداة تساعدك في إنشاء وتحرير وحذف هذه الخصائص وتوضح لك طريقة الإستفادة من هذه القيم أرجو أن تكون مفيدة لكم وأن تفتح لكم أفاق وأفكار جديدة كما فعلت معي شخصياً تحياتي
  3. اعرض الملف أداة إنشاء وتحرير خصائص التطبيق والتعامل معها كمتغيرات عامة {سلسلة الأدوات المساعدة المخصصة} كما يعلم الجميع فإن المتغيرات العامة (العالمية) هي من الأمور الهامة التي يحتاجها أي مطور وهناك عدة طرق يمكن من خلالها تعريف وتعيين قيم لهذه المتغيرات كالإعلان عنها كمتغيرات Public أو Global أو تعريفها ضمن TempVar أو الإحتفاظ بهذه القيم في جدول وكل طريقة من هذه الطرق لها مزاياها وعيوبها ولكن هناك ميزة مخفية لا يعرفها الكثير منا وهي أنه بإمكاننا إنشاء خصائص عامة على مستوى التطبيق أو على مستوى الكائنات أو الحقول حتى يمكننا الإحتفاظ فيها بأي قيم وبأي نوع بيانات ويمكننا إسترجاعها وقت الطلب وهناك الكثير من المطورين الأجانب بدأو بالإعتماد عليها عند العمل مع المتغيرات العامة هذه الأداة تساعدك في إنشاء وتحرير وحذف هذه الخصائص وتوضح لك طريقة الإستفادة من هذه القيم أرجو أن تكون مفيدة لكم وأن تفتح لكم أفاق وأفكار جديدة كما فعلت معي شخصياً تحياتي صاحب الملف منتصر الانسي تمت الاضافه 08/09/25 الاقسام قسم الأكسيس  
  4. Version 1.0.0

    32 تنزيل

    هناك الكثير يفضل العمل في بيئة عمل داكنة لإنها تكون مريحة للعين أكثر وكما نعرف فإن طريقة تعيين ألوان محرر الأكواد طريقة طويلة ومعقدة بعض الشيئ لذا أقدم لكم هذه الأداة التي تقوم بتحويل محرر الأكواد VBE للوضع الداكن في جميع تطبيقات أوفيس وليس الأكسس فقط هذه الأداة بسيطة جداً ولا تتطلب إلا نقرة زر فقط قمت بتوضيح طريقة عمل الكود بالتفصيل ليتمكن أي شخص من تغيير الإعدادات التي يرغب بها مع تحياتي
  5. اعرض الملف أداة تحويل محرر الأكواد للوضع الداكن Dark Theme {سلسلة الأدوات المساعدة المخصصة} هناك الكثير يفضل العمل في بيئة عمل داكنة لإنها تكون مريحة للعين أكثر وكما نعرف فإن طريقة تعيين ألوان محرر الأكواد طريقة طويلة ومعقدة بعض الشيئ لذا أقدم لكم هذه الأداة التي تقوم بتحويل محرر الأكواد VBE للوضع الداكن في جميع تطبيقات أوفيس وليس الأكسس فقط هذه الأداة بسيطة جداً ولا تتطلب إلا نقرة زر فقط قمت بتوضيح طريقة عمل الكود بالتفصيل ليتمكن أي شخص من تغيير الإعدادات التي يرغب بها مع تحياتي صاحب الملف منتصر الانسي تمت الاضافه 08/09/25 الاقسام قسم الأكسيس  
  6. لن تستطيع تطبيق ماجاء بالصورة بالضبط ولكن طالما يتم تصفية السجلات فيمكن تطبيق نفس الحل الأول قمت بتنفيذ الحل على الملف الأخير وستجده في الملف المرفق تحياتي نعديل البرنامج.rar
  7. صراحة انا لم أفهم المطلوب هل تريد إخفاء مربعات الإختيار أم تريد تغيير التسميات أم تريد عمل فلتر وتصفية السجلات أم تريد تحديث قيمة الحقل ياريت تبين لنا النتيجة بصورة لنعرف الشكل النهائي المطلوب تحياتي
  8. ماشاء الله أعتقد أن المداخلات من @ابو جودي و @jjafferr قد أثرت الموضوع وغطت الطرق الأكثر عملية مع توضيح مزايا وعيوب كل طريقة ولكن وتوضيحا لكلام الاخ @ابو جودي انا استخدم طابعة إفتراضية تقوم بإستخراج التقرير كملف PDF وتعمل مثل الطابعة الحقيقة أما كلامك فمعناه أنك تستخدم الأمر DoCmd.OutputTo وهذا لايعتبر أمر طباعة وإنما امر لإستخراج الكائن بصيغة محددة بحالته كيفما تكون ولو لاحظت فإن الرسالة لاتظهر من الأساس فحدث عند عدم وجود بياتات أو On No Data الخاص بالتقرير يتطلب استخدام الأمر DoCmd.OpenReport حتى يتم تفعيله ولكن مثلما أسلفت فهذه المناقشات جميلة لنتعرف كلنا على الطرق المختلفة لحل المشاكل فقد يحتاجها أحدنا يوما ما مع تحياتي
  9. لا المسألة مش مسألة إن الكود فيه مشكلة انما أنا فكرت في الموضوع من منظورين آخرين الأول طالما وتوجد طريقة أسهل وتنفذ المطلوب لما لا نستفيد منها الثاني الطبيعة البشرية فعلى طول مشاوري في العمل مع الأنظمة لم أجد مستخدم واحد يطبع تقرير بدون مايفتحه في وضع المعاينة وطباعته من هناك وكأنه يريد الإطمئنان على شكل ومحتوى التقرير قبل طباعته أنا لم يحدث معي هذا الأمر فبمجرد اغلاق رسالة التنبيه تلغى عملية الطباعة عموما الإختلاف في الرأي لايفسد للود قضية في الأخير كلها أفكار تصب في مصلحة أعضاء المنتدى فمن خلالها يمكنهم التعرف على كل البدائل الممكنة للعمل بما يلائمهم منها أو حتى أنهم قد يخرجون منها بأفكار أخرى جديدة مع تحياتي
  10. مع إحترامي لحل الأخ @ابو جودي فالمسألة أبسط من كذا كل ماعليك فعله هو إضافة الكود التالي لحدث عند عدم وجود بياتات أو On No Data الخاص بالتقرير 'رسالة تنبيه MsgBox "لايوجد أي بيانات في التقرير", vbMsgBoxRight + vbMsgBoxRtlReading, "تنبيه" 'إلغاء الأمر وعدم متابعة فتح التقرير Cancel = -1 ليصبح بهذا الشكل Private Sub Report_NoData(Cancel As Integer) 'رسالة تنبيه MsgBox "لايوجد أي بيانات في التقرير", vbMsgBoxRight + vbMsgBoxRtlReading, "تنبيه" 'إلغاء الأمر وعدم متابعة فتح التقرير Cancel = -1 End Sub مع تحياتي
  11. من إطلاعي على الملف فأنت تريد أن الصور التي بإسم CompanyLogo و StampLogo أن تكون عامة لكل الفروع والصور BranchLogo تكون متغيرة بحسب الفرع أليس كذلك؟ إذا كان الوضع بهذا الشكل فيجب عليك عدم ربط الصورتين CompanyLogo و StampLogo بالحقل لأنه يفترض أن الشركة واحدة عموما قمت بتعدبل الملف جرب فتح التقرير بزر المعاينة للسجلين الاول والثاني وكذا فتحه مباشر بالنقر المزدوج على التقرير هل هذا التعديل هو ماتطلبه أم شيئ آخر لأن شرحك غير واضح مع تحياتي DDCompanyLogos.rar
  12. يجب إضافة المرجع Microsoft Office 16.0 Object Library كما بالصور أدناه من قائمة Tools إختر References انزل إلى أن تصل للمرجع Microsoft Office 16.0 Object Library (القائمة مرتبة أبجديا وسيكون الوصول للمرجع سهل) قم بتحديده واتقر OK تحياتي
  13. كلامك صحيح مع انه شيئ غريب المفروض تتغيير اليا وفق نسخة الأوقيس عموما الف شكر يظل الواحد يتعلم شيئ جديد كل يوم
  14. مثال الاخ @Foksh النموذج Eye1 رائع خصوصا بعد تعديل الأخت @hanan_ms حيث أصبحت حركة العين أكثر سلاسة عند تحريك الماوس أما النموذج الخاص بالأخت @hanan_ms الذي بإسم Eye2 كلما احرك الماوس عليه تظهر لي رسالة الخطأ الموضحة بالصورة فهل تظهر الرسالة عند البقية أم أنها مشكلة خاصة بي فقط تحياتي
  15. ألمهم أن المشكلة حلت لكن لدي تصحيح بسيط أنا قلت تعديل التنسيق إلى هذا الشكل #.00 علامة الهاشتاغ مع نقصة وصفرين وانت قمت بعمل التنسيق بهذا الشكل #,00 علامة الهاشتاغ مع فاصلة وصفرين نظرا ً لأن المشكلة هذه لاتظهر عندنا فلو أمكن تعديل تنسيق الحقل في الجدول بالشكل الذي إقترحته لك وتخبرنا هل ظلت المشكلة نفسها أم ظهر خطأ آخر جديد أم أنها نجحت حتى نستفيد مع تحياتي
  16. طالما نوع الحقل نصي فالحل بسيط أضفت تقرير لمثال الأخ @Foksh تظهر فيه القيم السالبة باللون الاحمر مع تحياتي TimeMin.rar
  17. كما يلاحظ من الصورة رسالة الخطأ ترد الخطأ للفاصلة وتنسيق الرقم يؤكد هذا لذا فأنا أعتقد أن المشكلة سببها هو تنسيق الرقم قمت بتعديل تنسيق الحقل في الجدول بدل أن كان Fixed جعلته #.00 حتى أجبره أن يظهر العلامة العشرية كنقطة وليس فاصلة ان شاء الله تنحل المشكلة اما إذا إستمرت فقد تكرمت أنت بالحل الأخير تحياتي
  18. اعتقد أني عرفت المشكلة جرب المثال الان وأخبرنا إذا ظهرت الرسالة أم لا مع تحياتي baseM11.rar
  19. واجهتني مشكلة واحدة أنه عند إغلاق النماذج من علامة X تتبقى شاشة أكسس بدون أي مجال لإغلاقها إلا عن طريق Task Manager
  20. مرفق لك مثالك بعد التعديل قمت بإضافة جدول tblDates والإستعلام qryDates النتيجة النهائية ستجدها في الاستعلام Query1 أرجو أن يكون هو ماتبحث عنه مع تحياتي Database1.rar
  21. الصراحة أن هذه المشكلة مثل المخدر الذي لا يستطيع الشخص الإقلاع عنا إلا بحلها وكلما قلت سأقلع عن التفكير فيها أرجع لها وبقوة توصلت أخيرا لدالة تحويل تشية دوال التحويل المضمنة (CStr أو CDbl أو CDate) ولكنها بإسم CSql تقوم بتحويل جميع أنواع البيانات لتلائم أوامر Sql وللمفاجأة نجحت في العمل كل الذي سويته أني عدلت [date1] الى cSql([dat1]) وأزلت علامتي # لأن الدالة ستقوم بهذا العمل (لم أقم بتطبيقها مع حقل [user_id] لأنها تعرفت عليه كرقم وبالتالي لم تضيف علامة التنصيص له فأبقيت الحال على ماهو عليه) وبالفعل كانت النتيجة كما هو متوقع والسبب في ذلك في إعتقادي أن الدالة قامت بمراعاة الإعدادات الإقليمية عند قراءة التاريخ فالتاريخ #03/06/2025# في بلدات تعني اليوم الثالث من الشهر السادس وفي بلدان اخرى تعني اليوم السادس من الشهر الثالث وهذا هو سبب الإلتباس المنطقي للمشكلة في إعتقادي عموما ارفقت الملف الأصلي بعد تطبيق هذه الدالة ليكون حل من ضمن الحلول الذي قام بها بقية الأساتذة مع تحياتي Public Function cSQL(ByVal varValue As Variant) As String On Error GoTo ERRORHANDLER ' تحقق إذا كانت قيمة فارغة If IsNull(varValue) Then cSQL = "NULL" Exit Function End If Select Case VarType(varValue) ' منطقية Case vbBoolean ' يستخدم أكسس -1 لـ TRUE و 0 لـ FALSE cSQL = IIf(varValue, "-1", "0") ' الأرقام 64 بت Case vbByte, vbInteger, vbLong, vbLongLong ' الأعداد الصحيحة - تحويله لنص مباشرة cSQL = CStr(varValue) ' ' الأرقام 32 بت ' Case vbByte, vbInteger, vbLong ' ' الأعداد الصحيحة - تحويله لنص مباشرة ' cSQL = CStr(varValue) Case vbSingle, vbDouble, vbCurrency ' تحويل إلى تنسيق SQL العشري باستخدام فاصل النقطة cSQL = Replace(Format(varValue, "0.######"), ",", ".") ' التاريخ Case vbDate ' تنسيق التاريخ/الوقت بنمط أكسس If TimeValue(varValue) = 0 Then cSQL = "#" & Format(varValue, "yyyy-mm-dd") & "#" Else cSQL = "#" & Format(varValue, "yyyy-mm-dd hh:nn:ss") & "#" End If ' النص Case vbString Dim str As String Dim dat As Date Dim parts() As String Dim datePart As String, timePart As String str = Trim(varValue) ' 1. سلسلة نصية بتنسيق SQL بالفعل (على سبيل المثال، #2025-04-23#) If Left(str, 1) = "#" And Right(str, 1) = "#" Then cSQL = str Exit Function End If ' 2. رقم وليس تاريخ (على سبيل المثال، "3.14") If IsNumeric(str) And Not IsDate(str) Then cSQL = Replace(Format(CDbl(str), "0.######"), ",", ".") Exit Function End If ' 3. تاريخ قصير وفقاُ الإعدادات المحلية If InStr(str, ".") > 0 Then parts = Split(str, " ") datePart = parts(0) If UBound(parts) > 0 Then timePart = parts(1) Else timePart = "" Dim datePieces() As String datePieces = Split(datePart, ".") If UBound(datePieces) = 2 Then Dim dd As Integer, mm As Integer, yyyy As Integer dd = Val(datePieces(0)) mm = Val(datePieces(1)) yyyy = Val(datePieces(2)) If yyyy < 100 Then yyyy = yyyy + IIf(yyyy < 30, 2000, 1900) End If If IsDate(DateSerial(yyyy, mm, dd)) Then dat = DateSerial(yyyy, mm, dd) If Len(timePart) > 0 And IsDate(timePart) Then dat = dat + TimeValue(timePart) cSQL = "#" & Format(dat, "yyyy-mm-dd hh:nn:ss") & "#" Else cSQL = "#" & Format(dat, "yyyy-mm-dd") & "#" End If Exit Function End If End If End If ' 4. سلسلة نصية للوقت فقط (على سبيل المثال، "23:15") If InStr(str, ":") > 0 And Not InStr(str, ".") > 0 Then If IsDate(str) Then dat = CDate(str) If DateValue(dat) = #12:00:00 AM# Then dat = Date + TimeValue(dat) cSQL = "#" & Format(dat, "yyyy-mm-dd hh:nn:ss") & "#" Exit Function End If End If End If ' 5. سلسلة تصية تمثل التاريخ/الوقت كاملا If IsDate(str) Then dat = CDate(str) If TimeValue(dat) = 0 Then cSQL = "#" & Format(dat, "yyyy-mm-dd") & "#" Else cSQL = "#" & Format(dat, "yyyy-mm-dd hh:nn:ss") & "#" End If Exit Function End If ' 6. البديل الافتراضي: السلسلة النصية الخاصة بالهروب لـ SQL cSQL = "'" & Replace(str, "'", "''") & "'" ' غير معروف Case Else ' البديل الافتراضي للأنواع الغير معروفة If IsNumeric(varValue) Then cSQL = Replace(Format(varValue, "0.######"), ",", ".") Else cSQL = "'" & Replace(CStr(varValue), "'", "''") & "'" End If End Select Exit Function ERRORHANDLER: ' الرجوع إلى الخطأ - إرجاع سلسلة الهروب cSQL = "'" & Replace(CStr(varValue), "'", "''") & "'" End Function d8.rar
  22. نفضل المثال بعد التعديل مثال.rar
  23. أعتقد أني لم أستوعب الفكرة تماما أو أكون قد فهمت منها ماجعلني أستصعبها صراحة 😅 - هل ستكون قاعدة البيانات هذه فارغة تماما أم ستحتوي على أكواد ستقوم بفتح التطبيق الخاص بنا؟ - هل الإختصار سيكون لقاعدة البيانات الفارغة أم للمجلد ؟ - أكثر عبارة لم أفهمها هي (اضافة ملفات برقة بيضاء شكلا ووهم ان هذه هي القاعدة) فياريت لو توضحي الفكرة بمثال عملي أو فيديو مثل كل مرة مع تحياتي
  24. مازالت المشكلة قائمة يتم اغلاق التطبيق عند اغلاق نموذج frmStart من زر X حاولي ان تعالجي الأمر ليصبح كود متكامل يعتمد وجاري العمل به 😊 اتمنى ان تقومي بتجميع افكاركهذه الخاصة بالتأمين ووضعها في مثال واحد وترفعيه لمكتبة المنتدى لان الافكار فيه مهمة وسيستفيد منها الكثير مع تحياتي
×
×
  • اضف...

Important Information