بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|

rudwan
المشرفين السابقين-
Posts
2926 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
6
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو rudwan
-
اسنخ الكود التالي في وحدة نمطية جديدة Module Function fIsLoaded(ByVal strFormName As String) As Integer 'Returns a 0 if form is not open or a -1 if Open If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> 0 Then If Forms(strFormName).CurrentView <> 0 Then fIsLoaded = True End If End If End Function الآن اكتب في النموذج أو المكان الذي ترغب تنفيذ الكود فيه شيئا مثل هذا If fIsLoaded("frmBasic") = True Then DoCmd.Close acForm, "frmBasic" End if طبعا مع استبدال كلمة "frmBasic" باسم النموذج لديك و يمكنك الآن التحكم بتسمية النماذج الأخرى التي تريد غلقها أو فتحها علما أن كود فتح نموذج آخر هو DoCmd.OpenForm "frmMain"
-
كيف امنع تكرار اسم العميل عند استخدام إستعلام الحاق
rudwan replied to noneta's topic in قسم الأكسيس Access
اعمل اسعلام جديد كما يلي design query wizard find unmached query wizard هذا المعالج يصمم لك استعلام بالفارق من جدولين اي السجلات الموجودة في جدول و غير الموجودة في الثاني سيظهر هنا معالج على عدة خطوات اختاري الجدول الأول ( الذي يحوي كل السجلات ) ثم في الخطوة الثانية اختاري الجدول الثاني ( الذي يحوي عدة سجلات فقط ) سيطلب هنا المعرف المشترك بينهما ( و هذا أمر ضروري جدا ) و هو هنا الحقل ID نتيجة الاستعلام المفروض أن تعطيكي الفارق بين الجدولين من هذا الاستعلام تعملي استعلام الحاق للسجل الأول هذا من ناحية الحل المطلوب , لكن من الناحية العملية هذه الطريقة غير مرغوبة برمجيا ( اي طريقة تكرار الجداول ) أعيدي صياغة قاعدة البيانات لتجنب تكرار الجداول -
كيف امنع تكرار اسم العميل عند استخدام إستعلام الحاق
rudwan replied to noneta's topic in قسم الأكسيس Access
أخي الكريم حاول توضيح تفاصيل قاعدة البيانات عندك حتى نتمكن من فهم المطلوب ( اي تفاصيل الجداول و الحقول و تفاصيل الاستعلام ) -
Private Function Rem_days() تم تعريف الدالة هنا على أنها خاصة private لأنها ستكون خاصة لهذا النموذج فقط , أما اذا كان المطلوب استخدام في كافة أجزاء البرنامج فيتم انشاء وحدة نمطية خاصة في قسم الماكرو مع حذف كلمة private Dim FCount As Long Dim tDate As Date Dim Count_Fridays As Long Dim LDOM As Date يتم تعريف كافة المتغيرات التي ستستخدم في أجزاء الدالة مع تعريف نوعها , و اي متغير لايتم تعريفه في هذا الجزء لن يقبل الكود تنفيذه Count_Fridays = 0 هذا عداد لحساب أيام الجمعة , و دائما العداد يتم تصفيره قبل اسناد اي قيمة له اثناء تنفيذ الكود فكرة الكود هنا ان يتم الانتقال بين اليوم الحالي و تاريخ اخر الشهر و نريد ان نتعامل مع تلك الايام اي اليوم الحالي و غدا و الذي يليه و هكذا لذلك نحتاج استخدام متغير من نوع تاريخ ليحمل قيمة التاريخ التي نريد اختبارها tDate = Date اسناد قيمة أوليه لمتغير التاريخ tdate على أن يبدا بقيمة اليوم الحالي LDOM = DateSerial(Year(Date), Month(Date) + 1, 0) هنا تم حساب تاريخ آخر يوم في الشهر الحالي If Weekday(Date, vbFriday) <> 1 Then دالة weekday هي دالة معرفة في الأكسس تعطي قيمة اليوم من الأسبوع , فهنا نريد اختبار هل اليوم هو يوم جمعة ؟ اذا كان لا انتقل للسطر التالي حيث سيقوم بحساب قيمة تاريخ اول يوم جمعة قادم tDate = tDate - Weekday(Date, vbSaturday) + 7 End If الان يكون المتغير tdat قد تم اسناد قيمة اول يوم جمعة له اعتبارا من تاريخ اليوم في المرحلة التالية سيتم عمل حلقة دورانية لاحصاء عدد ايام الجمعة الواقعة مابين المتغير tdate و المتغير ldom و هو تاريخ نهاية الشهر الحالي Do While tDate <= LDOM الأمر السابق يقول نفذ الأمر طالما أن قيمة tdate أقل من قيمة ldom Count_Fridays = Count_Fridays + 1 سبق و أن اشرنا أن المتغير tdate يحمل قيمة تاريخ أول يوم جمعة اعتبارا من الآن , لذلك سيتم اعطاء عداد ايام الجمعة count_fridays القيمة 1 حيث أننا سبق و أن قمنا في أول سطر بتصفير قيمة هذا العداد , و الآن سيحمل القيمة 1 بعد ذلك سيتم اعطاء متغير التاريخ tdate قيمة يوم الجمعة التالي و ذلك باضافة 7 اليه كما يلي , tDate = tDate + 7 هنا سيعود مؤشر البرنامج لتنفيذ الجملة قبل السابقة تلقائيا و ذلك لأننا ضمن حلقة تكرارية تبدأ ب DO و تنتهي ب LOOP و سيكون الانتقال بينهما تلقائيا , للذك سيصبح قيمة عداد يوم الجمعة الآن 2 بعد اضافة 1 اليه ثم سيتم الانتقال الى يوم الجمعة التالي و هكذا الى أن تصبح قيمة المتغير tdate اخر قيمة ضمن الشهر الحالي , لأنه في شرط الحلقة الدورانية نفذ طالما أن قيمة tdate أقل من قيمة تاريخ أخر الشهر و بالمنطق , اذا تجاوز قيمة تاريخ أخر الشهر فسيتوقف الكود عن التنفيذ تلقائيا Loop هنا تنتهي الحلقة التكرارية و سيأخذ عداد ايام الجمع قيمة و لتكن أربعة مثلا نعود و نحسب في الجملة التالية نطرح تاريخ أخر الشهر ناقص التاريخ الحالي ناقص عدد ايام الجمعة Rem_days = LDOM - Date - Count_Fridays نلاحظ هنا أنه يجب أن نسند القيمة المطلوبة في الدالة الى نفس اسم الدالة التي تم تعريفها rem_days End Function هذا شرح مختصر للدالة , و أنا أنصح بأن يتم فهم الدالة أكثر عن طريق اختزالها على عدة مراحل مثلا يتم اعطاء اسم الدالة لأول سطر تنفيذ و حذف باقي الأسطر , ثم يتم اختبار القيمة التي سيرجعها لتكون مفهومة ثم يتم اضافة السطر التالي و فحص القيمة ,, و هكذا أما بالنسبة لسؤالك الأول , طبعا الدالة المفروض أن تعطي القيمة الصحيحة المتبقية كلما تم فتح النموذج أما اذا كان سيتم ابقاء النموذج مفتوحا طيلة ايام الشهر , فهنا لايتم تنفيذ الحساب تلقائيا , بل ينبغي في هذه الحالة استخدام خاصية المؤقت - التايمر لأن التايمر ينفذ الكود بعدد اجزاء الزمن المعرف له سواء بالثانية أو أجزائها
-
لانعرف مكونات قاعدة اليانات لديك لكن هذه هي طريقة حساب العمر =DateDiff("yyyy", [DOB], Date()) انسخ هذا الكود الى الاستعلام او النموذج لديك و قم بتبديل dob باسم حقل تاريخ ميلاد الموظف لديك
-
انسخي الكود أدناه في الصيغة البرمجية للنموذج Private Function Rem_days() Dim FCount As Long Dim tDate As Date Dim Count_Fridays As Long Dim LDOM As Date Count_Fridays = 0 tDate = Date LDOM = DateSerial(Year(Date), Month(Date) + 1, 0) If Weekday(Date, vbFriday) <> 1 Then tDate = tDate - Weekday(Date, vbSaturday) + 7 End If Do While tDate <= LDOM Count_Fridays = Count_Fridays + 1 tDate = tDate + 7 Loop Rem_days = LDOM - Date - Count_Fridays End Function ثم غيري معادلة النص في النموذج لتكون كما يلي =rem_days()
-
ربط الجداول بطريقة احترافية لاستخراج المرتبات الشهرية
rudwan replied to احمد2222's topic in قسم الأكسيس Access
أخي الكريم احد الأخوة قدم لك حلا لسؤالك , و لم تقم بكتابة أي تعليق يدل أن هذا هو المطلوب من سؤالك أم لا ؟ ثانيا بالنسبة لتقييم البرنامج ككل , الحقيقة تقييم اي برنامج يكون حسب حاجة المستخدم له , فقد يكون قد أدى كل المطلوب لشخص ما , أو قد يكون أدى جزءا من مطلوب شخص آخر , و هكذا فأنا ممكن أن أصمم برنامج كبير و يفي بكل متطلباتي الشخصية في العمل , لكن هل هو سيفيد كل المتطلبات الخاصة بشخص آخر و في مكان عمل آخر ؟ ربما نعم و ربما لا . فمن يحتاج برنامج شؤون الموظفين يستطيع أن يكتب ملاحظاته و تقييمه للبرنامج أو تقديم افكار لتطويره و في هذه الحالة أقترح عليك أن تقدم شرحا للبرنامج يتضمن : - الهدف من البرنامج - بنية الجداول و البيانات المطلوبة - وصف للنماذج و الفائدة منها - وصف للتقارير و الفائدة منها وفقك الله -
بالنسبة لسؤالك الحل أن تصمم نموذج رئيسي مصدر بياناته جدول المستأجرين ثم تبني ضمنه نموذج فرعي مصدر بياناته جدول قيود حساب المستأجرين و يكون الربط بن النموذجين على معرف المستأجر و في هذه الحالة كلما أردت اضافة سجل جديد في النموذج الفرعي ( أي بمعنى اضافة عملية جديدة للمستأجر ) يتم تلقائيا ربط هذه العملية بالمستأجر دون أن يكون هناك حاجة لادخال الاسم في كل مرة
-
جيد , لتكن نقطة البداية من هنا أهم مرحلة في بناء اي مشروع برمجي هي مرحلة تخطيط النظام اشرح الفكرة التي ترديها بشكل مبسط ( اترك التقارير للمرحلة الأخيرة ) , حتى نفهم المطلوب و نتمكن من اقتراح الجداول التي تحتاج أن تصممها و بعد ذلك النماذج و التقارير في المرحلة الأخيرة
-
ممكن مساعده فى عمل استعلام لقاعده بيانات صغيره
rudwan replied to fast.bux.com's topic in قسم الأكسيس Access
سأعطيك الفكرة و حاول أن تعمل عليها 1- اعمل استعلام على جدول السداد لشهر 11-2004 مثلا 2- اعمل استعلام Query Wezard Find Unmached Query Wizard هنا المعالج سيطلب منك عدة خطوات اختر أولا جدول الأسماء ثم اطلب الاستعلام في الخطوة رقم 1 أعلاه نتيجة الاستعلام المفروض أن تظهر لك الشخاص الذين لم يسددوا خلال شهر 11-2004 -
مرفق مثال مبسط على كيفية التصفية بعد أن يفتح النموذج , اكتب اي رقم في مربع النص في النموذج الرئيسي ثم اضغط على زر الأمر الذي في الأسفل و انظر كيف تتم التصفية Anal.rar
-
ممكن مساعده فى عمل استعلام لقاعده بيانات صغيره
rudwan replied to fast.bux.com's topic in قسم الأكسيس Access
اذكر تفاصيل الجدولين المذكورين حتى نتمكن من مساعدتك -
أستشيركم في قاعدة بيانات ( حساب درجات مواد على فترات )
rudwan replied to smaaa.'s topic in قسم الأكسيس Access
جدول الطلاب لابأس به و كذلك جدول المواد بالنسبة لجدول طلاب المرجلة الأولى و الثانية , مالغرض منه ؟ اذا كان الغرض منه تسجيل الطالب في أي مرحلة , يمكن الغاء هذين الجدولين و الاستعاضة عنهما كما يلي : جدول المراحل : مسلسل - اسم المرحلة جدول حركة الطلاب : مسلسل الحركة - تاريخ الحركة - رقم الطالب - رقم المرحلة ( نفس حقل مسلس في جدول المراحل ) جدول الفترات : مسلسل - اسم الفترة جدول الدرجات : مسلسل - تاريخ - رقم الطالب - رقم المادة - رقم الفترة ( نفس حقل مسلسل في جدول الفترات ) - الدرجة جدول المواد - يضاف حقل رقم المرحلة ( نفس حقل مسلسل في جدول المراحل هذا مبدئيا و هناك حاجة لاستخدام دالة في المراحل اللاحقة لاستخراج مرحلة الطالب -
أخي الكريم الجميع هنا مستعد للمساعدة و المساهمة و بلا مقابل لكن لأجل ذلك ينبغي توفر ركيزتين أساسيتين أولا : أن يكون هناك شرح واضح و مبسط للمشروع حتى يسهل فهمه , لأن الشرح الذي سردته طويل جدا مما يساهم في تشتيت ذهن القاري ثانيا : أن يكون لديك المام و لو بسيط بأساسيات الأكسس حتى تستطيع القيام ببعض المهام في ذلك المشروع مثل بناء الجداول و غيره كخطوة أولى , لأنه من الصعب أن تجد من يتفرغ لتصميم البرنامج من أوله لأخره دفعه واحدة الأفضل أن يكون تشاركيا و كل حسب استطاعته ووقته
-
الأخ الفاضل أهلا بك في منتدانا كما اشار مشرفنا الأستاذ نارت المنتدى هنا لتقديم المساعدة و المشورة العلمية و ليس للتصميم حسب الطلب فيمكن أن نساعدك بالأفكار و بطريقة تصميم الجداول و بالأكواد التي تحتاجها لكن عليك أن تبدأ أنت بالبناء و ستجد ان شاء الله المساعدة في التشطيب و ستعود الفائدة عليك أنت بالمقام الأول
-
الخطأ يكمن في أن حقل program_name في النموذج Course Dispaly_name يأخذ قيمته من الحقل اسم البرنامج بدلا من حقل رقم البرنامج s_name لأن نوع هذا الحقل رقم و ليس نص عدل قيمة خاصية Bound Column في تنسيق الحقل program_name في النموذج Course Dispaly_name الى 2 بدلا من 1 ليأخذ قيمة رقم البرنامج بدلا من اسمه
-
في هذه الحالة يمكن أن يتم عمل ملف رئيسي( و هو الملف التجميعي ) , و تكون بنية جداوله هي نفس بنية جداول الملفات الموجودة لدى كل مستخدم , و لكن تكون السجلات فارغة اي لاتحتوي اي ادخال , و من ثم عند وقت تجميع البيانات , يتم عمل استعلام الحاق ليتم الحاق سجلات كل جدول من جداول ملفات المستخدمين ( واحدا تلو الآخر ) , و يتم الحاقها في جداول الملف التجميعي المشار اليه أعلاه و لكن هنا ينبغي الانتباه الى أمرين : أولا : المفتاح الرئيسي : عند نقل سجلات الجدول A مثلا و يحتوي الحقل AC مفتاح رئيسي , طبعا سيتنتقل بداية سجلات ملف المستخدم الأول كاملة الى الملف التجميع , أما جداول بقية المستخدمين فلن تنتقل كلها لأن هذا الحقل سيعتبر مكرر اذا كانت قيمة هذا الحقل مكررة لدى مستخدم آخر , و ينطبق هذا الكلام على الحقول التي خاصيتها مكرر = لا , فينبغي هنا اعادة تصميم حقول الجداول لتكون المفاتيح الرئيسية غير متعارضة مع مثيلاتها في الملف التجميعي ثانيا : ترتيب عملية نقل الجداول حسب الجداول المرتبطة , فينبغي نقل بيانات الجداول الرئيسية أولا ثم الفرعية , فمثلا اذا كان هناك جدول أصناف و جدول عملاء و جدول طلبيات و جدول تفاصيل طلبيات فيجب أولا نقل سجلات جدول الأصناف , ثم جدول العملاء ثم جدول الأصناف ثم جدول تفاصيل الطليبات
-
تقوم بتقسيم الملف الى ملفي أكسس الأول و يسمى قاعدة البيانات و يحتوي الجداول و العلاقات فقط هذا الملف يوضع في جهاز الخادم ( السرفر ) و الملف الثانيو يسمى الواجهة يحتوي كل مكونات الملف من نمذاج و تقارير و استعلامات ماعدا الجداول ثم يعمل له ربط على جداول الملف الأول الآن تضع نسخة من ملف الواجهة لدى جهاز كل مستخدم , و طبعا كل الادخالات هنا ستكون على جداول ملف القاعدة الموجود على السرفر و يراه الجميع
-
اريد تعلم الاكواد ماذا افعل (تمت الاجابة)
rudwan replied to Mina Garas's topic in قسم الأكسيس Access
انظر الأرشيف الخاص بالوحدات النمطية Codes و ستجد باذن الله ماتريده حول كيفية البدء بكتابة الأكواد -
كيفيه عمل معدله مثل vlookup فى الاكسس؟؟؟؟؟
rudwan replied to A_HALEEM2006's topic in قسم الأكسيس Access
استخدم دالة Dlookup("Field","Table","[Item]= " & me.item) تظهر لك اية بيانات تريدها من الجدول الذي يحوي بيانات الصنف حيث : Table هو جدول الأصناف Field حقل السعر في جدول الأصناف Item هو حقل الصنف في جدول الأصناف me.item هو حقل رقم الصنف في نموذج الفاتورة -
هذه نسخة على أكسس 2003 Client1.rar DB.rar
-
الحل كما ذكر الاخوان أعلاه في كود التحديث للنموذج عند حدث المؤقت أو التايمر و أعتقد أنه لم ينجح معك لأنك ربما وضعت الكود في حدث النموذج الرئيسي بينما يجب وضعه في حدث النموذج الفرعي الذي يحتوي المحادئة كما في الملف المرفق ضع الملف db على سطح المكتب ( هذا ملف غير خاص بالمستخدمين ) و ضع الملف الذي سوف يستخدمه المستخدم الأول Cleint1 تحت السواقة c و خذ منه نسخة أخرى تحت السواقة D مثلا ( للمستخدم الثاني ) الآن كل مستخدم سوف يفتح الملف الخاص به c or d لاحظ التحديث الفوري للرسائل دون الحاجة لغلق النموذج DB.rar Client1.rar
-
كيفية عمل تقرير للحقول التي لم يدخل بها بيانات
rudwan replied to العارف بالله's topic in قسم الأكسيس Access
السلام عليكم انطر الاستعلام الجديد basic Without Matching hawafez هذا الاستعلام يعرض الموظفين الذين لم يتم ادراجهم في جدول الحوافز ابني عليه التقرير الذي تريده example.rar -
السلام عليكم يوجد في قسم الأمثلة و التطبيقات موضوع مهم للأستاذ أبو هادي مرفق ملف توضيحي UmAlQura_Samples_20050801.rar
-
أخي الكريم ابحث في قسم الأمثلة و التطبيقات علك تجد ماتريد أما هذا القسم فهو غير مخصص لتنفيذ التصاميم بل لنصمم معا خطوة بخطوة فان كنت مستعدا للتصميم فابدأ معنا مشروعك أولا بأول