اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

عمر ضاحى

الخبراء
  • Posts

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

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

  • Days Won

    9

كل منشورات العضو عمر ضاحى

  1. اذا كان ما تريد هو حساب العمر بين تاريخين اليك هذا النتيجه (مرفق معها مديول "داله حسابيه ") Function fAge(dteStart As Variant, dteEnd As Variant) As Variant '******************************************* 'Purpose: Accurately return the difference ' between two dates, expressed as ' years.months.days 'Coded by: raskew (from MS Access forum) 'Inputs: From debug (immediate) window ' 1) ? fAge(#12/1/1950#, #8/31/2006#) 'Calculate btw 2 specific dates ' 2) ? fAge(#12/30/2005#, Date()) ' Calculate as of today's date '******************************************* Dim intHold As Integer Dim dayhold As Integer 'correctly return number of whole months difference 'the (Day(dteEnd) < Day(dteStart)) is a Boolean statement 'that returns -1 if true, 0 if false intHold = DateDiff("m", dteStart, dteEnd) + (Day(dteEnd) < Day(dteStart)) 'correctly return number of days difference If Day(dteEnd) < Day(dteStart) Then dayhold = DateDiff("d", dteStart, DateSerial(Year(dteStart), Month(dteStart) + 1, 0)) + Day(dteEnd) Else dayhold = Day(dteEnd) - Day(dteStart) End If fAge = LTrim(Str(intHold \ 12)) & " years " & LTrim(Str(intHold Mod 12)) & " months " & LTrim(Str(dayhold)) & " days" End Function ضريبة (1).mdb
  2. بعتذر لحضرتك انا مش قادر افهم ما تريد هل تريد ان يتم الحساب كانه مثلا كحساب الاعمار ؟
  3. هو حضرتك جايب الارقام دي من فين ؟ لان حسب مثالك دي النتائج للاسف انا ضعيف فى هذا الباب ممكن نسأل اهل العلم فى هذا الجانب مثل استاذى الكريم @ابو جودي @Moosak
  4. DateDiff("ww";[txtDate1];[txtDate2]) لكن افضل ان تكون DateDiff("d";[txtDate1];[txtDate2])/7 لا فى الدالة الاولى اذا كان الفتره بين التاريخين هم 4 اسابيع ويومين كمثل فانه يحسبه 5 اسابيع DateDiff("m";[txtDate1];[txtDate2])
  5. اتفضل هذا التعديل Private Sub Commande24_Click() Dim varcode As String Dim vars As String Dim ContRec As Integer Dim DlookupRec As String DlookupRec = Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'") Debug.Print "ContRec >> " & ContRec Debug.Print "DlookupRec >> " & DlookupRec If Me.code.Value <> "" Then varcode = "'" & Me.code.Value & "'" If x <> "" Then x = x & " and " End If x = x & "code = " & varcode & " " End If 'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then ' ' DoCmd.OpenReport "data", acViewPreview, , x 'Else ' DoCmd.OpenReport "nodata", acViewPreview, , x 'End If If (ContRec <> 0) And (DlookupRec = 0) Then DoCmd.OpenReport "nodata", acViewPreview, , x ElseIf (ContRec >= 1 And ContRec <= 3) And (DlookupRec <> 0) Then DoCmd.OpenReport "data_01_3", acViewPreview, , x ElseIf (ContRec >= 4 And ContRec <= 9999) And (DlookupRec <> 0) Then DoCmd.OpenReport "data_4_9999", acViewPreview, , x End If End Sub ايضا المرفق Database10_1.rar تم وضع معيارين معا واتمنى ان اكون قد وضحت الفكره لك وانك فهمت الكود كيف يعمل واذا كان هناك شئ غير مفهوم تفضل وسوف اشرحه لك او يشرحه لك اى شخص هنا
  6. ممكن تجرب هذا Private Sub Commande24_Click() Dim varcode As String Dim vars As String Dim ContRec As Integer ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'") Debug.Print "ContRec >> " & ContRec If Me.code.Value <> "" Then varcode = "'" & Me.code.Value & "'" If x <> "" Then x = x & " and " End If x = x & "code = " & varcode & " " End If 'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then ' ' DoCmd.OpenReport "data", acViewPreview, , x 'Else ' DoCmd.OpenReport "nodata", acViewPreview, , x 'End If If ContRec <= 0 Then DoCmd.OpenReport "nodata", acViewPreview, , x ElseIf ContRec >= 1 And ContRec <= 17 Then DoCmd.OpenReport "data", acViewPreview, , x ElseIf ContRec >= 18 And ContRec <= 999999999 Then DoCmd.OpenReport "data", acViewPreview, , x End If End Sub ايه المعيار ال حضرتك تريده هل هو عدد السجلات ام اجمالى الدين للعميل ؟
  7. ممكن تجرب هذا Private Sub Commande24_Click() Dim varcode As String Dim vars As String Dim ContRec As Integer ContRec = DCount("code", "listecont", "[code]='" & Me.code & "'") Debug.Print "ContRec >> " & ContRec If Me.code.Value <> "" Then varcode = "'" & Me.code.Value & "'" If x <> "" Then x = x & " and " End If x = x & "code = " & varcode & " " End If 'If Nz(DLookup("mtRole", "listecont", "code='" & Forms!Chrche_Filter!code & "'"), 0) <> 0 Then ' ' DoCmd.OpenReport "data", acViewPreview, , x 'Else ' DoCmd.OpenReport "nodata", acViewPreview, , x 'End If If ContRec <= 0 Then DoCmd.OpenReport "nodata", acViewPreview, , x ElseIf ContRec >= 1 And ContRec <= 17 Then DoCmd.OpenReport "data", acViewPreview, , x ElseIf ContRec >= 18 And ContRec <= 999999999 Then DoCmd.OpenReport "data", acViewPreview, , x End If End Sub طبعا لا تنسي ان تعدل فى اسماء التقارير حسب ما تريد
  8. تفضل هذه المحاولة *تم اضافة رقم معرف فى جدول t_name&datemousade للتمييز نصيحه لازم يكون فى كل جدول حاجه اشبه بالسيريل نمبر خاص بالجدول علشان ممكن تحتاجه فيما بعد فى الفلتره والتحديد طبعا انت هتشوف ايه الحقول المطلوبه لان صعب عرض كل البيانات دي فى شاشه واحده المرفق مساعدات مرضية جديد2.rar
  9. هذا هو المطلوب بارك الله فيك
  10. نصيحه اى معيار لا يكون بالاسم دائما يكون برقم معرف لماذا ؟ لان الرقم لا يمكن ان يكون فيه احتمالات اما الاسماء فهناك يمكن ان يتكرر الاسم او الاسم فيه همزه زيادة حرف ناقص حرف زائد ..... الخ اما الرقم فالرقم هو رقم يكتب عربي يكتب انجليزي الرقم هو رقم لا يمكن ان يكون هناك احتمالات له نأتي هنا لطلب الاخر ممكن توضح اكثر هذا الاستعلام سوف يأخذ المعيار من اين ؟ بمعني اصح اين النموذج الذى سوف تبني عليه هذا الاستعلام
  11. انظر الى المرفق *تم اضافة حقل جديد فى جدول child_family حتى يكون هناك معرف خاص لكل فرد من افراد الاسرة مساعدات مرضية جديد2.accdb
  12. حلو بدأنا نقرب الموضوع طيب البيانات التى سوف تسجلها هيكون فى اى جدول (جدول التخزين)
  13. واضح ان حضرتك لم تفهمنى الموضوع اشبح بتسلسل هرمي يعنى اسم الموظف يندرج تحته بيانات البيانات تندرج تحتها بيانات اخرى منفصله هكذا تكون اما ان تكون نفس البيانات فى النموذج الفرعي هي هي التى فى combo 6 فى النموذج الرئيسي ؟ ما الفائده ؟ لازم يكون فى بيانات اخرى مختلفه من جدول اخر مختلف مثلا هكذا (كمثال) >اسم الموظف >>تحته >> اسماء عائلته (الزوجات مثلا) >>>تحته >>> اسماء الاطفال من هذه الزوجات وهكذا فى هذه اللحظه هتكون العلاقه واضحه بين الجداول وايضا واضح المطلوب برمجته
  14. اولا باشكر حضرتك على تعبك بارك الله فيك لكن للاسف الحل لم ينجح بيعطينى خطأ m7alfa.accdb
  15. اين جدول المرضى ال هاخذ منه combo6 له البيانات
  16. هل هذا الذى فى جدول T_aa ؟ اين الجدول الخاص به ؟ اعتقد انه فى جدول child_family صحيح ؟
  17. اعتذر لك مش قادر افهم حضرتك يعنى المفترض لما اختار اسم المريض من combo2 ايه ال يظهر لى فى combo6 ولما اختار من combo6 ايه ال يظهر لى فى النموذج الفرعي
  18. الحمد لله انك قد توصلت للحل هذه فكره كنت اظنها غير مفيده اكثر من انها تكون مفيده لكن مع ذلك حبيت اشاركها لعل ^_^ لكن طلع الحل فى مكان اخر فالحمد لله انها اتحلت المشكله مع حضرتك واعتذر عن تقديم حل حقيقى لك لقلة علمي
  19. اسمح لى اضع ملاحظه قد تكون ليس لها اى فائده لكن حابب اشارك معك فكره غبيه كده جرب تعيد ترتيب الاحتمالات مثلا اجعل ال null اولا ومن ثم الى الاحتمال التالى فالتالى ^_^
  20. جرب المرفق هل هذا ما تريد ؟ مساعدات مرضية جديد2.accdb
  21. هذا مخالف يمكن ان تستخدم داله if مثل If IsNull(المعيار) Then الحالة الاولى Else الحالة الثانيه End If
  22. السلام عليكم ورحمة الله وبركاته رمضان كريم ^_^ ويتقبل الله منا ومنكم صالح الاعمال انا معي دالة لكن مش عارف اوصل للصيغه الصحيحه لحلها الهدف من الداله هو الوصول لاعلى قيمه (رقم) فى جدول تحت معيارين الاول مطابقة رقم الموظف الثاني ان يكون داخل السنه الحالية اولا الداله بهذه الصيغه تعمل جيدا =Nz(DMax("[NoM7alfa]";"tblM7alfa";"[EmpNoM7alfa]=[Forms]![frmSearch]![SubfrmQTGetAlll].[Form]![Emp_No]" And [M7alfaDate]<=#31/12/2022#);0)+1 لكن لما حبيت اجعل المعيار الثاني يكون تلقائى فكرت باستخدام دالة Between و ايضا DateSerial Between DateSerial(Year(Date); Month(Date); 1) AND DateSerial(Year(Date); Month(Date) + 1; 0) حتى احصل على تاريخ بين اول السنه واخر السنه الحاليه الان اريد ان ادمج بين الدالتين فكرت ان اجعلها هكذا =Nz(DMax("[NoM7alfa]";"tblM7alfa";"[EmpNoM7alfa]=[Forms]![frmSearch]![SubfrmQTGetAlll].[Form]![Emp_No]" And [M7alfaDate]<= Between DateSerial(Year(Date); Month(Date); 1) AND DateSerial(Year(Date); Month(Date) + 1; 0) );0)+1 لكنها لا تعمل ويظهر لى خطأ فى تركيب الداله
  23. انت ممكن فى النموذج والتقرير تجمع بين الحقل الرقمي والنص معا باستخدام & وهذا ايضا يتطلب ان يكون هناك حقل نصي فى الاساس وايضا حقل رقمي وتجمع بينهم فى حقل ثالث او مباشرتا فى النوذج والاستعلام والتقرير
×
×
  • اضف...

Important Information