rudwan
-
Posts
2,926 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
6
Community Answers
-
rudwan's post in تحديث جزء الشهر والعام في حقل التاريخ was marked as the answer
معادلة التحدبث كما يلي
DateSerial ( year, month, day ) اعمل استعلام تحديث
بحيث تحدث حقل الشهر الى مايلي
DateSerial(2000;4;Day([orderdate])) -
rudwan's post in مساعده لمشروع التخرج was marked as the answer
هناك بعض التعديلات ينبغي عملها على الملف
اقرأ هذا الموضوع
http://www.officena.net/ib/index.php?showtopic=13598
أجري التعديلات الللازمة حسب قراءتك للموضوع ثم ارفعه مجددا
-
rudwan's post in نقل وتحديث بيانات جدول رئيسي وفرعي الى رئيسي وفرعي اخر was marked as the answer
تسمية الجداول بأرقام لا تعطي الفرصة لمعرفة العلاقة بينهما
طبعا ممكن , و يكون ذلك باتباع مايلي
1- اضافة حقل من نوع صح/خطأ ( تم التصدير ) الى الجدول رقم 2
2- من ملف أمين المخزن يتم عمل استعلام ( للتصدير ) بياناته من الجدولين رقم 2 و الشرط حقل ( تم التصدير ) يكون خطأ , و يتم تصديره الى ملف المحاسب
3- يتم انشاء استعلام تحديث بيانته الاستعلام السابق , يتم تحديث قيمة الحقل ( للتصدير ) الى نعم
نفس الخطوات السابقة يتم اتباعها مع الجدول رقم 1
لكن محاذير هذه الطريقة أنها تفترض أن أمين المخزن لن يقوم بعمل أي تحديث أو حذف على السجلات المصدرة سابقا
-
rudwan's post in استعلام الحاق استخدمت معه معيار منع التكرار تم منعه من العمل نهائى was marked as the answer
هل تقصد أنه لديك عملاء
و تريد كل شهر اضافة مبلغ الاشتراك لهذا العميل ؟
اذا كان كذلك , جرب الاستعلام التالي
INSERT INTO RASEEDB ( ZCustomerID, Out, ZDate, Eladafy ) SELECT Customer.CustomerID, Customer.Money, [Select New Date] AS Expr1, 0 AS Expr2 FROM Customer WHERE (((Customer.Net)=True)); و اذا لم يكن هو المقصود أرجو توضيح الفكرة أكثر
-
rudwan's post in كيف اصمم استعلام يجلب معلومات من ثلاث جداول ؟؟؟ was marked as the answer
أنشىء استعلاما جديدا و انسخ فيه الكود التالي
SELECT [tblORD-No].[CLINTNO-OrdNo],[tblORD-No].OrdNo, [tblORD-No].OrderNote,null as [Type Of Edt],null as ActionNote FROM [tblORD-No] WHERE ((([tblORD-No].[CLINTNO-OrdNo])=1)) union all SELECT Quer.CLINTNO, Quer.OrdNo, Quer.OrderNote, Quer.[Type Of Edt], Quer.ActionNote FROM Quer WHERE (((Quer.CLINTNO)=1)); -
rudwan's post in المساعده فى الاحصاء was marked as the answer
في التقرير , قم بتحويل مربعات التسمية Labels الى مربعات نص Text Box
ثم اكتب في خاصية مصدر البيانات لمربع النص معادلة مثل المعادلة التالية
=DCount("id","TPstoudnt","[alsaf]=1 and [dyana]=1") المعادلة السابقة هي احضار عدد الطلاب للشرط : الصف الأول - الديانة مسلم
و على نفس النمط أكمل بقية المعادلات مع اختيار قيم الشروط المختلفة
-
rudwan's post in استفسار بسيط _ عمل نموزج للغياب بقاعده بيانات الطلاب was marked as the answer
أنت لست محتاجا لعمل ربط بين معرف الغياب و معرف الطلاب
جدول الغياب نفسه يتضمن حقل رقم الطالب أيضا
فاذا ماعليك الا أن تبني نموذج على جدول الغياب و تدخل بيانات الغياب عبر رقم الطالب و تاريخ اليوم
-
rudwan's post in عمل فلتر بناءا علي بيانات جدول was marked as the answer
نعم , يمكن انشاء استعلام على الجدول , و تكتب الجملة التالية في حقل الشروط
In (select name1 from filter1) و نفس الشي بالنسبة للحقل الآخر
-
rudwan's post in ارجو مساعدتي في حساب ايام الجمعة من الشهر was marked as the answer
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
هذا شرح مختصر للدالة , و أنا أنصح بأن يتم فهم الدالة أكثر عن طريق اختزالها على عدة مراحل
مثلا يتم اعطاء اسم الدالة لأول سطر تنفيذ و حذف باقي الأسطر , ثم يتم اختبار القيمة التي سيرجعها لتكون مفهومة
ثم يتم اضافة السطر التالي و فحص القيمة ,, و هكذا
أما بالنسبة لسؤالك الأول , طبعا الدالة المفروض أن تعطي القيمة الصحيحة المتبقية كلما تم فتح النموذج
أما اذا كان سيتم ابقاء النموذج مفتوحا طيلة ايام الشهر , فهنا لايتم تنفيذ الحساب تلقائيا , بل ينبغي في هذه الحالة استخدام خاصية المؤقت - التايمر
لأن التايمر ينفذ الكود بعدد اجزاء الزمن المعرف له سواء بالثانية أو أجزائها
-
rudwan's post in ممكن مساعده فى عمل استعلام لقاعده بيانات صغيره was marked as the answer
سأعطيك الفكرة و حاول أن تعمل عليها
1- اعمل استعلام على جدول السداد لشهر 11-2004 مثلا
2- اعمل استعلام
Query Wezard
Find Unmached Query Wizard
هنا المعالج سيطلب منك عدة خطوات
اختر أولا جدول الأسماء
ثم اطلب الاستعلام في الخطوة رقم 1 أعلاه
نتيجة الاستعلام المفروض أن تظهر لك الشخاص الذين لم يسددوا خلال شهر 11-2004
-
rudwan's post in إستعلام أفضل موظف في المبيعات ( عنوان معدل ) was marked as the answer
انظر الاستعلام FirstSalesMan
example.rar