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

كل الانشطه

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

  1. الساعة الأخيرة
  2. لا عاش من يتعبك اعتذر منك على هذا القصور Database3.zip
  3. وعليكم السلام ورحمة الله وبركاته .. بدايةً وبحكم أنني لا أعمل في الوقت الحالي منذ حوالي 15 سنة على HTML 😅 ، ومن خلال الصور الواضح أن العمل ما شاء الله جميل ونتائجه أجمل .. جزاك الله كل الخير على طرحك الجميل ومشاركتنا أفكارك الجميلة
  4. تفضل جرب استاذي الفاضل كل الاحتمالات ...................... واعملنا بالنتيجة Database1 (36).accdb
  5. تطيب المجالس بمشاركتك عقول الرجال اين المرفق ؟ ام تريد طلابك يتعبوا كما تعبت
  6. تمام ,, ولكن فيما يخص الدمج أمره على ما أعتقد سيكون دون الاعتماد على مصفوفات على سبيل المثال ، لأنه وللأسف لا يمكن استخدام المصفوفات مباشرة في المعيار داخل الاستعلام . لذا ، هذا اقتراح بسيط :- 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)); العفو معلمي الفاضل ، هذا يعود لحاجتك من الناتج العائد إن كان يخدم مطلبك أم لا ... وأتمنى أن لا أكون قد ابتعدت عن مسار المطلوب 😅😅 فلي عادة أن أنحرف بالتفكير يميناً ويسارا
  7. صح .. ولكن الوقت يحمل معياره الخاص لم اغير في معيار الأخ موسى
  8. جميل جداً جداً .. بسيط وسهل القراءة . ولكن ممكن تعليق صغير أستاذي ومعلمي الفاضل ؟؟ الدالة funDayInweek5 ، سوف ترجع القيمة 2 فقط إذا كان اليوم هو الخميس (5) بدون أي تحقق من الوقت !! وهذا يعني انه في الاستعلام ، الشرط OR (((tblCtrlDetails.workType)=funDayInweek5())) سيعيد جميع السجلات التي يكون فيها workType = 2 = يوم الخميس ، بغض النظر عن الوقت . أليس هذا صحيحاً ؟؟
  9. ان امكن دمج الدالتين بدالة واحدة .. جيد بحيث تصبح الدالة يوم الخميس = 1 أو 2
  10. وجدت حلا عملت دالة بل اثنتين .. لأن يوم الخميس مشترك هذه لوسط الاسبوع جميع الأيام ..... ولآخر الاسبوع فقط الجمعة والسبت 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
  11. Today
  12. @عمر ضاحى الله يسلمك ويوفقك شاكر تعليقك الطيب، بارك الله فيك @ابوخليل الأخ الفاضل والأستاذ الكريم بارك الله فيك والشكر لك علي تعليقك الكريم بالتوفيق
  13. وعليكم السلام ورحمة الله تعالى وبركاته هناك عدة حلول تعتمد على طريقة عملك منها استخدام 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
  14. هذا الكود موجود في زر أمر "تحويل حالة هذه الكتب الى فاقد" بالنموذج 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. تحويله إلى استعلام (في صورة تصميم) (عمل استعلام عليه) أرجو أن تكون الفكرة وصلت وجزاكم الله خيرا
  15. اهلا اخي @Foksh وااااااو الأمر معقد بالنسبة لي باستخدام استعلامات وسيطة ومعايير كثيرة اتمنى يكون الحل أسهل مباشر ومحكم .. على احتمال تغير الفترات بالزيادة او النقص الوقت او الفترة وتم التعامل معها بشكل مباشر بسيط في مثال الأخ موسى بقي الأيام اتوقع ان عمل دالة تستكشف اليوم الحالي مع ربط اليوزر بهذا اليوم حسب صلاحيته هو الأفضل
  16. وعليكم السلام ورحمة الله وبركاته .. اتمنى أن لا يكون هناك أمور لم تأت على ذكرها 😅😅 جرب في حدث عند التحميل لأي نموذج يحتوي الزر المطلوب ، الكود التالي Private Sub Form_Load() If Time() > #3:00:00 PM# Then Me.Alborg.Visible = False Else Me.Alborg.Visible = True End If End Sub
  17. وعليكم السلام ورحمة الله وبركاته .. حسب فهمي البسيط للفكرة ، اسمحولي أن أشارك بهذه الفكرة البسيطة ، حيث في الاستعلام 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
  18. شكرا جزيلا أخي الفاضل
  19. الخبراء الافاضل كيف اكتب قاعدة if مع الوقت اريد عمل الاتى عند فتح النموذج وكان الساعة بعد الثالثة عصرا يختفى زر اسمة Alborg كيف اكتب الدالة
  20. لم اوفق في التسمية .. كان الأولى أيام الاسبوع تكون تسميتها : وسط الاسبوع
  21. نعم .. تماما .. كما في الصورة حسب الوقت الحالي الذي هو متحقق بين الوقتين المهم مع تطبيق الفترة الزمنية ايضا مطابقة الأيام حسب الصلاحية من صلاحيته ايام الاسبوع لايظهر في الجمعة والسبت والعكس صحيح .. من صلاحيته نهاية الاسبوع يظهر في الخميس والجمعة والسبت فقط
  22. السلام عليكم 🙂 وهذا النموذج الذي يظهر المنتهية فقط ويميزها باللون الأحمر : ta13.rar
  23. وعليكم السلام ورحمة الله وبركاته عمي @ابوخليل 🙂 هل هذا ما تريد الوصول إليه ؟ قدمت وقت الفترة الأولى لكي يظهر معي السجل .. 🙂 حاس أن الموضوع فيه تعقيد أكثر مما أتصور 😅🖐️ Database1.accdb
  24. بعد التحية للاخوان عندي هذا البرنامج حولت اعمل رسالة تنبية للتواريخ المنتهية جميعها فقط تظهر في بداية فتح البرنامج ولم استطع ممكن المساعدة . ta13.rar
  25. وعليكم السلام ورحمة الله و بركاته نعم، يمكن تعديل الكود ليعمل على فتح الملف من أي كمبيوتر بشرط أن يتم اختيار الملف يدويًا من خلال نافذة اختيار الملفات (File Dialog)، بدلاً من تحديد مسار ثابت مثل C:\Users\.... إليك أخي الكريم الكود المعدل ليعرض نافذة لاختيار الملف يدويًا: Sub ImportDataFromAnotherExcelFile() Dim FilePath As String Dim wb As Workbook ' فتح نافذة اختيار الملف With Application.FileDialog(msoFileDialogFilePicker) .Title = "اختر ملف Excel" .Filters.Clear .Filters.Add "Excel Files", "*.xls; *.xlsx; *.xlsm" If .Show = -1 Then ' تم اختيار الملف FilePath = .SelectedItems(1) Else MsgBox "لم يتم اختيار أي ملف.", vbExclamation Exit Sub End If End With ' فتح الملف Set wb = Workbooks.Open(FilePath) ' يمكنك الآن استخدام wb كمؤشر للملف المفتوح MsgBox "تم فتح الملف بنجاح: " & wb.Name End Sub bb2.xlsb
  1. أظهر المزيد
×
×
  • اضف...

Important Information