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

أحمد العيسى

03 عضو مميز
  • Posts

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

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

كل منشورات العضو أحمد العيسى

  1. تم التعديل على خصائص التقرير ( منبثق: نعم ، شكلى أو مشروط: لا ) واستخدام الأمر DoCmd.Maximize عند الفتح وأصبح لا مشكلة فى ظهور التقرير ، إنما المشكلة فى عدم ظهور إضافة شريط الطباعة المذكور فى الصورة أعلاه هل من مساعدة ؟
  2. السلام عليكم عثرت على كود (سطوره قليلة جداً ) لإخفاء واجهة أكسس ، والأجمل أنه يعمل على جميع الإصدارات بدءاً من 2003 لكن بشرط التقيد بخصائص النموذج الرئيسى أن تكون فى تبويبات( التنسيق ، غير ذلك ) بمعنى تكون الاختيارات كالتالى : ' كود الوحدة النمطية ' Option Compare Database Option Explicit Global Const SW_HIDE = 0 Private Declare Function apiShowWindow Lib "user32" _ Alias "ShowWindow" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Function fSetAccessWindow(nCmdShow As Long) Dim loX As Long Dim loForm As Form loX = apiShowWindow(hWndAccessApp, nCmdShow) End Function ' كود حدث فتح النموذج Private Sub Form_Open(Cancel As Integer) fSetAccessWindow (SW_HIDE) End Sub لكن ماذا عن تعديل خصائص التقرير المرتبط به وخاصة إذا كان به إضافة شريط طباعة إضافى أعلاه مثل هذا : وهذه هى الخصائص المطلوب التعديل عليها : تحياتى للجميع
  3. تمام أخى أبو عبدالله يبدو أن التعديل فى هذا النموذج ( OnlyYou1 ) أخذ الكثير من جهد الزملاء (شكراً لهم) ولم يصل للمستوى المطلوب سوف أضيف بالملف المرفق التالى أسلوب أبو هادى فى البحث ( البحث يتم اثناء كتابة كل حرف ولكن سريع جداً) والمطلوب فقط وضع الكود المناسب لزر " حذف سجلات ناتج البحث " والاستغناء عن النموذج "OnlyYou1" db3.mdb
  4. رجاء التعديل على كود البحث فى الملف السابق لأنه بطئ جداً db2.mdb فقد رأيت طرق بحث ممتازة للأخ الحبيب أبو هاجر قديماً لكن لم أستطيع توظيفه فى هذا الملف بدون استخدام نموذج فرعى
  5. تم التعديل على هذا الملف من مشاركة الأخ العزيز / عبدالله بشير عبدالله Private Sub Form_Open(Cancel As Integer) Dim tb As DAO.Recordset ' التأكد من استخدام DAO Recordset Dim Q As Integer Q = DCount("*", "tbl_Student1") If Q > 0 Then Set tb = CurrentDb.OpenRecordset("tbl_student1", dbOpenDynaset) tb.MoveFirst Else MsgBox ("لا يوجد سجلات لعرضها "), vbOKOnly + vbMsgBoxRight, "تنبيه" Exit Sub End If Do While tb.EOF = False tb.Edit ' وضع السجل في وضع التحرير tb.Fields("OnlyYou") = False ' تعديل قيمة الحقل tb.Update ' تحديث السجل في قاعدة البيانات tb.MoveNext ' الانتقال للسجل التالي Loop tb.Close ' إغلاق الكائن بعد الاستخدام Set tb = Nothing ' إلغاء الإشارة إلى الكائن End Sub وإلى الآن التجربة مع المثال تبشر بعمل شبه كامل لكن لماذا عملية البحث بطيئة جداً بهذا الشكل ؟؟؟ db2.mdb
  6. هل طلبي غير واضح ؟؟ مر تقريبا يوم كامل ، ولا يوجد رد سواء بالايجاب أو السلب ..
  7. ما زال المثال يحتاج إلى الكثير من التعديلات ، فمثلاً إذا حذفت كامل السجلات يقطع البرنامج مساره برسالة خطأ وقد استطعت التغلب على هذه الرسالة من خلال التعديل على الكود السابق Private Sub Form_Open(Cancel As Integer) Dim tb As DAO.Recordset Dim Q As Integer Q = DCount("*", "tbl_Student1") If Q > 0 Then Set tb = CurrentDb.OpenRecordset("tbl_student1", dbOpenDynaset) tb.MoveFirst Else MsgBox ("لا يوجد سجلات لعرضها "), vbOKOnly + vbMsgBoxRight, "تنبيه" Exit Sub End If Do While Not tb.EOF tb.Edit tb.Fields("OnlyYou") = False tb.Update tb.MoveNext Loop tb.Close Set tb = Nothing End Sub كذلك لى بعض الملاحظات على عملية الفلترة من خلال تلك الصور أدناه
  8. تمام حصل .. وأصلحت المكتبة المعطلة ( فى أكسس 2003 ) لكن ظهر خطأ آخر
  9. بارك الله فيك أخى موسى ، وأطال الله عمرك ونفع بك تعديلك فى المثال ممتاز للبحث ، والحذف للسجلات المختارة بعد البحث جربته على أكسس 2010 وجدته يعمل بكفاءة لكن عند تجربته على أكسس 2003 وهو الإفتراضى عندى كانت هناك بعض أخطاء التوافق فى المكتبات لكن الغريب عندما أردت إضافة تلك المكتبات وجدت الأمر References باهت ولا يمكن اختياره أما بخصوص كلمة Name لم أجد لها تأثير فى أكسس 2003 .. لكن جاري تغييرها فى أصل التطبيق تحسباً لعدم تسامح البرنامج فى مواضع أخرى لكلماته المحجوزة
  10. تمام كما أسلفت عدد السجلات يتجاوز ٤٠٠ سجل وبالبحث عن بدايات اسماء الحقول سوف يتقلص العدد الى ١٠ سجلات مثلا .. يمكن حينها اختيار ٣ سجلات منهم ، و يمكن حذفهم بالضغط على زر حذف المحدد ، وبالطبع يوجد رسالة تحذير من الحذف .. إذا أمكن هل هذا التعديل متاح ؟؟
  11. لا بأس .. مرة أخرى شكرا لك البحث الذي من طرفك يبحث عن أي حرف يحتوي عليه الحقل كله حتى ولو في اسم الجد !! في انتظار أخونا الجليل أبو خليل
  12. شكراً لك للأسف ليس هو المطلوب لا أريد نموذج فرعى ، كما أن كلمة name ليست كلمة محجوزة ولا تؤثر فى عمل المثال البحث لم يتم تلقائياً بالحرف الأول ثم الثانى ثم الثالث من كتابة كلمة البحث كما أريد كذلك بعد الاختيار لا يتم حذف السجلات من قاعدة البيانات ، واصبح المثال مهنجاً
  13. السلام عليكم هذا نموذج يحتوي على عدد كبير من الأسماء به حقل اختيار (نعم/لا) المطلوب تكرماً إضافة إمكانية البحث فى حقل الأسم بالحروف الأولى بحيث يجعل الاختيار سهلاً من خلال تقليص المعروض على النموذج دون اللجوء لتحريك الأسماء أعلى وأسفل من خلال مسطرة الإنزلاق وإذا تم حذف كل السجلات لا تخرج رسالة خطأ عقب هذا الحذف ( Debug ) مع جزيل الشكر مقدمأ db1.mdb
  14. وجدت " كود " كنت قد استخدمته فى برنامج أكسل ويعتبر متوافق 100% مع الطريقة التقليدية فى حساب الفرق بين تاريخين بوضعهما يدوياً اسفل بعضهما ويتم الطرح مباشرة أو بالإستلاف Function d_ay(Calculate As Date, birth As Date) As Integer If Day(Calculate) >= Day(birth) Then d_ay = Day(Calculate) - Day(birth) Else d_ay = Day(Calculate) + 30 - Day(birth) End If End Function Function m_on(Calculate As Date, birth As Date) As Integer If Day(Calculate) >= Day(birth) Then If Month(Calculate) >= Month(birth) Then m_on = Month(Calculate) - Month(birth) Else m_on = Month(Calculate) + 12 - Month(birth) End If Else If Month(Calculate) > Month(birth) Then m_on = Month(Calculate) - 1 - Month(birth) Else m_on = Month(Calculate) + 11 - Month(birth) End If End If End Function Function y_er(Calculate As Date, birth As Date) As Integer If Day(Calculate) >= Day(birth) Then If Month(Calculate) >= Month(birth) Then y_er = Year(Calculate) - Year(birth) Else y_er = Year(Calculate) - 1 - Year(birth) End If Else If Month(Calculate) > Month(birth) Then y_er = Year(Calculate) - Year(birth) Else y_er = Year(Calculate) - 1 - Year(birth) End If End If End Function
  15. شكراً على النصيحة لكن أأكد لك أن كل برامجى المصممة على أكسس 2000 وليست 2003 وحدها تعمل على كل الإصدارات التالية إنما كلامك _ أكيد _ أن كل البرامج المصممة على أكسس 2007 وما بعدها من المؤكد أنها لا تعمل على 2003
  16. السلام عليكم الكود التالى هو الذى أستخدمه لإيجاد الفرق بين تاريخ الميلاد وتاريخ اليوم ليخرج عمر الموظف باليوم والشهر والسنة كذلك يتم استخدامه لإيجاد الفرق بين تاريخ الإحالة للمعاش وتاريخ اليوم ليخرج الزمن المتبقى على الخروج باليوم والشهر والسنة لأننى أحياناً أجد فرق يوم بين استخدام هذا الكود وبين الحساب اليدوى كما تعودنا قديماً Function d_ay(Calculate As Date, birth As Date) As Integer Dim m_on As Integer m_on = DateDiff("m", birth, Calculate) d_ay = DateDiff("d", DateAdd("m", m_on, birth), Calculate) If d_ay < 0 Then m_on = m_on - 1 d_ay = DateDiff("d", DateAdd("m", m_on, birth), Calculate) End If End Function Function m_on(Calculate As Date, birth As Date) As Integer Dim d_ay As Integer m_on = DateDiff("m", birth, Calculate) d_ay = DateDiff("d", DateAdd("m", m_on, birth), Calculate) If d_ay < 0 Then m_on = m_on - 1 End If m_on = m_on Mod 12 End Function Function y_er(Calculate As Date, birth As Date) As Integer Dim m_on As Integer, d_ay As Integer m_on = DateDiff("m", birth, Calculate) d_ay = DateDiff("d", DateAdd("m", m_on, birth), Calculate) If d_ay < 0 Then m_on = m_on - 1 End If y_er = m_on \ 12 End Function مرفق ملف مختصر للملف الأصلى به الكود المراد التعقيب عليه db1.mdb
  17. أعلم ذلك لكن ما يخص تطبيق تم عمله ب أكسس 2003 (mdb ) لا يؤثر عند تشغيله على أكسس 2016 مثلاً ( accdb ) هل معنى ذلك أنه يجب عمل تطبيقان بنفس الوظيفة لكل منهما ؟
  18. لم يتفضل أحد بالرد ممكن أو غير ممكن !!!
  19. السلام عليكم أفضل دائماً العمل على أكسس 2003 ، لسهولة العمل فيه وربما لتعودى عليه ولا يوجد أى مشكلة فى عمل هذا التطبيق على كافة إصدارات الأكسس التالية له وفى قائمة شاشة بدء التشغيل لـ 2003 يمكن التحكم فى إخفاء أشرطة الأدوات وفى بداية تشغيل التطبيق فعلاً يتم إخفاء واجهة وأشرطة وقوائم أكسس 2003 لكن عند تشغيل نفس التطبيق على إصدار أكسس 2024 يعمل بكفاءة لكن مع ظهور القوائم الغير مطلوبة هل يوجد إجراء أو كود يمكن استخدامه يصلح لجميع الإصدارات من 2003 إلى 2024 لإخفاء واجهة الأكسس ؟
  20. ممكن لو تكرمت تعديل هذا المرفق ليعمل على أكسس 2003 "mdb" بجانب أى أكسس أعلى "accdb" .. وللنواتين 32 ، 64 بمعنى أن يكون تطبيق واحد شامل بمعنى الكلمة . مع الشكر مقدماً
  21. تمام كلا السطرين صحيحين وجدت الخطأ بعد فحص لكل عناصر الجدول المشكلة كانت فى قاعدة التحقق من الصحة بالجدول ، إذ أنها كانت "مستجد" Or "محول" Or "باق" Or "دمج" والمفترض أن يكون بها "منقول " ، أو الإستغناء عن كتابة شروط القاعدة بالجدول
  22. السلام عليكم فى الجدول حقل يحتوى على كلمة "مستجد" أو "باق" أو ... وأريد تغيير كل هذه الكلمات بهذا الحقل مرة واحدة إلى كلمة "منفول" هذا التكوين لا يلبى الطلب ، ما الخطأ فى الصورة التالية وحبذا لو وجدت عبار ة SQL تقوم بهذه الوظيفة مثل: DoCmd.RunSQL "UPDATE tbl_student1 SET tbl_student1.[Case] = ""منقول"";"
  23. جميل جداً هذا الـ "بريمج " حسب وصفك لكن أريد تصحيح كلمة للأخ figo82eg وحدات الكهرباء تقاس بالكيلو وات وليس بالأمتار !!!!
×
×
  • اضف...

Important Information