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

Foksh

الخبراء
  • Posts

    2,361
  • تاريخ الانضمام

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

  • Days Won

    85

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

  1. اخي الكريم @اشرف السيد يوسف ، قم بما يلي :- انشئ استعلام وقم باختيار الجدول Table1 ، ثم قم بإضافة جميع الحقول ( الاسم ، العمل1 ، العمل 2 ..... إلخ ) . ثم اعمل تجميع واجعل جميع الحقول MAX باستثناء حقل الاسم اتركه Group By. وهذا مثالك أيضاً مرفق.accdb 🤗
  2. اخي الكريم @طير البحر ، أرجو ان تقبل هذه التعديلات التي أجريتها والتي لم تمس الوظائف في مشروعك ، وإنما اعتبرها لمساتي بطريقتي المتواضعة 🤗 اولا تم توظيف كود Restart بحيث يتم تنفيذه اذا تم التعديل على الوظائف التي أشرت إليها بصورة 💡 - باستخدام ميزة الـ Tag - والتي تتطلب إعادة التشغيل للبرنامج وذلك بإضافة وظيفتين في نموذج dboptions واحدة عند الفتح والأخرى يتم استدعائها عند تنفيذ الزر تطبيق . فإذا لم يتم تغيير اي من هذه الوظائف التي تتطلب إعادة التشغيل فسيتم تطبيق كودك بشكل عادي كالسابق ، أما اذا تم تغيير اي قيمة فسيطلب منك اعادة التشغيل للبرنامج. بالاضافة الى اجراء إضافة بسيطة في مديول myoptions وذلك بتغيير قيمة gogo في الجدول وإعادتها إلى True في حال تم تغييرها الى False قبل تنفيذ إعادة التشغيل للبرنامج وذلك حتى لا يتم التأثير على عموم الكود الخاص بك . الق نظره واخبرني بالنتيجة 🤗 New_Options.accdb
  3. ولا يهمك أخي @طير البحر ، إن شاء الله تعالى 🤗
  4. ولا يهمك أخي الكريم 🤗 على العموم لتوضيح الفكرة لديك . في الجدول وداخل الحقل المحسوب لا يمكنك التعديل او الإضافة فيه نهائياً.
  5. ولا يهمك أخي الكريم ، إن شاء الله سأتابع معك والأساتذة ، ولكن دوامي انتهى اليوم بنهاية الأسبوع ، إن استطعت غداً سأرسل لك طلبك
  6. أخي الدكتور @الحلبي ، في مربع النص Text131 اجعل مصدره هذه الجملة :- =IIf([unitmain]="جملة",[qtyin]+[qtyout]+[reout]+[rein],([qtyin]+[qtyout]+[reout]+[rein])/[no]) أو هذه الكود لإختلاف النتيجة التي تريدها في فكرة الحساب التراكمي :- =IIf([unitmain]="جملة",[qtyin]-[qtyout]+[reout]-[rein],([qtyin]-[qtyout]+[reout]-[rein])/[no]) وأخبرني بالنتيجة إن كانت صحيحة
  7. أخي الكريم هذا يعتمد على طريقة بنائك للجداول وآليه جلب السعر في نموذج الفاتورة وأمور كثيرة ، ولكن كما قلت لك بتصوري ان الفواتير السابقة سيتم تخزينها في الجداول وما يمكن تغييره هو الحقول المرتبطة كمثال :- اسم العميل ، اسم المورد ، اسم الصنف .... الخ . قمت بتصميم عدة برامج للمحاسبة ولم أواجه هذه المشكلة في البرامج
  8. طريقتك في بناء التقرير والاستعلامات اعتقد تحتاج الى اعادة هيكلة للحصول على النتيجة المطلوبة .
  9. استكمالاً لما سبق في النموذج Home 👆 :- نستكمل العمل لضبط الوقت المتبقي لكل صلاة خلال اليوم ، بحيث عندما يحين موعد صلاة الظهر مثلاً يتغير الوقت لإحتساب الوقت المتبقي لصلاة العصر ( وقت تنازلي ) . وهذا العمل من شأن حدث On Timer وعليه فإننا سنخبره انه مقارنة مع الوقت الحالي كم تبقى لحين موعد صلاة الفجر ( على سبيل المثال ) ؟ فسيقوم الكود التالي بحساب جملة الأوقات لكل صلاة وإدراجها في مربع النص الذي سنتحدث عنه وغيره فيما يلي :- ✨ مربع النص Txt_Pry_Name = عرض اسم الوقت الحالي للصلاة ( فجر , ظهر , عصر , مغرب , عشاء ) . ✨ مربع النص Txt_Time_Count = هنا سيتم عرض الوقت المتبقي لكل صلاة بالتنسيق ( 00:00 بعداد تنازلي ) . وحين يتبقى دقيقة واحدة على موعد الأذان سيصبح العداد الزمني بهذا التنسيق ( 00:00:59 ) ويبدأ بالنزول كل ثانية إلى حين موعد الأذان التالي فسيعود إلى التنسيق السابق ( 00:00 ) . طبعاً حالياً سيتم عرض رسالة عادية فقط عند دخول وقت الصلاة مفادها : ( "حان الآن موعد أذان الفجر" ) . وهذا الكود الذي سيقوم بالمهام التي ذكرتها لكم Private Sub Form_Timer() Dim tfajr As Date, tzohr As Date, tasr As Date, tmagrib As Date, tisha As Date Dim dt As Integer Dim currentTime As Date, nextPrayerTime As Date, timeLeft As Date Dim hoursLeft As Integer, minutesLeft As Integer, secondsLeft As Integer Dim fajrTime As Date, Country_Name As String If Me.daylight = True Then dt = 1 Else dt = 0 End If tfajr = GetTimes(Me.longitude, Me.latitude, Me.timezone, "fajr", Me.tx, dt, Date) currentTime = Time fajrTime = CDate(Me.fajr) Country_Name = DLookup("[city_name]", "City", "ID=" & [city_name]) If currentTime < fajrTime Then Txt_Pry_Name.Value = "الفجر" nextPrayerTime = fajrTime Else Txt_Pry_Name.Value = "الفجر" nextPrayerTime = DateAdd("d", 1, fajrTime) End If If currentTime < nextPrayerTime Then timeLeft = nextPrayerTime - currentTime Else timeLeft = DateAdd("h", 24, nextPrayerTime) - currentTime End If hoursLeft = Hour(timeLeft) minutesLeft = Minute(timeLeft) secondsLeft = Second(timeLeft) If Me.Txt_Time_Count = "00:00" Then Me.Txt_Time_Count = "00:00:59" Me.Txt_Time_Count = Format(hoursLeft, "00") & ":" & Format(minutesLeft, "00") & ":" & Format(secondsLeft, "00") Else Me.Txt_Time_Count = Format(hoursLeft, "00") & ":" & Format(minutesLeft, "00") End If Me.Caption = Country_Name & " " & "بقي لصلاة " & Txt_Pry_Name & " " & Txt_Time_Count & " تقريباً" & " ، في مدينة " If Time() = tfajr Then MsgBox "حان الآن موعد أذان الفجر", , "" End If End Sub Salawat.accdb يتبع ... 👈
  10. صديقي ، هذه المشاركة عمرها تقريباً 10 سنوات ، افتح موضوع جديد لتتم متابعته
  11. لحد ما فهمت الدنيا عاملة ازاي في الملف قدرت اوصل للمطلوب 😅 في النموذج NewPU > في الزرار U حط الكود ده Private Sub U_Click() DoCmd.OpenForm "newPara", , , "[Pcode]=" & Me.PCode If Me.TN.Caption = "Urine" Then Forms![newpara].Urine.SetFocus Forms![newpara]!Normal.SetFocus ElseIf Me.TN.Caption = "Creat" Then Forms![newpara].Chemistry.SetFocus DoCmd.GoToControl "Creat_Print" ElseIf Me.TN.Caption = "Lipids" Then Forms![newpara]!Cholesterol.SetFocus ElseIf Me.TN.Caption = "Liver" Then Forms![newpara]!ALT(SGPT).SetFocus End If End Sub
  12. أخي @jo_2010 بعد الضغط على زر Creat ، سنختار اسم من النموذج الفرعي اللي على اليمين !! صح ؟ دلوقتي انتي عايز تفتح تبويب urine ولا Chemistry !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! وفي التبويب Urine ليس هناك حقل Creat
  13. جرب هذا التصحيح أخي @jo_2010 :- If Me.TN.Caption = "Urine" Then Forms![newpara].Urine.SetFocus Forms![newpara].Urine![creat].SetFocus End If
  14. مشاركة مع أخي @عبدالقدوس48 ، جرب هذا الكود أخي @al.sheen2000 في مصدر بيانات مربع النص S4 . =DSum("[totl]","T1","[kind] = 1") حسب طلبك طبعاً
  15. جزاك الله خير عمي أبو يزيد على هذا المثال ، لكنه كما لاحظت هو يعتمد على أرقام أبعاد ثابتة ، وهذا للأسف لا يلبي الحاجة المرجوة من فكرتي . انظر الصورة :-
  16. نفس دقة الشاشة في جهازي 🤔 وظهر النموذج كما في مشاركتي السابقة 🙄
  17. اقتراحاً لا توجيهاً اخي الكريم @طير البحر ، ما رأيك بإضافة سطر لحذف الملف الذي ينشأ عن كود إعادة التشغيل ، بحيث تضعه في أول نموذج بيشتغل معاك في حدث عند الفتح Kill CurrentProject.Path & "\Restart.bat" 🥰🤗🥰
  18. ما دقة الشاشة في جهازك أخي الكريم 🤗 للعلم فقط ، والكود لا يقوم بتغيير اي اعدادات في الويندوز.
  19. أشكرك استاذ @Moosak على الإستجابة ، دقة الشاشة هو نفسه في المحاولة السابقة ؟ وهل حاولت تغيير الدقة وفتح النموذج لرؤية ما اذا اختلف الموقع أم لا !!
  20. عمل رائع تبارك الله ما شاء الله تبارك الرحمن أخي @طير البحر بداية لي ملاحظة ، ظهور خطأ كما في الصورة :- ثانياً لدي اقتراح بما أن هناك العديد من الخصائص تحتاج لإعادة تشغيل آكسيس ، هذا الكود :- Sub RestartAccess() Dim batContent As String batContent = "@echo off" & vbCrLf & _ "ping -n 2 127.0.0.1 > nul" & vbCrLf & _ "start """" """ & CurrentProject.FullName & """" & vbCrLf & _ "exit" Dim batFilePath As String batFilePath = CurrentProject.Path & "\Restart.bat" Open batFilePath For Output As #1 Print #1, batContent Close #1 Shell batFilePath, vbHide Application.Quit End Sub أشكرك على الأفكار الشبابية الجميلة
  21. من وجهة نظري :- الفواتير السابقة بيانات تم تخزينها في الجداول ، صح ؟ لذا باعتقادي وتصوري لن يتم التأثير على السعر القديم في الفواتير القديمة لو تم تحديث وتعديل السعر في جدول الأصناف . وسيتم تطبيق السعر على الفواتير الحديثة بعد تعديل السعر .
  22. استكمالاً لما سبق في النموذج Home 👆 :- أيضاً سنقوم بإنشاء مربع نص ( Fjr_Eq ) والذي سيتم احتساب وقت الإقامة لصلاة الفجر فيه ، وسيتم أيضاً إضافة سطر هذه الوظيفة في الدالة العامة Salawat الموجودة في النموذج Home ليصبح الكود مع ما سبق كالآتي :- Dim mydate As Date, dt As Integer mydate = IIf(Me.My_Date = "" Or IsNull(Me.My_Date), Date, Me.My_Date) If Me.daylight = True Then dt = 1 Else dt = 0 Me.fajr = Format(GetTimes(Me.longitude, Me.latitude, Me.timezone, "Fajr", Me.tx, dt, mydate), "hh:mm AM/PM") Me.Fjr_Eq = Format(DateAdd("n", 30, CDate(Me.fajr)), "hh:mm AM/PM") Me.shrok = Format(GetTimes(Me.longitude, Me.latitude, Me.timezone, "Shrok", Me.tx, dt, mydate), "hh:mm AM/PM") طبعاً تم إضافة الوقت ما بين الأذان الأول والأذان الثاني ( تقريباً 10 دقائق ) إلى الوقت لما بعد الأذان حتى إقامة الصلاة ( 20 دقيقة للفجر ) وعليه سيصبح مجموع الوقتين ( 30 دقيقة ) بعد موعد الأذان الأول . ❗ ملاحظة :- أعمل على مراحل في المشروع حسب وقت الفراغ والضغط في العمل ليس إلا 😅 . Salawat.accdb يتبع ... 👈
  23. شكراً لكم صبركم على هذا التعب في تلبية دعوتي ، إليكم المحاولة الأخيرة لتحديد موقع نموذج عند فتحه أرجو تزويدي بالنتيجة إذا تكرمتم ، وخصوصاً الأساتذة @شايب - @ازهر عبد العزيز - @ابودحام - @kkhalifa1960 - @الحلبي - @عبد اللطيف سلوم - @SAROOK - @AlwaZeeR - @محمد القدسي ، لأن نتيجة التجربة كانت غير سليمة إلى حد ما . Test.accdb
  24. استكمالاً لما سبق 👆 :- نستكمل العمل على النماذج متابعة على النموذج الرئيسي ( Home ). سنقوم بإنشاء مربع النص ( Fajr ) الذي سيتم عرض وقت الصلاة فيه ، وسنبدأ بوقت صلاة الفجر وكل ما يتبعه . وهذا السطر سيقوم بمهمة حساب الوقت بناءً على الدالة الرئيسية الموجودة في المديول الرئيسي ( في المشاركة الثانية لي 👆 ) ، وسيتم إضافة السطر التالي في الدالة العامة Salawat الموجودة في النموذج Home . Me.fajr = Format(GetTimes(Me.longitude, Me.latitude, Me.timezone, "Fajr", Me.tx, dt, mydate), "hh:mm AM/PM") طبعاً السطر سيقوم بجلب ( خط الطول والعرض وفرق التوقيت عن جرينتش و التوقيت الصيفي حسب الدولة ) للمدينة التي تم تحديدها في نموذج الإعدادات سابقاً ، ويقوم باحتساب الوقت عن طريق الدالة GetTimes من المديول . والنتيجة ستكون كما سيتم عرضه في المرفق التالي 😊 ❗ ملاحظة :- وقت الفجر الظاهر سيكون هو وقت الأذان الأول . Salawat.accdb يتبع ... 👈
×
×
  • اضف...

Important Information