-
Posts
8748 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
38
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو محمد طاهر عرفه
-
مثال لمراجعة رصيد الاجازات و هل يسمح بالأجازة
محمد طاهر عرفه replied to ahmedspcc's topic in قسم الأكسيس Access
شكرا للأخ سحاب علي مداخلته ، و سأحاول أيضا شرح الفكرة فيما يلي : و طبعا الموضوع عرضة لافكار كثيرة و لكن ساشرح فكرة لتوضيح الطريقة ( طريقة التعامل مع الدوال و التأكد من الرصيد ) . مع ملاحظة أني كتبت الكود التالي سريعا و لم أجربه فعليا ( لتوضيح الفكرة فقط ) لنفرض أن الرصيد المتاح يسجل فى جدول الموظفين كاجمالي المسموح به لكل موظف. و المستهلكات تسجل فى جدول الاجازات كتاريخ بداية و نهاية و منها علي النموذج تحسب عدد الايام المطلوب تسجيلها كأجازة ( مدة الاجازة ) ومدة الاجازة هي التي سنقوم باختبار هل الرصيد يسمح بها أم لا txtnewRquest هو مربع النص الذي يتم منه تسجيل مدة الاجازة فى جدول الاجازات سواء مباشرة بالكتابة فيه أو بالكود بعد تحديث تواريخ بداية و نهاية الاجازة علي النموذج txtempId هو كود الموظف علي النموذج txtremaining مربع نص غير منضم يتم حساب المتبقي فيه بالكود ( قبل تسجيل الاجازة التي يتم اختبارها حاليا ) txtRassed مربع نص غير منضم يتم حساب الرصيد الاصلي فيه بالكود و لدينا جدولان الاول الموظفين و اسمه tblemp و به حقل الرصيد الكلي Total و حقل كود الموظف empId و جدول حركة الاجازات tblVications و به حقل المستهلك used و كود الموظف empId بالاضافة الي توايخ الاجازة و لكن هي ليست موضوعنا هنا و الكود ينفذ من زر أمر فى نموذج الاضافة الي جدول الاجازات فاما يقوم باظهار رسالة برفض التسجيل لعدم وجود الرصيد ، أو يحسب لنا القيم و يضعها علي النموذج و طبعا هذا لا يكفي لاتمام العمل و التسجيل ، و لكن فقط أردت توضيح النقطة المطلوبة وان لم يكن الشرح التالي واضحا ، فأرجو أن يفي مثال الاخ سحاب بما تريد Dim Rassed, used As Integer Rassed = DLookup("[Total]", "tblemp", "[empId]=" & Me.txtempId) used = DSum("[used]", "tblVications", "[empId]=" & Me.txtempId) If (Rassed - used) < Me.txtnewRquest Then MsgBox "No Rassed available" Exit Sub Else Me.txtRassed = Rassed Me.txtremaining = (Rassed - used) MsgBox " Vications Can be Taken !! " End If -
التخلص من Error# فى طباعة تقرير عند عدم وجود بيان
محمد طاهر عرفه replied to zakwan's topic in قسم الأكسيس Access
فى هذه الحالة فى التقرير فى حدث عند عدم وجود بيانات قم اخفاء مربعات النص الاصلية و اظهار مربع نص مخفي أصلا و توجد به العبارة التي تريد ME.TXTBOXNAME.VISIBLE=FALSE للاصلية و = TRUE للجديدة -
التخلص من Error# فى طباعة تقرير عند عدم وجود بيان
محمد طاهر عرفه replied to zakwan's topic in قسم الأكسيس Access
من الافضل ايقاف الطباعة عند عدم وجود بيانات هذا الرد سبق ووضعه الأخ فهد الدوسري : أولاً في حدث عند النقر للزر الذي على النموذج والذي يقوم بفتح التقرير تضع هذا الكود ____________ 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 فى الجزء الاول و التي تم اضافتها للتغلب علي رسالةة كانت تظهر لدي طارح السؤال -
لزيادة قيمة علي الموجود فى خلية 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
-
سيكون عليك فى هذه الحالة استخدام حل آخر و هو أن تصنع نموذج بنفسك لادخال كلمة السر و ليس استخدام ال InputBox
-
كيف نجعل الأسبوع office يبدأ من السبت
محمد طاهر عرفه replied to أبو إسحاق's topic in منتدى الاكسيل Excel
و لماذا تريدها تبدأ من السبت ؟؟ اكتب السبت و اسحب الخلايا و اختار Fill series ستعمل معك حيث أن القوائم متتالية و لن يهم بأيها تبدأ ام هناك حاجة معينة لجعل بداية القائمة السبت ؟؟ -
4-1 إنشاء النماذج باستخدام المعالج
محمد طاهر عرفه replied to محمد طاهر عرفه's topic in قسم الأكسيس Access
تم تصحيح الملف المرفق ، حيث تم ارفاق ملف يخص الموضوعغ السابق سهوا F1.rar -
ما الفرق بين العلامة "." والعلامة "!"
محمد طاهر عرفه replied to امير عاطف's topic in قسم الأكسيس Access
بالكود فى حدث بعد التحديث لبيان معين او فى الكود الخاص بزر علي النموذج الرئيسي تقوم بتحديث قيمة الحقل المنضم ( الذي مصدر بياناته حقل فى جدول) فاذا كان الكود سينفذ من زر او بعد التحديث لكائن فى النموذج الرئيسي me.txboxname = Forms![MainFormname]![Subformname]![txtboxsubformsum] أو يمكنك تنفيذ الكود مع تغيير اي قيمة فى مربع نص فى النموذج الفرعي و في هذه الحالة سيكون الكود forms![MainFormname]![txboxname]= Forms![MainFormname]![Subformname]![txtboxsubformsum] -
مثال لمراجعة رصيد الاجازات و هل يسمح بالأجازة
محمد طاهر عرفه replied to ahmedspcc's topic in قسم الأكسيس Access
تقوم بحسب كل من الرصيد و المستهلك باستخدام دالتي Dsum ثم تقارن بينهما فاذا لم يسمح الرصيد ترفض تسجيل الاجازة و تصدر الرسالة -
ما المشكلة فى حذف كل هذا الكود ؟؟ اما اذا اردت تنفيذ الانتقال و حذف الرسالة فقط فاحذف السطر الذي يبدأ ب Msgbox
-
من أين نحصل على ملفات add in للأكسل
محمد طاهر عرفه replied to أبو إسحاق's topic in منتدى الاكسيل Excel
ان ملفات ال add-in هي اضافات تم برمجتها من قبل آخرين و تحويلها الي add-in لتكون جاهزة للاستخدام و من الافضل أن نحاول تعلم الكود نفسه و عمل ال add-in بأنفسنا ، و تحويلها بعد ذلك ال add-in اذا أردنا و طبعا لا مانع من عرض ما هو جاهز لنستفيد منه ، و لكنه فى الغالب لا يكون متاحا فى صورة ملفات مفتوحة -
لقد جربت الكود و يعمل بشكل سليم جربه ثانية ، و لاجظ أني عدلته قبل عدة مشاركات انسخه ثانية
-
يمكنك استخدام Like مع ال * يبدأ بأي شيء و ينتهي بما فى الكومبو Like "*" & [Forms]![FormName]![ComboName] يحوي ما فى الكومبو Like "*" & [Forms]![FormName]![ComboName]& "*" يبدأ بما فى الكومبو Like [Forms]![FormName]![ComboName]& "*" فاذا كان الكومبو يحوي كلمة عبد فاستخدم الخيار الثالث
-
حساب الفرق بين الأيام - الأسابيع - السنوات
محمد طاهر عرفه replied to wish's topic in قسم الأكسيس Access
شكرا لك -
حول اضافة سجلات الى جدول باستخدام كود الVBA
محمد طاهر عرفه replied to fahad's topic in قسم الأكسيس Access
ان ال ado هو المرجع الافتراضي من ضمن كائنات الوصول الي البيانات فى الاكس بي و تجده مضافا تلقائيا اما ال DAO فهو الاصدار السابق و قمكنك الاختيار بينهما أما دمجهما فى تطبيق واحد فأعتقد انه ليس محبذا ( لست متأكداً ) و فى كل الاحوال التنفيذ بال sql افضله طالما يمكنه أن يفي بالغرض راجع المناقشة فى آخر هذا الموضوع http://www.officena.net/ib/index.php?showt...opic=978&hl=ado -
لم أفهم ما دخل الكود الذي أضفته بالموضوع ؟؟
-
حول اضافة سجلات الى جدول باستخدام كود الVBA
محمد طاهر عرفه replied to fahad's topic in قسم الأكسيس Access
نعم أعتقد أن هذا هو الوضع :( -
مكان سطر الرسالة كان به خطأ جرب الان
-
ربما يكون هذا الموضوع قريبا مما تريد 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
-
نظريا يكفي تغيير الاوفيس
-
أول مواضيع التعامل مع النماذج أنشاء النماذج باستخدام المعالج ، من هنا مرفق المثال
- 1 reply
-
- 1
-
-
حساب الفرق بين الأيام - الأسابيع - السنوات
محمد طاهر عرفه replied to wish's topic in قسم الأكسيس Access
مرفق المثال لحساب الفرق بين الاسابيع و أيضا بين تاريخين كفرق عادي سنين + شهور + أيام و كإجمالي لكل فترة علي حدة اي الفرق كشهور فقط أو أسابيع فقط أو ايام فقط أو سنين فقط ملاحظة : تم استخدام احدي دوال أبو هاجر ضمن الكود و موجودة فى موديول منفصل ضمن الكود Weeks_Diff.rar -
حول اضافة سجلات الى جدول باستخدام كود الVBA
محمد طاهر عرفه replied to fahad's topic in قسم الأكسيس Access
طيب جرب العكس للتأكد من ان المشكلة ليست فى المراجع صدر جدولك الي مثالي ثم عدل كود مثالي باسم الجدول و الحقول -
المشكلة ليست فى أسماء الحقول و لكن فى أسماء الكائنات الاساسية فمثلا detail تكون عندك تفصيل و هذا ما يسبب المشكلة ، لذا عليك اذا أردت تشغيله فى الويندوز الانجليزي ، عليك باستبدال كل الاسماء من هذا النوع و هذا أحد أسباب عدم استخدامي للنسخة العربية اما اذا استخدمت نسخة الاكسس ذات واجهة التطبيق الانجليزية ( و التي تدعم العربية كلغة ) و لكن الاوامر فيها بشكل File و ليس ملف فلن تواجه هذه المشلكة و يبدون أن النسخة العربية أكثر انتشارا فى الخليج من هذا الاستقصاء http://www.officena.net/ib/index.php?s=&showtopic=287