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

محمد طاهر عرفه

إدارة الموقع
  • Posts

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

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

  • Days Won

    37

كل منشورات العضو محمد طاهر عرفه

  1. من الافضل ايقاف الطباعة عند عدم وجود بيانات هذا الرد سبق ووضعه الأخ فهد الدوسري : أولاً في حدث عند النقر للزر الذي على النموذج والذي يقوم بفتح التقرير تضع هذا الكود ____________ Private Sub أمر0_Click() On Error Resume Next DoCmd.OpenReport "saudi1", acPreview End Sub على افتراض ان اسم التقرير لديك هو ( saudi1 ) =========== وفي حدث عند عدم وجود بيانات في التقرير ضع الكود هذا Private Sub Report_NoData(Cancel As Integer) MsgBox "عفواً.. لا توجد بيانات", vbCritical + vbOKOnly, "تنبيه" DOCMD.CancelEvent End Sub إنسخ وألصق وغير مسمى التقرير فقط ------------ ملاحظة : ربما يكون الجزء الثاني من الكود فقط كافيا ، بدون استخدام Onerror Resume Next فى الجزء الاول و التي تم اضافتها للتغلب علي رسالةة كانت تظهر لدي طارح السؤال
  2. لزيادة قيمة علي الموجود فى خلية Range("B3").Value = Range("B3").Value + 1 أو بصورة أكثر تفصيلا كاحتياط لعدم وجود قيمة فى الخلية Private Sub Workbook_Open() ActiveWorkbook.Sheets(1).Select Range("a1").Activate Dim aa As Byte If IsNull(Range("B3").Value) Then Range("B3").Value = 1 End If aa = Range("B3").Value Range("B3").Value = aa + 1 Application.ActiveWorkbook.Save End Sub مثلما فى هذا الموضوع http://www.officena.net/ib/index.php?showtopic=396
  3. سيكون عليك فى هذه الحالة استخدام حل آخر و هو أن تصنع نموذج بنفسك لادخال كلمة السر و ليس استخدام ال InputBox
  4. و لماذا تريدها تبدأ من السبت ؟؟ اكتب السبت و اسحب الخلايا و اختار Fill series ستعمل معك حيث أن القوائم متتالية و لن يهم بأيها تبدأ ام هناك حاجة معينة لجعل بداية القائمة السبت ؟؟
  5. تم تصحيح الملف المرفق ، حيث تم ارفاق ملف يخص الموضوعغ السابق سهوا F1.rar
  6. بالكود فى حدث بعد التحديث لبيان معين او فى الكود الخاص بزر علي النموذج الرئيسي تقوم بتحديث قيمة الحقل المنضم ( الذي مصدر بياناته حقل فى جدول) فاذا كان الكود سينفذ من زر او بعد التحديث لكائن فى النموذج الرئيسي me.txboxname = Forms![MainFormname]![Subformname]![txtboxsubformsum] أو يمكنك تنفيذ الكود مع تغيير اي قيمة فى مربع نص فى النموذج الفرعي و في هذه الحالة سيكون الكود forms![MainFormname]![txboxname]= Forms![MainFormname]![Subformname]![txtboxsubformsum]
  7. تقوم بحسب كل من الرصيد و المستهلك باستخدام دالتي Dsum ثم تقارن بينهما فاذا لم يسمح الرصيد ترفض تسجيل الاجازة و تصدر الرسالة
  8. ما المشكلة فى حذف كل هذا الكود ؟؟ اما اذا اردت تنفيذ الانتقال و حذف الرسالة فقط فاحذف السطر الذي يبدأ ب Msgbox
  9. ان ملفات ال add-in هي اضافات تم برمجتها من قبل آخرين و تحويلها الي add-in لتكون جاهزة للاستخدام و من الافضل أن نحاول تعلم الكود نفسه و عمل ال add-in بأنفسنا ، و تحويلها بعد ذلك ال add-in اذا أردنا و طبعا لا مانع من عرض ما هو جاهز لنستفيد منه ، و لكنه فى الغالب لا يكون متاحا فى صورة ملفات مفتوحة
  10. لقد جربت الكود و يعمل بشكل سليم جربه ثانية ، و لاجظ أني عدلته قبل عدة مشاركات انسخه ثانية
  11. يمكنك استخدام Like مع ال * يبدأ بأي شيء و ينتهي بما فى الكومبو Like "*" & [Forms]![FormName]![ComboName] يحوي ما فى الكومبو Like "*" & [Forms]![FormName]![ComboName]& "*" يبدأ بما فى الكومبو Like [Forms]![FormName]![ComboName]& "*" فاذا كان الكومبو يحوي كلمة عبد فاستخدم الخيار الثالث
  12. ان ال ado هو المرجع الافتراضي من ضمن كائنات الوصول الي البيانات فى الاكس بي و تجده مضافا تلقائيا اما ال DAO فهو الاصدار السابق و قمكنك الاختيار بينهما أما دمجهما فى تطبيق واحد فأعتقد انه ليس محبذا ( لست متأكداً ) و فى كل الاحوال التنفيذ بال sql افضله طالما يمكنه أن يفي بالغرض راجع المناقشة فى آخر هذا الموضوع http://www.officena.net/ib/index.php?showt...opic=978&hl=ado
  13. لم أفهم ما دخل الكود الذي أضفته بالموضوع ؟؟
  14. مكان سطر الرسالة كان به خطأ جرب الان
  15. ربما يكون هذا الموضوع قريبا مما تريد http://www.officena.net/ib/index.php?showt...1048&hl=صلاحيات اما ان كان المطلوب كلمة سر فقط ففي الكود فى الزر الذي تفتح من النموذج ضع هذا الكود كلمة السر 111 If InputBox("Enter Password PLease ", "www.officena.net") <> "111" Then DoCmd.CancelEvent MsgBox "Wrong password", 64, "www.officena.net" Else DoCmd.OpenForm "FORM2" End If
  16. فهرس الدورة من هنا http://www.officena.net/ib/index.php?act=S...8&st=0#entry784
  17. أول مواضيع التعامل مع النماذج أنشاء النماذج باستخدام المعالج ، من هنا مرفق المثال
  18. مرفق المثال لحساب الفرق بين الاسابيع و أيضا بين تاريخين كفرق عادي سنين + شهور + أيام و كإجمالي لكل فترة علي حدة اي الفرق كشهور فقط أو أسابيع فقط أو ايام فقط أو سنين فقط ملاحظة : تم استخدام احدي دوال أبو هاجر ضمن الكود و موجودة فى موديول منفصل ضمن الكود Weeks_Diff.rar
  19. طيب جرب العكس للتأكد من ان المشكلة ليست فى المراجع صدر جدولك الي مثالي ثم عدل كود مثالي باسم الجدول و الحقول
  20. المشكلة ليست فى أسماء الحقول و لكن فى أسماء الكائنات الاساسية فمثلا detail تكون عندك تفصيل و هذا ما يسبب المشكلة ، لذا عليك اذا أردت تشغيله فى الويندوز الانجليزي ، عليك باستبدال كل الاسماء من هذا النوع و هذا أحد أسباب عدم استخدامي للنسخة العربية اما اذا استخدمت نسخة الاكسس ذات واجهة التطبيق الانجليزية ( و التي تدعم العربية كلغة ) و لكن الاوامر فيها بشكل File و ليس ملف فلن تواجه هذه المشلكة و يبدون أن النسخة العربية أكثر انتشارا فى الخليج من هذا الاستقصاء http://www.officena.net/ib/index.php?s=&showtopic=287
  21. لقد كتبت لك ما أعرفه ، و ان شاء الله يأتي حل من أحد الأخوة
  22. الكود الذي ذكرت هو لل Paste Append و لانشاء الكود يكنك استخدام معالج انشاء االازرار و من مجموعة Record نختار نسخ السجلات و سبب الرسالة هو عدم امكانية حفظ السجل نتيجة لوجود قيمة مكررة أو أكثر بعد النسخ ، و مطلوب تسجيلها فى حقل غير مسموح بالتكرار فيه و لايقاف الرسالة الي حين تعديل تلك القيمة اوقف اظهار الرسائل On Error GoTo Err_Command4_Click DoCmd.SetWarnings False DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append DoCmd.SetWarnings True Exit_Command4_Click: Exit Sub Err_Command4_Click: MsgBox Err.Description Resume Exit_Command4_Click و لكن لابد من تعديل القيم الغير مسموح بتكرارها قبل الانتقال للسجل التالي أو الخروج و ما أراه هو استخدام الطريقة السابق ذكرها لنسخ السجل و ليس هذه الطريقة . حيث أن طريقة نسخ و لصق السجل تكون أكثر مناسبة فى حال عدم وجود حقول بها قيم فريدة و هذا وضع نادر
×
×
  • اضف...

Important Information