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

ابوخليل

أوفيسنا
  • Posts

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

  • Days Won

    239

كل منشورات العضو ابوخليل

  1. الدالة DlookUp هي السبب الرئيس في بطء عملية البحث اليك طريقة اخرى سيكون البحث الآن على الجميع ، لترى الفرق في الأداء فقط انقل الاستعلام والنموذج الى برنامجك ووافنا بالنتيجة الاقرارات الناقصة3.rar
  2. المشكلة التي تواجهك انك لن تستطيع وضع معيار للسنة داخل النموذج لان النموذج يأخذ بياناته من طريقين مرتبطين الاول هو مصدر بيانات النموذج والثاني مصدر البحث والتصفية لذا يلزم جعل المعيار خارج النموذج وهذا ما تم عمله في التعديل المرفق آمل ان يفي بالطلب الاقرارات الناقصة2.rar
  3. تفضل آمل ان يحقق مطلبك Private Sub A_AfterUpdate() If (DLookup("B", "tbl1", "B=form!B")) Then MsgBox "هذا السجل مكرر " Undo End If End Sub Private Sub B_AfterUpdate() If Not IsNull(DLookup("A", "tbl1", "A=form!A")) Then MsgBox "هذا السجل مكرر " Undo End If End Sub NoDuplicates.rar
  4. الحل يتم بأكثر من طريقة اسهل وأقوى طريقة هو ان تجعل الحقلين مفتاحين جرب ووافنا بالنتيجة تنبيه : لاختيار اكثر من مفتاح : اضغط زر كنترول من لوحة المفاتيح ثم حدد السجلات المطلوبة ثم انقر بالزر الايمن واختر المفتاح No Duplicates.rar
  5. او يمكن النظر هنا رابط بشرح بسيط للفكرة http://www.officena.net/ib/index.php?showtopic=58882#entry376191
  6. Private Sub عنصر_تحكم_علامة_جدولة0_Change() frm1.Requery frm2.Requery End Sub
  7. الموضوع كشكول يشتمل على ادوات متنوعة جميلة ومرجع يستحق رف خاص بالمكتبة شكرا لك على هذا المجهود جعله الله في موازين اعمالك
  8. السلام عليكم لو شرحت لنا الفكرة فيمكن ان يكون هناك طرق اخرى للتنفيذ تم التعديل حسب طلبك على مربع التحرير الأول في المثال تجريبي2.rar
  9. هلا بك اكثر اخوي رمهان وشكرا للمساعدة ومد يد العون وكلمة " اعتقد" هي على فرضية وجود حلول افضل والحقيقة ان الحل قدح في فكري وانا اكتب السؤال لذا وضعت الدوال المساعدة وانتظرت ما يقرب من الساعة ثم طرحت الجواب الدالة : Format([dateM];"ww") لوحدها تكفلت بالحل ، فأول يوم في الاسبوع هو الاحد افتراضيا ثم استخدمتها مرة اخرى كمعيار داخل الاستعلام مع استبدال التاريخ الظاهر بــ ()Date جميل .. لو كنت سأبحث عن او اعرض اسبوع معين خلال سنوات ولكني اريد الاسبوع الحالي فقط فلو فرضنا أن الاحد القادم داخل في سنة جديدة فسيكون رقمه 1 وفي الوقت نفسه سيكون المعيار 1
  10. السلام عليكم انساب الحيوان لا شك تختلف عن انساب البشر جدول واحد يقوم بالمهمة حتى المواليد لست بحاجة لوضع جدول خاص بها
  11. اعتقد اني توصلت لحل بناء على المعطيات المساعدة السابقة UData2.rar
  12. السلام عليكم ورحمة الله وبركاته اخواني الأعزاء في المرفق جدول يحتوي على سجلات يتم ادخالها يوميا واريد من خلال الاستعلام عرض سجلات الاسبوع الحالي فقط على فرضية ان الاسبوع يبدأ بيوم الأحد وينتهي بيوم السبت زيادة ايضاح : في المرفق جدول يشتمل على سجلات تبدأ من يوم الجمعة 27 / 3 / 2015 وتنتهي بيوم السبت القادم 4 / 4 / 2015 المطلوب : 1- عرض السجلات من تاريخ الاحد في هذا الاسبوع 29 / 3 وحتى السبت القادم 4 / 4 فقط 2- وعلى فرضية انني قمت بتغيير تاريخ الكمبيوتر الى الأحد القادم ثم قمت بتسجيل جديد داخل الجدول بتاريخ الاحد القادم 5 / 4 / 2015 فأريد ان يعرض اليوم الجديد في الاسبوع الجديد فقط وهكذا ... مطلوب عرض بيانات أيام الأسبوع الحالي من 1 وحتى 7 من خلال استعلام دوال مساعدة: Weekday(date, [firstdayofweek]) لاستخراج رقم اليوم خلال الاسبوع Format([date1];"ww") لاستخراج رقم الاسبوع خلال السنة UData.rar
  13. وعليكم السلام ابا محمد تفضل : استبد الكود الخاص بجلب الصورة بهذا On Error GoTo err_Form_Current Me.Student_Img.Picture = Application.CurrentProject.Path & "\Imags\" & Me.id & ".jpg" Exit Sub err_Form_Current: If Err.Number = 2220 Then Me.Student_Img.Picture = Application.CurrentProject.Path & "\Imags\NoPicture.jpg" End If
  14. Private Sub B_Exit(Cancel As Integer) If IsNull(B) Then Cancel = True End If End Sub
  15. لنفرض لدينا مربع تحرير اسمه comb1 يحتوي : رقم الصنف ، واسم الصنف ، والسعر على الترتيب ولدينا حقل اسمه text1 ونريد اظهار احدى قيم مربع التحرير داخل هذا الحقل سيكون الكود على النحو التالي : text1=comb1 ' يرجع رقم الصنف text1=comb1.Column(0)'ايضا يرجع رقم الصنف text1=comb1.Column(1)'يرجع الحقل الثاني الذي هو اسم الصنف text1=comb1.Column(2)'يرجع الحقل الثالث
  16. حقل النتيجة ntj استخدمنا فيه الطريقة نفسها التي نجمع فيها كل صفحة على حدة ولكن هنا استبدلنا الجمع استبدلناه بالاختيار من متعدد واليك شرح مفصل عن ما يحدث داخل التقرير 1- مصدر التقرير هو الاستعلام التجميعي وتظهر فيه المعدلات والمجموع 2- وضعنا حقلا مخفيا (test1) في تفصيل التقرير ومصدر بياناته هو حقل test1 الموجود في الاستعلام وكما ذكرنا سابقا ان هذا الحقل يأخذ القيمة 1 عن كل مجموع يقل عن 50 3- انشأنا حقلا جديدا غير منضم ntj داخل مقطع تذييل اليوزر ويظهر في المحرر بهذا الاسم : (تذييل_المجموعة0 ) الآن نحتاج الى طريقة او كود يجمع الموجودات في حقل test1 ان وجدت ( كل صفحة لوحدها ) لنعمل لها شرطا كالتالي : المجموع1= مكمل .... المجموع2 = مكمل ... المجموع3=راسب ... المجموع 0 =ناجح والطريقة وجدناها وهي طريقة جمع الصفحات وشرحها كالتالي : نعلن عن متغير رقمي testSum في رأس المحرر Dim testSum As Integer في مقطع رأس التقرير نجعل قيمة المتغير صفر لقطع العلاقة بمجموع الصفحة السابقة Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) testSum = 0 End Sub في مقطع التفصيل نجعل المتغير يساوي مجموع قيم الحقل test1 الموجودة Private Sub تفصيل_Format(Cancel As Integer, FormatCount As Integer) testSum = testSum + Nz(Me.test1, 0) End Sub في النهاية قيمة المتغير ستكون صفرا أو 1 أو 2 أو أكثر الآن يمكننا صناعة شرط بناء على قيمة هذا المتغير يظهر قيمة ntj كما نرغب ونريد وذلك يتم في حدث مقطع التذييل الذي يتواجد به حقلنا هذا Private Sub تذييل_المجموعة0_Format(Cancel As Integer, FormatCount As Integer) If testSum = 1 Or testSum = 2 Then ntj = "مكمل" ElseIf testSum > 2 Then ntj = "راسب" Else ntj = "ناجح" End If End Sub آمل ان اكون بينت ووضحت شيئا من الاشكال في المثال المرفق
  17. تم ارفاق الملف مرة أخرى إنشاء شريط أدوات لطباعة التقارير .rar
  18. Dim GrayLine As Boolean ' ضع هذا السطر في راس المحرر '.............................................. Private Sub تفصيل_Format(Cancel As Integer, FormatCount As Integer) If GrayLine = True Then Me.تفصيل.BackColor = 14933454 ' رمادي GrayLine = False Else Me.تفصيل.BackColor = 16777215 ' ابيض GrayLine = True End If End sub
  19. تم تطبيق الكود في حدث بعد التحديث لحقل تاريخ الميلاد يعني بعد ادخال تاريخ الميلاد تظهر النتيجة وهو مكانه الصحيح ولوجود بيانات سابقة يمكن جعل الحدث في حدث الحالي للنموذج للتطبيق على البيانات المدخلة سابقا حساب العمر يوم شهر سنة2.rar
  20. في المثال المرفق : الشهادة النهائية للطالب وهي نموذج سريع مشابه للتقرير الاول وينقصها بعض اللمسات مثل المجموع الكلي ، والترتيب ، والنسبة ومثل رأس الشهادة اوما يسمى الكليشة وايضا التذييل ايضا هي بحاجة الى سطر يبين اسم المرحلة الجديدة التي انتقل اليها الطالب ويمكن ايضا وضع صورة الطالب في اعلى الشهادة كل واحدة مما ذكر يحتاج الى درس يخصه Drjat9.rar
  21. نعود لدرسنا : وهو شرح كيفية ظهور النتيجة في التقرير بالصورة التي ظهرت في المثال المرفق الاخير وحقيقة ان الطريقة عادية جدا كالتالي 1- جعل الاستعلام مصدرا للتقرير 2- نستخدم خاصية الفرز والتجميع ( كما هو مبين بالصورة المرفقة ) بحيث نجعل بيانات الطالب ( الاسم والصف والشعبة ) في رأس المقطع الجديد الذي انشأناه هذا كل شيء وجاهز لتوضيح اي اشكال او غموض وسيكون الدرس القادم بإذن الله كيف نعمل اشعارخاص او شهادة للطالب من الاستعلام نفسه
  22. اخواني الكرام ابومحمد وابو آلاء وعلي المصري وجميع من يمر من هنا من احبتي واخواني : انا كما يقول المثل : عود من عرض حزمة والخير في اهل هذا المنتدى كثير ، وانتم أهله
  23. اخواني الكرام ابو آلاء وابو محمد سنعتمد الطريقة الاسهل في الشرح في المثال الاخير في المشاركة رقم 10 لا يوجد اكواد ولا ادوات فلترة واعتمدنا في عملنا على التالي : استعلام تحديد وهو مصدر داخلي للتقرير استخرجنا داخله المعدلات والمجموع بطريقة جمع عادية كالتالي : moadl1: Round(([ekhtbar1]+[ekhtbar2]+[ekhtbar3])/3;2) هنا معدل الفصل الاول جمعنا اختبار الشهر الاول + الشهر الثاني + الشهر الثالث ثم قسمناها على 3 اما الرقم 2 فهو خاص بالدالة round ووظيفتها اختصار الخارج العشري والاقتصار على رقمين فقط فلو اردنا الخارج رقما عشريا واحدا فيجب استبدال الرقم 2 بالرقم 1 وهكذا في معدل الفصل الثاني : moadl2: Round(([ekhtbar4]+[ekhtbar5])/2;2) ثم استخرجنا المحصل السنوي : sanawi: Round(([moadl1]+[NISFALSANH]+[moadl2])/3;2 ثم اخرا وليس اخيرا جمعنا الكل وسميناه النتيجة : ntejah: Round(([sanawi]+[NHAIATALSANH])/2;2) واخيرا صنعنا حقلا يشير الى الرسوب : test1: IIf([ntejah]<50;1) ويعني اي مادة تقل عن 50 سيضع امامها رقم واحد تجدون في المرفق هنا انه تم اظهار هذا الاستعلام بدلا من جعله داخل التقرير تنبيه : لفتح الاستعلام يلزم ان يكون النموذج مفتوحا لوجود معايير الصف والشعبة داخل الاستعلام يتبع ... شرح طريقة الفلترة داخل التقرير واستخراج النتيجة حسب الطلاب Drjat8.rar
×
×
  • اضف...

Important Information