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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

كل منشورات العضو jjafferr

  1. عملت لك الاضافة ، اللي تحتها خط احمر ، وتقدر تعملها للحقل الآخر للبحث : . والنتيجة: . جعفر 1031.Advanced Search Marj3.accdb.zip
  2. السلام عليكم 🙂 وبعد ملاحقة الرابط الى آخر الى آخر الى آخر الى آخر الى آخر الى آخر الى ... ، ومحاربة مضاد الفيروسات على كمبيوتري مع هذه الصفحات والتي تحاول زرع برامج خبيثة عليه ، اليكم الرابط الاخير لتحميل البرنامج: https://www.file-up.org/azot1x4brsec جعفر ملاحظة: بسبب صعوبة حصول الاعضاء على البرنامج من رابط الرفع ، تم اضافة المرفق الى الموضوع الاصل 🙂
  3. السلام عليكم 🙂 في الماضي كان عندنا معيار واحد فقط (التاريخ) ، بينما الآن اصبح عندنا معيارين (التاريخ و الادارة) ، وهذا اخذ مني اكثر من يومين للوصول اليه !! على العموم ، نظّفت الكود بطريقة اخرى ، والعرض اصبح الآن يأخذ الصفحة كاملة ، وعلى اساسه يعمل عرض الحقول 🙂 وهذا الكود كاملا: Private Sub Report_Open(Cancel As Integer) Dim ctrl As Control Dim A As Integer Dim Empty_Cells As Integer Dim Full_Cells As Integer Dim W As Integer Dim myWhere As String Dim rpt_width As Integer Dim Full_Date As Date Dim D As Integer Dim Y As Integer Dim M As Integer 'W = 2200 / 4 'field width Empty_Cells = 0 Full_Cells = 0 'the name rpt_width = 0 Y = Forms!Report!iYear 'year M = Forms!Report!iMonth 'month 'lets fit/expand the controld based on the avaible width 'how many Full_Cells For D = 1 To 31 Full_Date = DateSerial(Y, M, D) myWhere = "[edara]='" & Forms!Report!cmd_edara_N & "'" myWhere = myWhere & " And " myWhere = myWhere & "[zeiara_date]=" & DateFormat(Full_Date) A = DCount("*", "zeara", myWhere) If A <> 0 Then Full_Cells = Full_Cells + 1 End If Next D W = Me.Width - (Me.Printer.LeftMargin + Me.Printer.RightMargin + Me("mogh_name").Width) W = W / (Full_Cells - 1) For D = 1 To 31 Full_Date = DateSerial(Y, M, D) 'the field Names from the Crosstab query 'check if this field exists int the table myWhere = "[edara]='" & Forms!Report!cmd_edara_N & "'" myWhere = myWhere & " And " myWhere = myWhere & "[zeiara_date]=" & DateFormat(Full_Date) A = DCount("*", "zeara", myWhere) If A = 0 Then 'field dose not exist Me("txt_" & D).Width = 0 'trim field size to Zero Me("txt_" & D).Visible = False 'make the field invisible Me("txt_" & D).ControlSource = "" 'remove the Control Source Me("lbl_" & D).Width = 0 'trim label size to Zero Me("lbl_" & D).Visible = False 'make the label invisible Empty_Cells = Empty_Cells + 1 'Debug.Print "Off " & Me("txt_" & D).Name & vbTab & "D:" & D & vbTab & "Full:" & Full_Date & vbTab & "A:" & A Else 'field exists Me("txt_" & D).Width = 1 * W 'set the field width Me("txt_" & D).Visible = True 'make the field visible Me("txt_" & D).ControlSource = Full_Date Me("lbl_" & D).Width = 1 * W 'set the label width Me("lbl_" & D).Visible = True 'make the label visible Me("lbl_" & D).Caption = D & "/" & M 'give the label, a caption Full_Cells = Full_Cells + 1 rpt_width = rpt_width + Me("txt_" & D).Width 'add the width 'Debug.Print "ON " & Me("txt_" & D).Name & vbTab & "D:" & D & vbTab & "Full:" & Full_Date & vbTab & "A:" & A End If Next D Me.Width = rpt_width + Me("mogh_name").Width 'the final Report width End Sub جعفر 1030.rpt_Monthly_Crosstaby.mdb
  4. مافهمت قصدك في السؤال: فالبيانات عندك تظهر بالكامل ، ولا حاجة الى عمل اي شيء !! ولكن ، اذا اردت معرفة طريقة عمل تحديث الحقل الفارغ بعلامة - ، فاليك هذه الصورة كمثال: . جعفر
  5. السلام عليكم 🙂 اخي سامي: وضع اكثر من سؤال في الموضوع يُعتبر مخالف لقوانين المنتدى ، والاسئلة اعلاه خارجة عن الموضوع 🙂 جعفر
  6. السلام عليكم 🙂 . 1. نعم ، بعمل مجموعة استعلامات تحديث ، استعلام لكل جدول (وقد نحتاج الى اكثر من استعلام للجدول) ، ولكن يعملون بحدث رز واحد ، 2. نعم ، ولكن هذا يعتمد على المعيار والتصفية ، ويمكنك تجربة هذا على حقل معين في الجدول ، قم بتغيير بيانات بعض الحقول الفارغة الى - ، وشوف النتيجة. نعم كلامك صحيح. سبق وان ناقشنا هذا الموضوع ، وبعمق ، فرجاء لا تأتي بأسماء اعضاء وتحرجهم ، والنتيجة ببساطة انك لن تجد لهم جواب في اسئلتك القادمة (وقد تم حذف اسم العضو من موضوعك اعلاه). مشكلتك الاساسية هي عدم ظهور كافة البيانات في الاستعلام (الاستعلام وبدون اي معايير) ، وذلك لأن العلاقة التي عملتها بين الجدولين لا تطلب جميع السجلات وبغض النظر من وجودها في الجدول الآخر او لا ، وقد قام الاخ كاسر @kaser906 مشكورا بتوضيح وتعديل الاستعلام في 3 ابريل ، اي قبل 8 ايام تقريبا ، وذلك في الموضوع والطريقة التي قام بها: بما ان ربطك للجدولين ظاهرا هكذا (علاقة الربط غير حقيقة الربط) ، ولكن حقيقة ، الربط بحقل "اسم الشهرة" و"المؤلف" ، لأنك مستخدم Lookup لحقل "المؤلف" ، فالحقول (في المربع الاحمر) التي لا توجد اسماء لها في الجدول الآخر ، لن تظهر في الاستعلام . وبالنقر المزدوج على خط العلاقة بين الجدولين ، تظهر لنا هذه النافذه ، والتي نختار منها جميع السجلات في الجدول Marj3 ، بغض النظر اذا كانت موجودة في الجدول الآخر او لا . والنتيجة تكون هكذا (لاحظ السهم تحت الرقم 1) . وعلى اساسه نرى جميع البيانات في الاستعلام . الى هنا وينتهي الذي قام به الاخ كاسر ، ولما نرى النتيجة في النموذج ، وبعد إضافة معيار البحث في الاستعلام ، ثم نبحث عن: "د" . ففي واقع الامر ، لم تكن عندك مشكلة في NULL ، وانما في عرض البيانات بطريقة صحيحة 🙂 جعفر 1029.نموذج بحث.accdb.zip
  7. لإضافة السجلات الفارغة ، يجب اضافة الجزء الاخير من المعادلة التاليه: Like IIf(Len([forms]![frm_Main]![fName] & '')=0,"*","*" & [forms]![frm_Main]![fName] & "*") or [DateX] is null هذا معناه انك تبحث عن معلومه معينه ، ويعطيك الاكسس هذه المعلومه ، وطبعا الحقل الفارغ البكر NULL لا يحتوي على هذه المعلومة ، لذلك تريد: 1. بيانات البحث ، 2. الحقول الفارغة في الحقل. ولكن دعني اعطيك نصيحة ، فالعمل على الحقول التي بها بيانات وبها فارغة ، ليس بالعمل السهل ، لذلك ، فالافضل ان تعبئ هذه الحقول الفارغة بعلامة مثل "-" (شرطة او ناقص) ، ولسهولة العمل ، اعمل استعلام تحديث لهذا الحقل ، بحيث تُدخل علامة - في جميع الحقول الفارغة ، فيصبح بحثك اسهل 🙂 جعفر
  8. السلام عليكم 🙂 مع خالص الشكر، هل ممكن شرح نتعلم منه هذه الطرق في عمل استعلام البحث من حيث (غرض الاستخدام - والمميزات والعيوب - وكيفيه التنفيذ) هذه الروابط فيها المطلوب: 1. 2. . جعفر
  9. السلام عليكم 🙂 الدقة: جميع الاستعلامات لها نفس الدقة في تصفية/فرز البيانات ، السرعة: الاستعلام العادي من خلال معالج الاستعلام كان يمتاز عن بقية انواع الاستعلامات (وهنا لا اتكلم عن Recordset) ، بأن الاكسس كان يعمل له Compile وايضا يعمل له خطة عمل ، مما يجعله اسرع من بقية الانواع ، حيث انه يكون جاهزا للعمل بمجرد فتحه ، اما الآن ، وبوجود الاجهزة الجديدة والسريعة ، فبقية انواع الاستعلام ، تقوم بعمل Compile بسرعة عند استعمالها ، فلا نلاحظ الفرق في سرعة بينهم. ولكن ، هذا كله يعتمد على طريقة عمل الاستعلام ، بغض النظر عن نوعه 🙂 واهم شيء لجعل الاستعلام يعمل بسرعة هو ، عمل فهرسة (في الجداول) للحقول التي بها معايير ، او الحقول التي بها ربط بين الجداول. جعفر
  10. وعليكم السلام 🙂 اخي حسنين ، الصور التي وضعتها في الموضوع لا تظهر !! يجب ان تختار اللغة التي كتبت فيها البرنامج في المادة 4 من الصورة ادناه: . جعفر
  11. حياك الله اخوي حسنين ، واهلا وسهلا بك 🙂 وشكرا الموضوع المميز 🙂 جعفر
  12. السلام عليكم 🙂 نفس فكرة اخي حسنين ، ولكن على برنامجك: . . . . . . جعفر 1028.exa 4.accdb.zip
  13. وعليكم السلام 🙂 اخبرك طريقة الصيد ، بدل ان اعطيك سمكه 🙂 الجزء الاول هنا . والجزء الثاني . ولسرعة جلب البيانات ، استعمل التالي وبدون ذكر الحقل ، لأنك في نهاية الامر تحسب عدد السجلات: DCount("*", . وللتأكد انك صرت صياد ، وبعد ان تحصل على النتيجة الصحيحة ، اريدك تعرض لنا الكود بالكامل و النتيجة 🙂 جعفر
  14. السلام عليكم شباب 🙂 في مشاركتي لسؤال من نفس النوع ، وبعد البحث في الانترنت ، وضعت هذه المشاركة ، ولم يتم تجربة الكود ، والفكرة هي عمل التحويل الى accde على جهاز العميل برمجيا : . وفي هذا الموضوع ، تم تجربة الكود وبنجاح 🙂 . جعفر
  15. وعليكم السلام ورحمة الله وبركاته 🙂 شكرا لك على هذه الكلمات الجميلة ، وانا شخصيا ، ونحن كمنتدى وإدارة المنتدى ، نعتز ونفتخر برؤية مشاركات فيها فائدة للجميع ، وبالذات بافكار جديدة 🙂 نحن محظوظين بوجودنا في قريتنا الصغيرة "منتدى افسينا" ، وبوجود الاعضاء جيران لنا ، وبالاخص جيران امثالكم 🙂 جعفر
  16. السلام عليكم 🙂 نعم ممكن 🙂 هذا الجدول الجديد، مثلا: تم تعديل الاستعلام والوحدة النمطية لتتضمن جميع الدرجات: والنتيجة: وهذه الوحدة النمطية المعدلة: Public Function Per(Deg As String, Final_Grade As Integer) As String 'Expr1: IIf([Deg1]="غـ","متخلف",IIf(((Val([Deg1])/20)*100)<50,"Less50",IIf(((Val([Deg1])/20)*100) Between 50 And 55,"50-55%",IIf(((Val([Deg1])/20)*100) Between 55.1 And 60,"55-60%",IIf(((Val([Deg1])/20)*100) Between 60.1 And 65,"60-65%",IIf(((Val([Deg1])/20)*100) Between 65.1 And 70,"65-70%",IIf(((Val([Deg1])/20)*100) Between 70.1 And 75,"70-75%",IIf(((Val([Deg1])/20)*100) Between 75.1 And 80,"75-80%",IIf(((Val([Deg1])/20)*100) Between 80.1 And 85,"80-85%",IIf(((Val([Deg1])/20)*100) Between 85.1 And 90,"85-90%",IIf(((Val([Deg1])/20)*100) Between 90.1 And 95,"90-95%",IIf(((Val([Deg1])/20)*100) Between 95.1 And 99.99,"95-99%","100%")))))))))))) Dim Grade As Double Grade = ((Val(Deg) / Final_Grade) * 100) If Deg = "غـ" Then Per = "متخلف" ElseIf Grade < 50 Then Per = "Less50" ElseIf Grade >= 50 And Grade <= 55 Then Per = "50-55%" ElseIf Grade >= 55.1 And Grade <= 60 Then Per = "55-60%" ElseIf Grade >= 60.1 And Grade <= 65 Then Per = "60-65%" ElseIf Grade >= 65.1 And Grade <= 70 Then Per = "65-70%" ElseIf Grade >= 70.1 And Grade <= 75 Then Per = "70-75%" ElseIf Grade >= 75.1 And Grade <= 80 Then Per = "75-80%" ElseIf Grade >= 80.1 And Grade <= 85 Then Per = "80-85%" ElseIf Grade >= 85.1 And Grade <= 90 Then Per = "85-90%" ElseIf Grade >= 90.1 And Grade <= 95 Then Per = "90-95%" ElseIf Grade >= 95.1 And Grade <= 99.99 Then Per = "95-99%" Else Per = "100%" End If 'Debug.Print "Grade of: " & Deg & "/" & Final_Grade & " = " & Per End Function وهذه نتيجة كل درجة على حدة: Grade of: 13/20 = 60-65% Grade of: 11/20 = 50-55% Grade of: 11/20 = 50-55% Grade of: 10/20 = 50-55% Grade of: 0/20 = Less50 Grade of: 0/20 = Less50 Grade of: 9/20 = Less50 Grade of: 8/20 = Less50 Grade of: 7/20 = Less50 Grade of: 6/20 = Less50 Grade of: 5/20 = Less50 Grade of: 12/20 = 55-60% Grade of: 12/20 = 55-60% Grade of: 3/20 = Less50 Grade of: 2/20 = Less50 Grade of: 1/20 = Less50 Grade of: 4/20 = Less50 Grade of: 6/30 = Less50 Grade of: 1/30 = Less50 Grade of: 2/30 = Less50 Grade of: 3/30 = Less50 Grade of: 20/30 = 65-70% Grade of: 20/30 = 65-70% Grade of: 9/30 = Less50 Grade of: 0/30 = Less50 Grade of: 7/30 = Less50 Grade of: 15/30 = 50-55% Grade of: 8/30 = Less50 Grade of: 20/30 = 65-70% Grade of: 19/30 = 60-65% Grade of: 18/30 = 55-60% Grade of: 16/30 = 50-55% Grade of: 14/30 = Less50 Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: 5/30 = Less50 Grade of: 17/30 = 55-60% Grade of: 14/50 = Less50 Grade of: 10/50 = Less50 Grade of: 11/50 = Less50 Grade of: 13/50 = Less50 Grade of: 20/50 = Less50 Grade of: 15/50 = Less50 Grade of: 16/50 = Less50 Grade of: 17/50 = Less50 Grade of: 18/50 = Less50 Grade of: 19/50 = Less50 Grade of: ÛÜ/50 = ãÊÎáÝ Grade of: 19/50 = Less50 Grade of: 12/50 = Less50 Grade of: 75/100 = 70-75% Grade of: 75/100 = 70-75% Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 50/100 = 50-55% Grade of: 60/100 = 55-60% Grade of: 70/100 = 65-70% Grade of: 65/100 = 60-65% Grade of: 40/100 = Less50 Grade of: 85/100 = 80-85% Grade of: 85/100 = 80-85% Grade of: 90/100 = 85-90% Grade of: 90/100 = 85-90% Grade of: 95/100 = 90-95% Grade of: 95/100 = 90-95% Grade of: 100/100 = 100% Grade of: 100/100 = 100% Grade of: 60/100 = 55-60% Grade of: 50/100 = 50-55% Grade of: 40/100 = Less50 Grade of: 0/100 = Less50 Grade of: 15/100 = Less50 Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 55/100 = 50-55% Grade of: 65/100 = 60-65% Grade of: 18/100 = Less50 Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 80/100 = 75-80% Grade of: 80/100 = 75-80% Grade of: 30/100 = Less50 Grade of: 13/20 = 60-65% Grade of: 11/20 = 50-55% Grade of: 11/20 = 50-55% Grade of: 10/20 = 50-55% Grade of: 0/20 = Less50 Grade of: 0/20 = Less50 Grade of: 9/20 = Less50 Grade of: 8/20 = Less50 Grade of: 7/20 = Less50 Grade of: 6/20 = Less50 Grade of: 5/20 = Less50 Grade of: 12/20 = 55-60% Grade of: 12/20 = 55-60% Grade of: 3/20 = Less50 Grade of: 2/20 = Less50 Grade of: 1/20 = Less50 Grade of: 4/20 = Less50 Grade of: 6/30 = Less50 Grade of: 1/30 = Less50 Grade of: 2/30 = Less50 Grade of: 3/30 = Less50 Grade of: 20/30 = 65-70% Grade of: 20/30 = 65-70% Grade of: 9/30 = Less50 Grade of: 0/30 = Less50 Grade of: 7/30 = Less50 Grade of: 15/30 = 50-55% Grade of: 8/30 = Less50 Grade of: 20/30 = 65-70% Grade of: 19/30 = 60-65% Grade of: 18/30 = 55-60% Grade of: 16/30 = 50-55% Grade of: 14/30 = Less50 Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: ÛÜ/30 = ãÊÎáÝ Grade of: 5/30 = Less50 Grade of: 17/30 = 55-60% Grade of: 14/50 = Less50 Grade of: 10/50 = Less50 Grade of: 11/50 = Less50 Grade of: 13/50 = Less50 Grade of: 20/50 = Less50 Grade of: 15/50 = Less50 Grade of: 16/50 = Less50 Grade of: 17/50 = Less50 Grade of: 18/50 = Less50 Grade of: 19/50 = Less50 Grade of: ÛÜ/50 = ãÊÎáÝ Grade of: 19/50 = Less50 Grade of: 12/50 = Less50 Grade of: 75/100 = 70-75% Grade of: 75/100 = 70-75% Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 50/100 = 50-55% Grade of: 60/100 = 55-60% Grade of: 70/100 = 65-70% Grade of: 65/100 = 60-65% Grade of: 40/100 = Less50 Grade of: 85/100 = 80-85% Grade of: 85/100 = 80-85% Grade of: 90/100 = 85-90% Grade of: 90/100 = 85-90% Grade of: 95/100 = 90-95% Grade of: 95/100 = 90-95% Grade of: 100/100 = 100% Grade of: 100/100 = 100% Grade of: 60/100 = 55-60% Grade of: 50/100 = 50-55% Grade of: 40/100 = Less50 Grade of: 0/100 = Less50 Grade of: 15/100 = Less50 Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 55/100 = 50-55% Grade of: 65/100 = 60-65% Grade of: 18/100 = Less50 Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: ÛÜ/100 = ãÊÎáÝ Grade of: 80/100 = 75-80% Grade of: 80/100 = 75-80% Grade of: 30/100 = Less50 جعفر 1022.Problem 55-2003.mdb.zip
  17. تفضل 🙂 الطريقة هي: فتح التقرير للمعاينه (بطريقة مخفية) ، في التقرير ، في خانة الفرز ، نرسل اليه فرز النموذج الفرعي ، ثم نعطي التقرير الأمر بالقيام بالفرز ، (وفي سطر آخر كذلك يمكننا ان نرسل اليه تصفية النموذج الفرعي Filter ، ثم يجب ان نعطي التقرير الأمر بالقيام بالتصفية FilterOn) ، ثم نطبع التقرير ، ثم نغلق التقرير . فرز التقرير حسب فرز النموذج الفرعي: DoCmd.OpenReport "Q1", acViewPreview, , , acHidden Reports!Q1.OrderBy = Me.SUB.Form.OrderBy Reports!Q1.OrderByOn = True Dim PauseTime, Start PauseTime = 1 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop DoCmd.OutputTo acOutputReport, "Q1", acFormatPDF, ("RateCard" & Format(Now(), "mmmyyyy hhmmss") & ".pdf"), True DoCmd.Close acReport, "Q1", acSaveNo . وعلى هذا القياس تستطيع عمل تصفية كذلك 🙂 جعفر 1027.test2000.mdb.zip
  18. تفضل ، والطريقة اللي تريدها هي رقم 2 في الرابط جعفر
  19. السلام عليكم ورحمة الله وبركاته الاستعلام يُعتبر العمود الفقري لقواعد البيانات ، وكلما زادت معرفتنا به ، كلما يصبح البرنامج افضل واسرع 🙂 البحث/التصفية في الاستعلام من الطرق المهمة ، ولكن وللأسف الشديد ، ارى الكثير من المبرمجين لا يعرفون الطريقة الصحيحة في عملها ، فالطريقة الغير صحيحة قد تعطيك النتائج ولكن على حساب وقت تنفيذ الاستعلام 😞 الامثله هنا تقوم على انه يوجد لدينا نموذج اسمه frm_Main ، وبه حقل الاسم fName ، وحقل التاريخ:من Date_From ، وحقل التاريخ:الى Date_To ، والحقول في الاستعلام ، حقل الاسم fName ، وحقل التاريخ DateX . 1. اذا اردنا البحث عن اسم كامل (وليس جزء من اسم) ، فيجب ان يكون المعيار في الاستعلام: [forms]![frm_Main]![fName] 2. واذا كان حقل الاسم فارغا في النموذج ، ونريد ان نرى جميع الاسماء ، فالمعيار يصبح: iif(len([forms]![frm_Main]![fName] & '')=0,[fName],[forms]![frm_Main]![fName]) والشرح للتأكد بأن الحقل فارغ في النموذج، بدل ان نكتب IsNull([forms]![frm_Main]![fName]) or [forms]![frm_Main]![fName]=0 فإننا نختصر هذين الشرطين بشرط واحد len([forms]![frm_Main]![fName] & '')=0 iif(كان الحقل فارغ في النموذج,[fName] اعطنا جميع بيانات الحقل,[forms]![frm_Main]![fName]واذا كان الحقل به قيمة فاستعمل هذه القيمة) . 3. اذا اردنا البحث عن جزء من الاسم Like IIf(Len([forms]![frm_Main]![fName] & '')=0,"*","*" & [forms]![frm_Main]![fName] & "*") والشرح IIf(Len([forms]![frm_Main]![fName] & '')=0 نعم Like "*" لا Like "*" & [forms]![frm_Main]![fName] & "*") . 4. اذا اردنا البحث بين تاريخين بدون سجلات التاريخ الفارغة Between (IIf(Len([Forms]![frm_main]![Date_From] & '')=0,#01-Jan-1900#,[Forms]![frm_main]![Date_From])) And (IIf(Len([Forms]![frm_main]![Date_To] & '')=0,#01-Jan-2900#,[Forms]![frm_main]![Date_To])) والشرح Between (IIf(Len([Forms]![frm_main]![Date_From] & '')=0,#01-Jan-1900#,[Forms]![frm_main]![Date_From])) And (IIf(Len([Forms]![frm_main]![Date_To] & '')=0,#01-Jan-2900#,[Forms]![frm_main]![Date_To])) مع سجلات التاريخ الفارغة Between (IIf(Len([Forms]![frm_main]![Date_From] & '')=0,#01-Jan-1900#,[Forms]![frm_main]![Date_From])) And (IIf(Len([Forms]![frm_main]![Date_To] & '')=0,#01-Jan-2900#,[Forms]![frm_main]![Date_To])) Or [DateX] Is Null والشرح Between (IIf(Len([Forms]![frm_main]![Date_From] & '')=0,#01-Jan-1900#,[Forms]![frm_main]![Date_From])) And (IIf(Len([Forms]![frm_main]![Date_To] & '')=0,#01-Jan-2900#,[Forms]![frm_main]![Date_To])) Or [DateX] Is Null او طريقة استاذنا واخونا العود ابو خليل Between nz([forms]![frm_main]![Date_From];"01/01/1900") And nz([forms]![frm_main]![Date_To];"01/01/2100") . جعفر
  20. وعليكم السلام 🙂 هذا يعتمد على طريقة عملك للبحث ، هل عن طريق الاستعلام ، او بالكود في النموذج مباشرة عن طريق Filter ، او بالكود وتغيير Recordset او تغيير RecordSource ، جعفر
  21. وعليكم السلام 🙂 هنا ترى احد الطرق: جعفر
  22. وعليكم السلام ورحمة الله وبركاته 🙂 واهلا وسهلا بك في المنتدى 🙂 في الواقع السؤال هو ، هل قرأت قوانين المنتدى قبل طرحك للسؤال؟ قسم الأكسيس Access تابع هذا القسم 58 Access هذا المنتدى مخصص لمشاركات الأكسيس قواعد المشاركة فى الموقع و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف رجاء عمل موضوع جديد وفق شروط المنتدى 🙂 يُقفل الموضوع. جعفر
  23. وعليكم السلام ما اعرف شو المطلوب الآن؟ جعفر
  24. وعليكم السلام ورحمة الله وبركاته حيالله حبيبنا الغالي واخونا العود ابو خليل 🙂 اي والله من سفره طويله الى سفرات قصيرة الى سفره طويله من يوم الاحد الجاي ان شاء الله 🙂 ويا صباح الخيرات اخي jo_2010 وبعد اذن حضرتك ، فأنا لم اعدك لأني كنت اعرف مسبقا اني على سفر ووقتي سيكون جدا ضيق ، لهذا السبب كتبت لك ، ولكن وللأسف ماصار لي وقت ، وسافرت !!
  25. وعليكم السلام 🙂 اخي jo_2010 1. انت لازلت تقوم بإرفاق برنامجك القديم ، مع اني قمت بالتعديل عليه هنا وقام أخونا الفاضل ابو خليل بعمل تقريبا نفس التعديل هنا (يعني بدأ من الصفر بالتعديل) مما يأخذ الوقت من اللي يريد يساعدك ، فياريت تشتغل على آخر مرفق 🙂 2. اذا لم تحصل على رد لموضوعك ، فهذا قد يكون بسبب ان موضوعك غير واضح ، لذلك اذا ارفقت مثال او مثالين لطريقة الجواب المرجّوه في ملف اكسل او وورد او عمل صورة مثلا ، فهذا سيسهل الموضوع كثيرا علينا. جعفر
×
×
  • اضف...

Important Information