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

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. الساعة الأخيرة
  2. اشكرك اخوي Moosak وجزاك الله خير ممكن اخوي تظهر رسالة عندى فتح t1 فيه اقامات وجوازات ونهاية منتهية ويفتح ملف ta1 ويظهر فيه المنتهية فقط الغير منتهي لا يظهر شكرا على المساعدة
  3. سهل نعم .. وهذا ما يسمى بالسهل الممتنع تكاثرت الظباء على خراش ... فما يدري خراش ما يصيد خراش اليوم ليس في حيرة من أمره سيصيد ما خف وزنه وزاد ثمنه الحمد لله أولا وآخرا .. إثراء المواضيع بحلول وأفكار متنوعة يصب في صالح الباحث طالب العلم الشكر لكم جميعا جزاكم الله خيرا ورفع قدركم واصلح لكم الأهل والذرية ورزقكم من حيث لا تحتسبون .
  4. جميل جداً ، ومشاركة ذكية أيضاً .. مع العلم وإنه وإن كان قد لا يستوجب أخذ هذه النقطة بالحسبان ، وهي عدم دعم الفترات التي تمتد بعد منتصف الليل (من 10 مساءً إلى 2 صباحاً مثلاً) على سبيل المثال طبعاً وليس للحصر ..... وطبعاً الإفتراض دوماً أن first_time < last_time لا يخدم النقطة السابقة ( وكما أشرت قد تكون غير ضرورية من الأساس 😅 ) طبعاً لا ينقص تعليقي من فكرة الأستاذ موسى شيئاً .
  5. الدالة هي التي تستخدم ايام الاسبوع ولاتظهر في الاستعلام مطلقا
  6. بأبسط الامكانيات عملت لك حقلين في الأستعلام من نوع (True / False ) الأول يتحقق من دخول الفترة الزمنية نطاق التنفيذ .. والثاني يتحقق من أن الأيام دخلت نطاق التنفيذ .. وبالتالي صار سهل جدا فلترة السجلات بناءا عليهما : وهكذا تضع الشروط بكل سهولة 🙂 : Database1 (1).accdb
  7. الدالة جميلة وسوف اعتمدها .. لاحظت تكرار المعايير Or في الاستعلام خاصة معيار دالة الأيام .. ومع اني حذفت التكرار فالدالة تعمل جيدا .. شكرا جزيلا بالنسبة لمعيار الوقت سأبقى على عمل الاخ موسى أرى أنه اقوى في تحديد البداية والنهاية اهلا اخي محمد انت صنعت الدالة على ايام الاسبوع .. والاستعلام لا نحتاج فيه الى الأيام حتى ارقام الأيام التي نتعامل معها تبقى في الدالة فقط وقد جربت ولم تظهر السجلات حسب المطلوب .. رغم اني تحققت من البيانات في الجدول اشكرك على التفاعل والمشاركة .............................................. احبتي ازعم اني حصلت على المطلوب فجزاكم الله خيرا
  8. Today
  9. لا عاش من يتعبك اعتذر منك على هذا القصور Database3.zip
  10. وعليكم السلام ورحمة الله وبركاته .. بدايةً وبحكم أنني لا أعمل في الوقت الحالي منذ حوالي 15 سنة على HTML 😅 ، ومن خلال الصور الواضح أن العمل ما شاء الله جميل ونتائجه أجمل .. جزاك الله كل الخير على طرحك الجميل ومشاركتنا أفكارك الجميلة
  11. تفضل جرب استاذي الفاضل كل الاحتمالات ...................... واعملنا بالنتيجة Database1 (36).accdb
  12. تطيب المجالس بمشاركتك عقول الرجال اين المرفق ؟ ام تريد طلابك يتعبوا كما تعبت
  13. تمام ,, ولكن فيما يخص الدمج أمره على ما أعتقد سيكون دون الاعتماد على مصفوفات على سبيل المثال ، لأنه وللأسف لا يمكن استخدام المصفوفات مباشرة في المعيار داخل الاستعلام . لذا ، هذا اقتراح بسيط :- Public Function IsValidWorkType(workTypeValue As Integer) As Boolean Dim dayNum As Integer: dayNum = Weekday(Date) Select Case dayNum Case 1 To 4 IsValidWorkType = (workTypeValue = 1) Case 5 IsValidWorkType = (workTypeValue = 1 Or workTypeValue = 2) Case 6, 7 IsValidWorkType = (workTypeValue = 2) Case Else IsValidWorkType = False End Select End Function وسيكون الاستعلام بعد مقترحي السابق :- SELECT tblCtrlDetails.usrID, tblCtrlDetails.workType, tblCtrlDetails.fatraType, tblFatrat.first_time, tblFatrat.last_time, TimeValue(Now()) AS [Current_Time] FROM tblFatrat INNER JOIN tblCtrlDetails ON tblFatrat.fatraID = tblCtrlDetails.fatraType WHERE (((tblFatrat.first_time)<=tblFatrat.last_time) And ((TimeValue(Now())) Between tblFatrat.first_time And tblFatrat.last_time) And ((IsValidWorkType([workType]))<>False)) Or (((tblFatrat.first_time)>tblFatrat.last_time) And ((TimeValue(Now()))>=tblFatrat.first_time Or (TimeValue(Now()))<=tblFatrat.last_time) And ((IsValidWorkType([workType]))<>False)); العفو معلمي الفاضل ، هذا يعود لحاجتك من الناتج العائد إن كان يخدم مطلبك أم لا ... وأتمنى أن لا أكون قد ابتعدت عن مسار المطلوب 😅😅 فلي عادة أن أنحرف بالتفكير يميناً ويسارا
  14. صح .. ولكن الوقت يحمل معياره الخاص لم اغير في معيار الأخ موسى
  15. جميل جداً جداً .. بسيط وسهل القراءة . ولكن ممكن تعليق صغير أستاذي ومعلمي الفاضل ؟؟ الدالة funDayInweek5 ، سوف ترجع القيمة 2 فقط إذا كان اليوم هو الخميس (5) بدون أي تحقق من الوقت !! وهذا يعني انه في الاستعلام ، الشرط OR (((tblCtrlDetails.workType)=funDayInweek5())) سيعيد جميع السجلات التي يكون فيها workType = 2 = يوم الخميس ، بغض النظر عن الوقت . أليس هذا صحيحاً ؟؟
  16. ان امكن دمج الدالتين بدالة واحدة .. جيد بحيث تصبح الدالة يوم الخميس = 1 أو 2
  17. وجدت حلا عملت دالة بل اثنتين .. لأن يوم الخميس مشترك هذه لوسط الاسبوع جميع الأيام ..... ولآخر الاسبوع فقط الجمعة والسبت Public Function funDayInweek() Dim i As Integer If Weekday(Date) >= 1 And Weekday(Date) <= 5 Then i = 1 funDayInweek = i ElseIf Weekday(Date) >= 6 And Weekday(Date) <= 7 Then i = 2 End If funDayInweek = i End Function ثم عملت الثانية وخصصتها لنهاية الاسبوع يوم الخميس فقط Public Function funDayInweek5() If Weekday(Date) = 5 Then funDayInweek5 = 2 Else funDayInweek5 = Null End If End Function يوجد في المثال نسخة طبق الأصل من الدالتين .. استبدلت فيها دالة استخراج اليوم بمتغير .. من اجل الفحص والتأكد من النتيجة Database3.rar
  18. @عمر ضاحى الله يسلمك ويوفقك شاكر تعليقك الطيب، بارك الله فيك @ابوخليل الأخ الفاضل والأستاذ الكريم بارك الله فيك والشكر لك علي تعليقك الكريم بالتوفيق
  19. وعليكم السلام ورحمة الله تعالى وبركاته هناك عدة حلول تعتمد على طريقة عملك منها استخدام USERPROFILE لجعل مسار الملف ديناميكيا _ وضع المصنف في نفس مجلد ملف الماكرو أو السماح للمستخدم باختيار الملف يدويا (Browse) كما أشار الأخ الفاضل @hegazee اليك الأكواد بالترتيب المدكور يمكنك إختيار ما يناسبك Sub OpenWorkbook1() Dim xPath As String, CrWS As Workbook On Error GoTo ErrHandler xPath = Environ("USERPROFILE") & "\Desktop\aa.xlsb" If Dir(xPath) = "" Then MsgBox "الملف غير موجود: " & xPath, vbExclamation: Exit Sub Set CrWS = Workbooks.Open(xPath) MsgBox "تم فتح الملف بنجاح", vbInformation Exit Sub ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical End Sub '=================================================== Sub OpenWorkbook2() Dim xPath As String, CrWS As Workbook On Error GoTo ErrHandler xPath = ThisWorkbook.Path & "\aa.xlsb" If Dir(xPath) = "" Then MsgBox " :الملف غير موجود" & vbNewLine & vbNewLine & xPath, vbExclamation: Exit Sub Set CrWS = Workbooks.Open(xPath) MsgBox "تم فتح الملف بنجاح", vbInformation Exit Sub ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical End Sub '================================================== Sub OpenWorkbook3() Dim xPath As String, CrWS As Workbook On Error GoTo ErrHandler xPath = Application.GetOpenFilename("إختيار الملف (*.xls*), *.xls*") If xPath = "False" Then MsgBox "تم إلغاء العملية", vbInformation: Exit Sub Set CrWS = Workbooks.Open(xPath) MsgBox "تم فتح الملف بنجاح: " & xPath, vbInformation Exit Sub ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical End Sub وفي حالة الرغبة في التحقق من أن إسم الملف الذي يختاره المستخدم يطابق إسم معين مثلا aa.xlsb قبل فتح الملف Sub OpenWorkbook4() Dim xPath$, CrWS As Workbook,Sname$ On Error GoTo ErrHandler Sname = "aa.xlsb" xPath = Application.GetOpenFilename("إختيار الملف (*.xls*), *.xls*") If xPath = "False" Then: MsgBox "تم إلغاء العملية", vbInformation: Exit Sub fileName = Dir(xPath) If StrComp(fileName, Sname, vbTextCompare) <> 0 Then MsgBox "اسم الملف غير مطابق" & vbNewLine & Sname, vbCritical Exit Sub End If Set CrWS = Workbooks.Open(xPath) MsgBox " :تم فتح الملف بنجاح" & vbNewLine & vbNewLine & CrWS.name, vbInformation Exit Sub ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical End Sub bb.xlsb
  20. هذا الكود موجود في زر أمر "تحويل حالة هذه الكتب الى فاقد" بالنموذج DoCmd.RunSQL "UPDATE [جدول تسجيل الكتب] SET [جدول تسجيل الكتب].CaseBook = ""فاقد"" " & vbCrLf & _ "WHERE ((([جدول تسجيل الكتب].CaseBook)=""موجود"") AND (Not ([جدول تسجيل الكتب].title) Is Null) AND (([جدول تسجيل الكتب].searinumber) Between [forms]![F_GardBooks]![text] And [forms]![F_GardBooks]![text2])) OR ((([جدول تسجيل الكتب].CaseBook)=""موجود"") AND (([جدول تسجيل الكتب].title) Is Null) AND (([جدول تسجيل الكتب].searinumber) Between [forms]![F_GardBooks]![text] And [forms]![F_GardBooks]![text2]));" وهو يعني تحويل حالة الكتب بجدول تسجيل الكتب من موجود إلى فاقد في الكتب التي تقع بين الرقم الموجود "نص1" إلى الرقم الموجود في "نص2" في النموذج الذي بعنوان F_GardBooks المطلوب من حضرتك 1. اضافة اليه المعيار في أحدث جرد MAX([G N]) 2. تحويله إلى استعلام (في صورة تصميم) (عمل استعلام عليه) أرجو أن تكون الفكرة وصلت وجزاكم الله خيرا
  21. اهلا اخي @Foksh وااااااو الأمر معقد بالنسبة لي باستخدام استعلامات وسيطة ومعايير كثيرة اتمنى يكون الحل أسهل مباشر ومحكم .. على احتمال تغير الفترات بالزيادة او النقص الوقت او الفترة وتم التعامل معها بشكل مباشر بسيط في مثال الأخ موسى بقي الأيام اتوقع ان عمل دالة تستكشف اليوم الحالي مع ربط اليوزر بهذا اليوم حسب صلاحيته هو الأفضل
  22. وعليكم السلام ورحمة الله وبركاته .. اتمنى أن لا يكون هناك أمور لم تأت على ذكرها 😅😅 جرب في حدث عند التحميل لأي نموذج يحتوي الزر المطلوب ، الكود التالي Private Sub Form_Load() If Time() > #3:00:00 PM# Then Me.Alborg.Visible = False Else Me.Alborg.Visible = True End If End Sub
  23. وعليكم السلام ورحمة الله وبركاته .. حسب فهمي البسيط للفكرة ، اسمحولي أن أشارك بهذه الفكرة البسيطة ، حيث في الاستعلام Query2 الفكرة الأولى والتي اعتقد انها لا تعتمد على ان يوم الخميس مشترك ، وفي الاستعلام النهائي Query3 اعتقد انه هو المطلوب ( ما لم أكن قد فهمت الفكرة بشكل متسرع كالعادة 🤣 ) SELECT c.usrID, d.work_name AS [نوع العمل], f.fatra_name AS الفترة, f.first_time AS [وقت البداية], f.last_time AS [وقت النهاية], TimeValue(Now()) AS [الوقت الحالي], Format(Date(),"dddd",1) AS [اليوم الحالي] FROM (tblFatrat AS f INNER JOIN tblCtrlDetails AS c ON f.fatraid = c.fatraType) INNER JOIN tblDaysWork AS d ON c.workType = d.workID WHERE (((f.first_time)<=TimeValue(Now())) AND ((f.last_time)>=TimeValue(Now())) AND ((c.workType)=1) AND ((Weekday(Date())) Between 1 And 5)) OR (((f.last_time)<[f].[first_time]) AND ((TimeValue(Now()))>=[f].[first_time] Or (TimeValue(Now()))<=[f].[last_time]) AND ((c.workType)=1) AND ((Weekday(Date())) Between 1 And 5)) OR (((f.first_time)<=TimeValue(Now())) AND ((f.last_time)>=TimeValue(Now())) AND ((c.workType)=2) AND ((Weekday(Date())) In (5,6,7))) OR (((f.last_time)<[f].[first_time]) AND ((TimeValue(Now()))>=[f].[first_time] Or (TimeValue(Now()))<=[f].[last_time]) AND ((c.workType)=2) AND ((Weekday(Date())) In (5,6,7))); Database2.accdb
  24. شكرا جزيلا أخي الفاضل
  1. أظهر المزيد
×
×
  • اضف...

Important Information