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

AbuuAhmed

الخبراء
  • Posts

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

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

  • Days Won

    17

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

  1. تم عمل دالة للحصول على رقم ترتيب السجل ومن ثم الحصول على رقم المجموعة من خلال الإستعلام. اسم الاستعلام Query3 يعاب على الدالة أنها بطيئة لأنها تقوم بفتح الجدول بعدد السجلات ولكنها تغنيكم عن تخزين/حفظ قيمة الترتيب والمجموعة. إذا عجبتكم الفكرة غدا بإذن الله أفكر معكم في الخطوة الثانية. والاستعلام Query4 لعرض أول وآخر رقم لكل مجموعة. تقسيم الى مجموعات.accdb_02.mdb
  2. أيضا جرب هذا الكود: Private Sub Form_Current() Dim Msg As String If IsNull(Me.adadno) Then Exit Sub 'If Me.adadno <> DLookup("[A]", "[Database]", "[crn] ='" & Me.adadno & "'") Then 'إذا كان الحقل نصي If Not IsNull(DLookup("[crn]", "[Database]", "[crn]=" & Me.adadno)) Then Msg = "القيمة " & Me.adadno & " موجودة هل تريد تكرارها؟" Beep If vbYes = MsgBox(Msg, vbQuestion + vbYesNo + vbDefaultButton2, "تننبيه") Then Exit Sub Else Undo 'Exit Sub End If End If End Sub
  3. توجد مشكلة في الكود، عن طريق اختيار "التصحيح" debuging وسيقف المحرر على السطر مباشرة.
  4. ذكرتني بجاري "الظابط" دايما يردد هالكلمة وجاري هذا عنده مسكلة في الفهم، أنا لا أتكلم عنك لا سمح الله فأنت إنسان راقي، أن أتكلم عن جاري.
  5. وأنت أحسن الكتابة والوصف، إثنان غيري لم يفهما عبارتك إلا لما أجبت على سؤال أبي خليل. وأنا الحمد لله أحس الظن بالله ولكن لا أحب المجاملات ولا أقبل التصرفات السيئة وغير المحترمة وغير المسئولة من أي أحد كان.
  6. معلومة خطيرة أشكرك عليها، هذه المعلومة هي بمثابة مفتاح اللغز اللي محيرني وعامل علامات استفهام كبيرة في مخي. تصرفات غريبة وممارسات أغرب تحدث لي في هذا المنتدى وكنت على شبه يقين أن هناك محموعات/لوبيات تعمل في المنتدى وتتواصل بينها وذلك لكثرة تشابه عادات وممارسات الأعضاء كبارهم وصغارهم. شكرا لك أخي وموفق وخذها مني صريحة هذه آخر مشاركة لي في موضوعك 🙂.
  7. هذا الموضوع ذكرني بموضوع شاركت فيه وصاحبه يعاني وسيستمر يعاني إن لم يسمع الكلام ويستفيد من نصائح الخبراء: إذا كان الموضوع له علاقة بالوقت فالأمر يختلف ولكن إذا كان الأمر له علاقة بالتواريخ فلننتبه إلى التالي والفرق بينها: في المدد هناك: - نهاية المدة (آخر يوم في المدة) End Date أو Last Date أو To Date - تاريخ الإنتهاء أو تاريخ الإستئناف أو تاريخ مباشرة العمل بعد انقطاع (أول يوم بعد انتهاء مدة إجازة مثلا) Expiry Date أو Resume Date فشهر يناير يبدأ من 01/01 وينتهي في 31/01 وليس 01/02 ومدته ستكون 31 يوم والأسبوع يبدأ بالأحد وينتهي بالسبت وليس الأحد ومدته ستكون 7 أيام فلنحسن المسمى لنحسن الحساب، لا أريد أن أتكلم عن خبراتي حتى لا تتعرفوا على شخصيتي الأصل 🙂 لو سأحسب الغياب لموظف غاب يوم 5 يناير سأسجله في جدول يحتوي على حقلين مثلا سيكون غيابه من 05/01 إلى 05/01. تحبون تعقدونها على الرجال عقدوها كما تعقد صاحبنا في الموضوع المشار إليه أعلاه 🙂 . ولا أستبعد من تواصل معه عبر الرسائل وقدم له نصيحة خاطئة.
  8. احمع عليها واحد الحسبة الصح هي : تاريخ الاستلام - تاريخ التسليم + 1
  9. طيب جميل والحمد لله أن الصورة اتضحت، فتعليقي لم يكن لانتقاصك ولكن هو حوار برمجي علمي. 'دالة من عمل أبي أحمد وأبي جودي Function vbCEILING2(ByVal Num As Double, Optional ByVal Significance As Double = 1) As Double Dim Frac As Double Num = Num / Significance Frac = Num - Int(Num) vbCEILING2 = Int(Num) * Significance + IIf(Frac = 0, 0, Significance) End Function Test4myRoundFunctions_04.xlsm
  10. أنت قمت بتعديل مشاركتك وباستخدام صلاحياتك الإدارية!! بحيث لا تظهر ملاحظة التعديل 🙂 هذا تعديلك الأول والذي أنا علقت عليه: Function myRound2(ByVal Num As Double, Optional ByVal Factor As Double = 1) As Double Dim Frac As Double Num = Num / 10 Frac = Num - Int(Num) Frac = IIf(Frac = 0, 0, IIf(Frac > 0.5, 10, Factor)) myRound2 = Int(Num) * 10 + Frac End Function وهذا ملف اكسل به المقارنات 🙂 Test4myRoundFunctions_02.xlsm
  11. أكيد جربت، هل تريد مثال، أنا لا أعبث طال عمرك، أكثر الأحيان أستطيع أن أعرف الخلل بدون تجربة ومع ذلك (ولأني أعاني من التشتت) أقوم بالتجربة حتى لا أقع في إحراج، إذا أردت المثال أخبرني.
  12. هذه مشاركة فيها تطبيق لتخميني لا تعتمدها إلا إذا كنت متأكدا منها. عندما تتأكد 100% من اختيارك قم بتبديل اختيارك لأفضل إجابة إما للمرفق WM2000_06 أو WM2000_07 WM2000_07.mdb
  13. كنت قد كتبت 4 دوال سابقا، ولكني نسيتها، ولو تذكرتها لاكتفيت بها 🙂
  14. لن تعطي نتائج صحيحة وخصوصا أنها مصممة للعامل 5 فقط ، كذلك تعديلك لم يكن موفقا لأن هذا السطر يجب أن يكون كالتالي، وهذا لا يعني كذلك أنها تصلح لغير العامل 5 أيضا. Frac = IIf(Frac = 0, 0, IIf(Frac > 0.5, 2, 1)) * Factor
  15. دالة على السريع، جربها ويمكننا تطويرها بعد التجارب: Function myRound(ByVal Num As Double) As Double Dim Frac As Double Num = Num / 10 Frac = Num - Int(Num) Frac = IIf(Frac = 0, 0, IIf(Frac > 0.5, 10, 5)) myRound = Int(Num) * 10 + Frac End Function
  16. أستطيع أن أجزم أن عندك مشكلة فرق يوم وأنت مستحي تتحدث عنها أكثر والدليل وضغك لعمود إضافي لطرح يوم وهذا الحل غير صحيح. أعتقد أن تاريخ نهاية الطلب EndDate عندك هو تاريخ أول يوم خارج مدة الصلاحية والذي من المفترض أن تسميه ExpiryDate، وإذا كان كذلك خبرني وسأعمل تعديل بسيط للحصول على النتائج الصحيحة 100% وليست كما عالجتها أنت بإنقاص يوم من النتيجة النهائية لأنك بهذه المعالجة لن تحصل على نتائج أيام العطل بنوعيها بشكل صحيح.
  17. عملت تجربة بطلبات على شكل شهور السنة والنتائج 100% qryResults CRM sDate eDate SiebelDays Weekends Holidayss WorkDays 1 01/01/2023 31/01/2023 31 8 23 2 01/02/2023 28/02/2023 28 8 1 19 3 01/03/2023 31/03/2023 31 9 22 4 01/04/2023 30/04/2023 30 9 5 16 5 01/05/2023 31/05/2023 31 8 23 6 01/06/2023 30/06/2023 30 9 5 16 7 01/07/2023 31/07/2023 31 9 22 8 01/08/2023 31/08/2023 31 8 23 9 01/09/2023 30/09/2023 30 10 20 10 01/10/2023 31/10/2023 31 8 23 11 01/11/2023 30/11/2023 30 8 22 12 01/12/2023 31/12/2023 31 10 21
  18. الإشكالية في حسابك 1 21/05/2023 2 22/05/2023 3 23/05/2023 4 24/05/2023 5 25/05/2023 6 26/05/2023 نهاية أسبوع 7 27/05/2023 نهاية أسبوع 8 28/05/2023 أيام العمل 8 - 2 = 6
  19. إن شاء الله تكون الأخيرة 🙂 نصيحة: إذا صادف وجود عطلة نهاية الأسبوع (Weekends) وسط عطلة رسمية Holiday، لا تحاول تقسيم العطلة لأن عطلة نهاية الأسبوع هي جزء من العطلة الرسمية، والبرنامج سوف يهتم بهذه الجزئية في الحسابات. WM2000_06.mdb
  20. قبل أن أرى مشاركتك الأخيرة كنت أعمل على تعديل أخير إن شاء الله، والسبب أن الاحتمالات كثيرة والبيانات لا تغطيها كلها. أضفت بعض البيانات من عندي لتغطية كل الاحتمالات واضطررت لعمل عدة تعديلات إضافية. سأضيفها لاحقا.
  21. جرب الآن بعد التعديل في أكثر من استعلام وإضافة دالة لحساب عطل نهاية الأسبوع ومنها يمكنك التعديل على الأيام التي تريدها وليس من الاستعلامات كما السابق. اخبرني عن النتيجة ولا تتأخر علي حتى لا أغيب عنك وأنسى موضوعك. ملاحظة: في جدول العطل الأسبوعية كنت قد أضفت "سابقا" مفتاح وفهرسين لمنع التكرار أرجو أن لا تغفل عنهما.
  22. لا مو عادي، الأمر بسيط، سأصلحه خلال دقائق قليلة.
  23. انتبه أن العطل الأسبوعية حسبت ليومي السبت والأحد تستطيع تبديلها في استعلام أيام العطل الأسبوعية، فأيام الأسبوع تبدأ برقم 1 ليوم الأحد وتنتهي برقم 7 ليوم السبت.
  24. آخر مشاركة لي في هذا الموضوع قمت بالتعديل على تركيبة جدول العطل وبياناته: تم إضافة حقل نهاية العطلة (آخر يوم في العطلة) وتم تعديل بيانات عام 2023 إلى عام 2022 لتناسب جدول Siebel لزوم التجارب. استخدمت الاستعلامات لتسريع النتائج ولن تعرف الفرق إلا مع عدد سجلات كبير. النتائج في الاستعلام qryResults موفق أخي. WM2000_03.mdb
×
×
  • اضف...

Important Information