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

عمر ضاحى

الخبراء
  • Posts

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

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

  • Days Won

    9

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

  1. الله يحفظك ويكرمك ويعطيك الف الف عافيه كود ممتاز ورائع من حضرتك الله يحرم وجهك عن النار ويبارك له فى علمك ومالك وصحتك
  2. انا بقول انى قدامي كثييير جدا هتعلمه منك ما تشرحلنا النمط ده تكسب فينا ثواب
  3. لقد اخطأت فى شئ وتم تداركه الان يمكنك ان تجرب الكود
  4. Dim i As Integer DoCmd.GoToRecord , , acFirst For i = 1 To Me.Recordset.RecordCount If Me.text1 Like "*" & "مصر" & "*" Then Me.text2 = "جمهورية مصر العربيه" ElseIf Me.text1 Like "*" & "السعودية" & "*" Then Me.text2 = "المملكة العربيه السعودية" ElseIf Me.text1 Like "*" & "الامريكية" & "*" Then Me.text2 = "الولايات المتحده الامريكيه" ElseIf Me.text1 Like "*" & "الاردنية" & "*" Then Me.text2 = "المملكة العربيه الهاشمية" End If DoCmd.GoToRecord , , acNext GoTo nxfor DoCmd.GoToRecord , , acNext nxfor: Next i جرب هذا الحل كده
  5. مبدئيا هيكون هنا الشروط If Me.text1 Like "*" & "مصر" & "*" Then Me.text2 = "جمهورية مصر العربيه" ElseIf Me.text1 Like "*" & "السعودية" & "*" Then Me.text2 = "المملكة العربيه السعودية" ElseIf Me.text1 Like "*" & "الامريكية" & "*" Then Me.text2 = "الولايات المتحده الامريكيه" ElseIf Me.text1 Like "*" & "الاردنية" & "*" Then Me.text2 = "المملكة العربيه الهاشمية" End If باقى نعملها فى دائرة علشان تتنفذ فى كل سجل
  6. انا فاهم حضرتك لكن ما تريده كانك بتطلب من شخص ان يبني احتمالات لجميع دول العالم ^_^ لكن ممكن نبدأ الفكره باستخدام دالة Like ويكون هناك دالة شرطيه طويييييله لجميع دول العالم خلينى اجرب شئ وارجعلك
  7. طيب ايه المعيار هنا ؟ يعنى مصدر الكلمة التى سوف تضاف اين وايه معيار الاختيار هنا ؟
  8. ممكن طبعا باستخدام دالة like Like "*" & "مدير" & "*" هنا هيجيب اى حاجه فيها كلمة مدير 123.rar
  9. ممكن تشوف الشرح هذا عمل بسيط لشرح الفكره
  10. اذا انت بحاجه الى اعادة توزيع الجداول يجب ان تفرق بين الجداول الثابته والمتغيره هناك جداول تحتوي على بيانات ثابته مثل اسماء الوظائف الجنسيات وجداول بيناتها متغيره مثل بيانات الموظفين هنا احنا بحاجه الى عمل شئ مهم قبل ان نبدأ بتكوين الجداول وهو معرفة ماذا سوف تكون العلاقة بين الجداول انظر الى ملف المرفق ملاحظات :- 1- تم تغير اسم جدول (الموظفين) الى (tblEmpInfo) لسهولة التعامل معه فيما بعد >> - تم تغير اسماء الحقول فى جدول lلعربي الى الانجليزي ايضا لنفس الغرض >> - تم تغير نوع البيانات فى الحقل (JobTitle) من (نص)الى رقم لكي يتم الربط به >> - تم تغير نوع البيانات فى الحقل (IDemp) من (رقم تلقائى )الى رقم حتى يمكنك التحكم فى رقم الموظف واذا احببت ان تكون تلقائى يمكن استخدام هذه الداله (افضلها) Nz(DMax("[IDemp]";"tblEmpInfo");0)+1 2-تم تغير اسم جدول (الوظيفة) الى (tblJobTitle) لسهولة التعامل معه فيما بعد >> - تم تغير اسماء الحقول فى جدول lلعربي الى الانجليزي ايضا لنفس الغرض 3- تم حذف جدول (التصنيف) لتكرار البيانات فى جدول اخر (الوظيفة)(tblJobTitle) 4- تم انشاء علاقه بين الجدولين بعد كل هذا الامور هتكون واضحه نأتي لكيف اضافة البيانات (محتاجين هنا نعمل استعلام لجمع هذه البيانات ببعض ) وهيكون مثلا اسمه (QRY_All) يلا بينا نربط كل ده بالنموذج Database32_OmarDahy.rar وهكذا تخرج لنا النتيجه اتمنى ان اكون قد اجبت على سؤالك واذا كان هناك نقطه لم تفهمها لا تتردد فى طرح اسألتك ونجن تحت امرك
  11. ممكن توضح اكثر يعنى تقصد هل تريد عدم تكرار البيانات ؟ اذا كان هذا قصدك فيجب ان يكون لكل عضو (موظف) له رقم الخاص به كتعريف له وتضع مفتاح لهذا الحقل وهنا لكن يتكرر
  12. ارفع الملف على اى سيرفر خارجي مثل المديافير
  13. انه لشرف لى اكون اول من يرد على الموضوع بارك الله فيك مجهود رائع
  14. اين المرفق ؟ وهل يمكن شرح لنا الملف يعنى علاقة الجداول ببعض ؟
  15. بارك الله فيك استاذي هذا كله بفضل تعليم اساتذتى فى المنتدي بارك الله فيهم وحفظهم من كل سوء وما ارانا الله فيهم شر وبارك الله لهم فى عافيتهم ومالهم وعلمهم
  16. حضرتك عندك كذا ملاحظه اولا يفضل ان تكون قاعدة البيانات مكتوبه بالانجليزي (حتى لا يكون هناك خطأ فى الربط ويكون العمل سهل) ثانيا اسماء الحقول متكرره فى جدولين (يجب ان يكون هناك فرق فى اسماء الجداول التى سوف تربط معا بعلاقة ثالثا ممكن فى هذه الحالة تستخدم دالة Dlookup لحل مشكلتك
  17. ممكن تجرب هذا 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 شكرا لك اخ عمر ضاحي فلا هذه المرة اشتغل معايا هل جربت هذا الحل ؟
  18. اذا كان ما تريد هو حساب العمر بين تاريخين اليك هذا النتيجه (مرفق معها مديول "داله حسابيه ") 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
  19. بعتذر لحضرتك انا مش قادر افهم ما تريد هل تريد ان يتم الحساب كانه مثلا كحساب الاعمار ؟
  20. هو حضرتك جايب الارقام دي من فين ؟ لان حسب مثالك دي النتائج للاسف انا ضعيف فى هذا الباب ممكن نسأل اهل العلم فى هذا الجانب مثل استاذى الكريم @ابو جودي @Moosak
  21. DateDiff("ww";[txtDate1];[txtDate2]) لكن افضل ان تكون DateDiff("d";[txtDate1];[txtDate2])/7 لا فى الدالة الاولى اذا كان الفتره بين التاريخين هم 4 اسابيع ويومين كمثل فانه يحسبه 5 اسابيع DateDiff("m";[txtDate1];[txtDate2])
  22. اتفضل هذا التعديل 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 تم وضع معيارين معا واتمنى ان اكون قد وضحت الفكره لك وانك فهمت الكود كيف يعمل واذا كان هناك شئ غير مفهوم تفضل وسوف اشرحه لك او يشرحه لك اى شخص هنا
  23. ممكن تجرب هذا 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 ايه المعيار ال حضرتك تريده هل هو عدد السجلات ام اجمالى الدين للعميل ؟
  24. ممكن تجرب هذا 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 طبعا لا تنسي ان تعدل فى اسماء التقارير حسب ما تريد
×
×
  • اضف...

Important Information