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

ابو جودي

المشرفين السابقين
  • Posts

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

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

  • Days Won

    219

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

  1. انا اللى غلط واانا اكتب الكود ووضعتها مزدوجه انا اسف اكتب بسرعة وكنت اركز فى شئ آخر
  2. تم اعداد وتصميم هذا المرفق عام 2019 فقط قمت بتعديل روابط البث ولذلك وسمته ب ذكريات
  3. ------------------------ لفد وضعت الكود على اعتبار تعدد القيم وتعدد الالوان تبعا لتعدد القيم بوجه عام الكود بكل بساطه Dim colorA As Long: colorA = 255 Dim colorB As Long: colorB = 16711680 With Me.txtQty .BackColor = (IIf(.BackColor = colorA, colorB, colorA)) End With
  4. انا اسف كتب كلمة Long مرتين اجعلها واحدة فقط فى كل سطر LongLong تم تعديل المرفق يا دكتور @الحلبي برجاء اعد تحميل المرفق والتجربة
  5. ذكريات و تحديث اذاعات البث المباشر تحديث المرفق اعادة تفعيل الـ Shift تقليل حجم مستوى الصوت عتج الفتح ازالة روابط اذاعات بث الغناء اخص بكل الشكر والعرفان بالجميل اخى الحبيب الاستاذ @Amr Ashraf لتنبيهى لتدارك خطأى عبر نشر اذاعات بث الغتاء اللهم انى استغفرك واتوب واليك اللهم اغفر لى يارب وارحمتى واعفو عنى يارب العالمين Radio (V2).mdb
  6. طيب و يما ان السؤال كان على اعتبار ان اسم الحقل txtQty اجعل timer interval=300 وفي حدث on timer للنموذج ضع الكود التالي Dim colorA As Long Dim colorB As Long Select Case Nz(Me.txtQty, "") Case Is = "" Case 1 To 5 colorA = 255 colorB = 16711680 With Me.txtQty .BackColor = (IIf(.BackColor = colorA, colorB, colorA)) End With Case 6 To 10 colorA = 128 colorB = 32768 With Me.txtQty .BackColor = (IIf(.BackColor = colorA, colorB, colorA)) End With End Select قم بوضه القيم من 1 : 5 تحصل على مربع يضئ ويطقئ بألوان وغير القيم من 6 : 10 تحصل على مربع يضئ ويطقئ بألوان مختلفة المرفق تم تحديث المرفق LightSystem.mdb
  7. اولا انا وما املك ملك يمينكم >>---> العشق الممنوع طيب ليه فى اختلاف فى الاعداد حضرتك ت حسبت اجمالا واستخدمت التقريب فى الكسور انا لم احسب اجماالا ولذلك لم احصل على كسور ولم استخدم التقريب بس ... عند التحدث فى هذا الصدد لن تحصل اطلاقا على قيمة صحيحة بنسبة 100% طيب تعالى نوضح بعض النقاط الهامة تحتوي السنوات الكبيسة على 366 يومًا ، وليس 365 كم يوما يجب أن يكون للشهر؟ 28 أو 29 أو 30 أو 31؟ ومع الاخذ فى الاعتبار إن الوقت الذي تستغرقه الأرض حتى تدور حول الشمس على وجه الدقة يقترب من 365.25 يوما وبذلك يكون عدد الأيام فى الشهر = 365.25/12=30.4375 لذلك فإنه من أجل ضمان أن تظل مواسم التقويم الميلادية متزامنة مع المواسم الشمسية، يتم وضع يوم إضافي في التقويم الميلادي كل أربع سنوات وذلك سوف نقوم باستخدم الكود الاتى فى وحدة نمطية والافضل الحساب على اعتبار ان السنه 365.25 الوقت الذي تستغرقه الأرض حتى تدور حول الشمس ومع ذلك تم المراعاة اثناء كتابة الكود بجعل الاختيار حسب الرغبة اومااااااااااااااااااال Function GetPeriod( _ intContDays As Long, _ Optional intBetween_0_Or_1_LangEng_Or_Ar As Byte = 0, _ Optional intBetween_0_Or_1_ContDaysOfYear As Byte = 0) As String Dim YearAvg As Double, MonthAvg As Double Dim Y As Long, M As Long, D As Long Dim strYears As String, strMonths As String, strDays As String Select Case intBetween_0_Or_1_ContDaysOfYear Case Is = 0: YearAvg = 365: MonthAvg = 30 Case Is = 1: YearAvg = 365.25: MonthAvg = 30.4375 End Select Y = Int(intContDays / YearAvg) M = Int((intContDays - (Int(intContDays / YearAvg) * YearAvg)) / MonthAvg) D = intContDays - ((Y * YearAvg) + (M * MonthAvg)) Select Case intBetween_0_Or_1_LangEng_Or_Ar Case Is = 0: strYears = " year" & " , ": strMonths = " Month" & " , ": strDays = " Day" Case Is = 1 strYears = ChrW("32") & ChrW("1587") & ChrW("1606") & ChrW("1607") & " , ": strMonths = ChrW("32") & ChrW("1588") & ChrW("1607") & ChrW("1585") & " , ": strDays = ChrW("32") & ChrW("1610") & ChrW("1608") & ChrW("1605") End Select GetPeriod = Y & strYears & M & strMonths & D & strDays End Function على ان يتم استدعاؤه بشكل مرن باختيار الية الحساب على اعتبار ان السنة 365 و عدد ايام الشهر 30 او على اعتبار ان السنة 365.25 و عدد الأيام فى الشهر = 365.25/12=30.4375 syntax ويتم استدعاء الكود من خلال GetPeriod(CountDays, Lang(0 or 1) ,Option Calc for Cont Dayes Of Year(0 or 1)) وهذه جملة Sql والخاصة بالاستعلام للحصول على النتيجة النهائية كما بالمرفق SELECT tbldata.EmpCode, Sum(DateDiff("d",[fromDate],[ToDate])) AS NoDays, GetPeriod(Sum(DateDiff("d",[fromDate],[ToDate]))) AS FinalDurationBy365Eng, GetPeriod(Sum(DateDiff("d",[fromDate],[ToDate])),0,1) AS [FinalDurationBy365,25Eng], GetPeriod(Sum(DateDiff("d",[fromDate],[ToDate])),1) AS FinalDurationBy365Ar, GetPeriod(Sum(DateDiff("d",[fromDate],[ToDate])),1,1) AS [FinalDurationBy365,25Ar] FROM tbldata GROUP BY tbldata.EmpCode; واخيرا المرفق ملك يمينكم يا @سجى الكعبي و عبى يابا و ضيف للمكتبة يا سيدى طبعا لا اقصد مكتبة @Moosak EmploymentPeriods (V2).accdb
  8. السلام عليكم ورحمة الله تعالى وبركاته ان اليوم هو ١ ذى الحجة ١٤٤٣ هـ اول ايام العشر من ذى الحجة اسأل الله العلى القدير أن يوفقنا وإياكم فيهن لما يحبه ويرضاه من الأعمال الصالحة وأن يتقبل منا ومنكم إنه خير من سئل و أجود من أعطى وأعظم من غفر وأبر من أجاب كل عام وأنتم إلى الله أقرب وعلى طاعته أدوم ومن الجنة أدنى و أقرب وعن النار أبعد ولفعل الخيرات أسبق و لسنة النبى ألزم ولحب إتباعه أصدق كل عام وأنتم بألف ألف خير عمر مديد بإذن الله فى ظل رضى الله وطاعته عمر مديد بإذن الله مع أحبائكم عمر مديد بإذن الله وأنتم تنعمون بثوب الصحة والعافية عمر مديد بإذت الله وأنتم فى سعادة ورغد وهناء
  9. السلام عليكم ورحمة والله تعالى وبركاته طيب ببساطه انظر للسلسلة النصية الاتية "Moh8202281012343434" ونريد التعديل عليها لتظهر بهذا الشكل "Moh-820-228-101-234-343-4" او بهذا الشكل "Moh,820,228,101,234,343,4" او بهذا الشكل Moh820/228101/234343/4 يتم عمل ذلك من خلال الكود الاتى Function ReFormat(ByVal strText As String, Optional strSymbol As String = "-", Optional intCountDigits As Integer = 3) Dim i As Long ReFormat = "" For i = 0 To Len(strText) - 1 Step intCountDigits If i = 0 Then ReFormat = Mid(strText, i + 1, intCountDigits) Else ReFormat = ReFormat & strSymbol & Mid(strText, i + 1, intCountDigits) End If Next i End Function syntax code ReFormat(string ,Symbol, Count Digits) Result By default syntax used ReFormat(string) Symbol >-->> - Count Digits >-->> 3 اذا من خلال استدعاء الكود عن طريق البنية المفضلة الاتية: ReFormat(string) تحصل على اضافة العلامة - بعد كل 3 مواضع فى السلسلة النصية اما اذا اردت التعديل فى شكل الرمز وعدد المواضع يمكنك استخدام الكود الاتى : ReFormat(string ,Symbol, Count Digits) مثلا لو اردت استخدام الرمز $ بدلا من الرمز - وتريد وضع الرمز فى السلسلة النصية بعد كل خمس مواضع يكون الكود كالأتى: ReFormat(string ,"$", 5)
  10. لو تريد مثال على رفم الهارد ديسك من عيونى يا دكتور اصبر على وانا احضرهولك بس اولا انت عاوز الموضوع يكون معقد فى كتابة الاكواد قدر الامكان كما قمت انا به فى المثال المرفق وتهمك النتيجة الأخيرة ام تريد الموضوع مكتوب برمجيا بسهولة
  11. اى مبدع بحق واكثر الاوقات ابداعا عندما يقول >>---> يضاف الى مكتبة الاكواد
  12. تجربة ع السريع الحل بأخر استعلام qryTotalFinalDuration للتجربة ادخل كود الموظف 1 وتارة اخرى 2 للتجربة للعلم عدد الايام لن يكون صحيح بنسبة 100% لانه تم القسمة على 30 وهناك اشهر قد تكون 28 , 29 , 30 , 31 ولا اعرف كيف اضبطها الحل المقدم من تصورى قد اخطئ فيه وقد اصيب وربما تكون هناك افكار افضل وان حالفنى سعة من الوقت قد احاول تحويل كل المعادلات داخل الاستعلامات ليت ترجمتها فى موديول واحد ليقوم بالحساب مرة واحدة ولكن لن احاول عمل ذلك الا بعد التأكد من تجربتكم بصحة الارقام الناتجة EmploymentPeriods.accdb
  13. الله اكبـــــر يحيا العدل 👈 صعيدى وافتخر هذا فضل الله تعالى الذى هدانا وما كنا لنهتدى لولا ان هدانا الله عزوجل وهذا رزقكم ساقه الله اليكم
  14. يا سيدى الله يحفظك لاهلك واحبابك ويبارك بعمرك وعلمك وعملك وما يحرمنا جمعكم الطيب وفعلا انا مهضوم ومن كتر الهضم ما صار فينى شئ صيرت جلد على عضم بدنا ضرايب بالمنتدى ع ها المكتبة اوماااااااااااااااااااال
  15. ههههههه طماع البنى ادم ده تتأخر حبتين وهى تتأخر ثانية واحدة يا سيدى وتأتى بالنفع منها افضل من عدمها ومع ذلك شوف الفكرة رقم 3 يا سيدى بدون الرسالة خالص اللى تتأخر حبتين دى لا تزعل روحك المهم تنبسط ما نقدر على زعلك
  16. ووفقا للمشاركة التى اشرتم اليها لاستا DateDiff("s",#1/1/1970 3:00:00 AM#,[اسم الحقل فى الجدول]) وكما اشرتم الى موضوعكم وطبقا لحل استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr اتفضل الحل وهذا هو المرفق تم اضافة حقل To Timestamp والذى يقوم بتحويل التاريخ من الحقل Saudi الى Timestamp من خلال المعادلة Timestamp: DateDiff("s",#1/1/1970 3:00:00 AM#,[Saudi]) 1459.unix_tTime_Stamp V2.accdb
  17. فى فوكيره تانى بره الصندوق اشرحها نظرى الان وممكن التطبيق لاحقا ممكن نعمل نموذج يستعرض السجلات تباعا باستخدام حدث فى الوقت من السجل الاول الى الاخير و يغلق تلقائيا بعد السجل الأخير مرفق تطبيق الفكرة aa V3.accdb
  18. اتفضل يا سيدى احلام معاليك اوامر يا باش مهندس @Moosak اى خدمه يارب تنبسط بس تعتمد الفكرة على وضع الروتين الاتى فى وحدة نمطية Public opt As Integer Public Function MesgBox(ByVal msgText As String, _ Optional ByVal TimeInSeconds As Integer, _ Optional ByVal intButtons = vbDefaultButton1, _ Optional TitleText As String = "WScript") As Integer On Error GoTo MesgBox_Err Dim winShell As Object Set winShell = CreateObject("WScript.Shell") MesgBox = winShell.PopUp(msgText, TimeInSeconds, TitleText, intButtons) MesgBox_Exit: Exit Function MesgBox_Err: winShell.PopUp Err & " : " & Err.Description, 0, "MesgBox()", vbCritical Resume MesgBox_Exit End Function ويتم استدعاء الورتين من خلال opt = MesgBox(Me.n & vbCr & vbCr & " Please wait . . .", 1, vbInformation, "Info") حيث ان بناء الكود كالاتى 'Syntax: opt = MesgBox(msgTxt,intSeconds,Buttons+Icon+DefaultButton,"Title") aa V2.accdb
  19. اولا بارك الله فى عمرك وعلمك وعملك وجزاكم كل خير ثانيا انا اقل طويلب علم ولست مبرمجا على الاطلاق مجرد هاو ثالثا كنت ابلور فكرة من الامس شبيه بفكرة حضرتك استخدمت الروتين الاتى فى وحدة نمطية Function OpenReport(ByRef rptName As String, ByRef qryName As String) On Error GoTo ErrorHandler DoCmd.OpenReport rptName, acViewPreview, , , , qryName procDone: Exit Function ErrorHandler: MsgBox$ Err.Number & ": " & Err.Description Resume procDone End Function على ان يتم استدعاءه بالسطر الاتى OpenReport("rpt2", "Query2") نفس فكرة حضرتك طبعا بسبب الغموض وعدم التوضيح الكافى كنت فى انتظار اضافة المرفق Chang Record Sources Report VBA(V3).mdb
  20. تسلم الايادى يا @مبرمج سابق يا عالم يا معقدين شايفين البساطة ما شاء الله
  21. جزاكم الله خيرا استاذى الجليل ومعلمى القدير الاستاذ @Barna واسمح لى ممكن نختصر الكود ليكون Dim qdf As DAO.QueryDef Dim strSQL As String CurrentDb.QueryDefs.Delete "qr1" If com1 = "التقرير الاول" Then strSQL = "SELECT tblA.* FROM tblA;" ElseIf com1 = "التقرير الثاني" Then strSQL = "SELECT tblB.* FROM tblB;" End If Set qdf = CurrentDb.CreateQueryDef("qr1", strSQL) DoCmd.OpenReport "rptFlayReport", acViewPreview ولارد بضاعتكم اليكم بطريقة مختلفة بعض الشئ تجنبا لاستخدام الحروف العربية , واضفاء مرونة أكبر فى حال اردنا تمرير اسم التقرير من خلال الكود الافكار كثيرة وتتصارع وتتلاحق فى رأسي بسبب عدم فهمى الهدف والمطلوب تحقيقة بصورة مباشرة من السؤال بسبب غموض الهدف ولكن على حال تبقى الحاجة هى ام الاختراع وفهم السؤال هو شطر الجواب Chang Record Sources Report Barna V2.mdb
  22. انا اريد مرفقا انا لم افهم اى شئ
×
×
  • اضف...

Important Information