بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
كل الانشطه
- الساعة الأخيرة
-
عبدللرحيم started following المساعدة فى دالة VLOOKUP
-
الاسم المطلوب / محمد متولى سليمان سالم أسم الحائز / محمد متولى سالم سليمان
-
اسف نسيت المرفق للرفع.xlsx
-
السلام عليكم فى الملف المرفق احتاج الى معادلة VLOOKUP ولكنها لا تعمل ارجوا المساعدة وتوضيح سبب عدم عمل المعادلة
- Today
-
Mohamed Wahba started following مومن الشيمى
-
محتاج اعرف الخطأ فين - شريط القوائم المختصرة
Foksh replied to مومن الشيمى's topic in قسم الأكسيس Access
بدايةً الخطأ ان اسم مربع النص ID وليس الكود !! ثانياً لازم تمرر مسار واسم النموذج الفرعي اللي موجود فيه الشرط ID . وفي الدالة :- Public Function f11(الكود As Integer) DoCmd.OpenForm "Customer Details", , , "[الكود] = " & الكود End Function لا يتم تمرير الشرط أو المعيار للفلترة . لذا توجهت الى فكرة غريبة نوعاً ما بحيث من خلال الكود يتم البحث عن أول نموذج فرعي يحتوي مربع النص ID كشرط ومعيار للفلترة وتمريره الى جملة فتح النموذج على السجل المحدد . لتصبح الدالة مع مساعد بسيط :- '---------- ( ID تم التعديل هنا بحيث يتم البحث عن أول نموذج فرعي يحتوي مربع النص ) ---------- Public Function f11() On Error GoTo ErrHandler Dim frmMain As Form Dim ctrl As Control Dim frmSub As Form Dim val As Variant Set frmMain = Screen.ActiveForm For Each ctrl In frmMain.Controls If ctrl.ControlType = acSubform Then Set frmSub = ctrl.Form If HasControl(frmSub, "ID") Then val = frmSub.Controls("ID").Value DoCmd.OpenForm "Customer Details", , , "[الكود] = " & val Exit Function End If End If Next ctrl MsgBox ". 'ID' لم يتم العثور على نموذج فرعي يحتوي على الشرط", vbExclamation + vbMsgBoxRight, "" Exit Function ErrHandler: MsgBox "حدث خطأ: " & Err.Description, vbCritical + vbMsgBoxRight, "" End Function Private Function HasControl(frm As Form, ctrlName As String) As Boolean On Error Resume Next HasControl = Not frm.Controls(ctrlName) Is Nothing End Function '---------- ( نهاية التعديل ) ---------- ملفك بعد التعديل :- date-2025 - Copy (4).zip -
مومن الشيمى started following محتاج اعرف الخطأ فين - شريط القوائم المختصرة
-
محتاج اعرف الخطأ فين - شريط القوائم المختصرة
مومن الشيمى replied to مومن الشيمى's topic in قسم الأكسيس Access
date-2025 - Copy (4).rar كل اللي محتاجه انا اختار من open هيفتح القائمة المختصرة اختار منها تعديل يفتحلي الفورم اللي فيه داتا العميل المختار للتعديل عليها -
مصطلحين جديدين MCP server And workflow automaton platform
محب العقيدة replied to محب العقيدة's topic in قسم الأكسيس Access
فيديو تعريفي رابط يوتيوب -
معرفة ترتيب كل طالب في نموذج منفرد عن طريق القيام بعملية الفلترة
Foksh replied to moho58's topic in قسم الأكسيس Access
الحمد لله أخي الكريم .. -
معرفة ترتيب كل طالب في نموذج منفرد عن طريق القيام بعملية الفلترة
moho58 replied to moho58's topic in قسم الأكسيس Access
بعد التجربة أخي @Foksh حمد لله شغال بامتياز وبدون مشاكل ألف شكر وامتنان وتقدير وجزاك الله كل الخير - أمين -
هذا هو الحل النموذجي .. خاصة مع فكرة ادراج ايام السنة وعند دخول السنة الجديدة سيتم آليا تحديث الجدول .. بشرط اخذ نسخة قبل التحديث .. فكرتي : اننا لسنا بحاجة لعرض هذه تواريخ الاجازات وغيرها مع سجلات الحضور .. فقط نريد العدد والعدد سيكون مرن فيما لو تم قطع الاجازة او الاضافة عليها .. سيكون هذا العدد خاصا فيما يتم حصره بين تاريخين اما الاطلاع على سجل الاجازات والندب فمن مكان آخر سأعرض فكرتي في مخرجات التقرير : معرف/ الفترة من الى / عدد ايام العمل المقررة على الموظف / مجموع ساعات العمل المقررة / عدد ايام الحضور / عدد ايام الغياب / عدد ايام الاجازات والندب/ عدد حالات معالجة ترك توقيع الانصراف/ عدد ساعات التأخر / عدد ساعات العمل الفعلية هذا التقرير افقي جدولي مبني على استعلام كخلاصة نتيجة شهر مثلا ( الشهر عند المستفيد من هذا المشروع يبدا من منتصف الشهر الى منتصف الشهر التالي) من اراد التفاصيل كالاطلاع على الاجازات المعتمدة او ايام الندب .. او ايام الغياب او حلاات المعالجة او سجلات التأخر .. فيمكن عرض ذلك بالتفصيل بعيدا عن الخلاصة كل هذا بدون استخدام اي جدول مؤقت مطلقا ..
-
يعطيك عافية فعلا محاذاة الأبيات الشعرية مسألة مهمة
-
العلم والعقل "شعر"
عماد مروان حسن replied to ابوصلاح's topic in المنتدى التقني العام و تطبيقات الأوفيس الأخرى
جميل جدا. poem -
انت تقصد لاقيت نفسك فاضى قلت فى عقل بالك تعمل ايه تعمل ايه يا واد فؤش اه الواد او جودى هنا وعمال يخبط دماغه فى الحيط .. اسيبــه ؟! .... لا ... اروح اعمل له Error فى دماغه بزياده قبل ما يروح على شغله وبعدين ادخل انام عاش عليك يا فؤش خلاااااااااااااااااااص مباقاش فاضل تكـــــــــه بح خلاص على ايدك يا فؤش أفندى خلصت التكـه
-
يا فؤش افندى لا يعيب الكود كثرة الاسطر أو طوله انت استخدمت : سلسلة مباشرة انا استخدمت : مصفوفة ثم Join واستخدمت شرط للتحقق من البداية والنهاية واعتقد ان (مصفوفة ثم Join) : أسرع وأكثر كفاءة عند كثرة التواريخ (المصفوفة أفضل من تجميع نصي مباشر) غير كده مفيش أى فروقات تانى عير الفاصلة فــ إيه بئه أنا مش فاهم
-
مهو برضو ممكن يكون الحل كالآتي :- Public Function FokshDates(startD As Date, endD As Date) As String Dim d As Date, s As String For d = startD To endD s = s & Format(d, "yyyy-mm-dd") & "," Next If Len(s) > 0 Then s = Left(s, Len(s) - 1) FokshDates = s End Function والإستعلام الصغير ده :- SELECT tbl1.id, tbl1.user_id, tbl1.startA, tbl1.endA, FokshDates([startA],[endA]) AS التواريخ FROM tbl1; والنتيجة :- Query2 id المعرف بداية نهاية التواريخ 1 11 2025-07-02 2025-07-05 2025-07-02,2025-07-03,2025-07-04,2025-07-05 2 22 2025-07-04 2025-07-04 2025-07-04 مجرد تفكير بصوتك ، لأنه بجد فاضل تكة هي بسيطة ، وانت عارفني ما بحبش أفوت في تفاصيل قد تكون بعيدة ,,
-
من أجل ذلك كتبت الكود بالشكل ده يا استاذ فؤش Public Function GetDatesBetween(ByVal dtmStartDate As Date, ByVal dtmEndDate As Date) As String If dtmStartDate > dtmEndDate Then GetDatesBetween = "" Exit Function End If Dim dtmCurrentDate As Date Dim arrDates() As String ReDim arrDates(0 To DateDiff("d", dtmStartDate, dtmEndDate)) Dim lngIndex As Long For dtmCurrentDate = dtmStartDate To dtmEndDate arrDates(lngIndex) = Format(dtmCurrentDate, "yyyy-mm-dd") lngIndex = lngIndex + 1 Next dtmCurrentDate GetDatesBetween = Join(arrDates, " | ") End Function
-
وخطر لي حيلة يمكن تكون غريبة نوعاً ما .. وهي كما في الاستعلام التالي :- SELECT tbl1.id, tbl1.user_id, tbl1.startA, tbl1.endA, IIf(DateDiff("d",[startA],[endA])>=0,Format([startA],"yyyy-mm-dd"),"") & IIf(DateDiff("d",[startA],[endA])>=1,"," & Format([startA]+1,"yyyy-mm-dd"),"") & IIf(DateDiff("d",[startA],[endA])>=2,"," & Format([startA]+2,"yyyy-mm-dd"),"") & IIf(DateDiff("d",[startA],[endA])>=3,"," & Format([startA]+3,"yyyy-mm-dd"),"") & IIf(DateDiff("d",[startA],[endA])>=4,"," & Format([startA]+4,"yyyy-mm-dd"),"") AS التواريخ FROM tbl1; والنتيجة :- Query3 id المعرف بداية نهاية التواريخ 1 11 2025-07-02 2025-07-05 2025-07-02,2025-07-03,2025-07-04,2025-07-05 2 22 2025-07-04 2025-07-04 2025-07-04 طبعاً هنا اذا كان الفرق بين التاريخين كبير فسيكون الاستعلام كبيراً نوعاً ما .. لكني وددت المشاركة 😅
-
طيب استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل يبدو ان الفكرة هذه تخص تسجيل اجازة او مأمورية او تدريب او شئ من هذا القبيل بين فترين أولا انا حاولت وضع كل الاجابات وكل ما خطر بالى فيما يخص السؤال والموضوع بقدر الامكان حسب فهمى المتواضع ولكن ولكن لكن وبناء على تجارب عملية الافضل هو تسجيل التواريخ جميعا من خلال لوب بداية من اول تاريخ الى اخر تاريخ فى الجدول المخصص من البداية على هيئة سجلات الميزة والافضلية اولا لاى سبب عارض اى تغيير فى المستقبل بين الفترات يسهل حذفه وناهيك عن سهولة تطبيق باقى العمليات والاجراءات التى تخطر على بالك فى الوقت الراهن او لم تخطر حتى الان وقدم تسبب مشاكل فى المستقبل والتى فى النهاية جعلتك تحاول تفكيك التواريخ الى سجلات لنعطى مثال صغير وهذا طبقته بشكل عملى فى مؤسستى لنفترض ان موظف ما قدم طلب اجازة اعتيادية مثلا من يوم 1/7/2025 وحتى 10/7/2025 تتم عملية التسجيل لكل تاريخ سجل منفرد بكود الموظف والتاريخ ونوع اليومية مع استبعاد ايام العطلات من اللوب سواء كانت رسمية او غير رسمية الميزة هنا : عدد السجلات لهذا الموظف وحسب نوع اليومية هو اجمالى ما حصل الموظف عليه او سوف يحصل عليه لهذا النوع ان كانت فى تواريخ مستقبلية طيب لنفترض ان عدد السجلات كان 7 اذا هو يمثل 7 ايام ب 7 تواريخ من تاريخ البدء وحتى تاريخ الانتهاء طيب لفترض ان الموظف اخذ فقط يومين وقطع الاجازة وعاد الى العمل ولم يخبر المختص لاعادة التعديل لأى سبب حتى يتم اعادة ضبط الرصيد وفق الواقع انا صممت استعلام يبدأ مع فتح نموذج التسجيل يطابق هذا الجدول مع جدول الحضور الخاص بالبصمة و وفق التواريخ التى لها بصمة حضور وتساوت مع تواريح فى جدول اليوميات مثلا على انها اجازة يتم حذفها تلقائيا من جدول الاجازات بذلك يتم تصحيح الرصيد بشكل الى وبدون تدخل بشرى اعتقد فرد التواريخ من البداية ليكون كل تاريخ فى سجل له الافضلية ويضفى المرونة القصوى اثناء معالجة البيانات ويلبى العديد من الرغبات بشتى الافكار حسب المتطلبات الحالية أو التى تطرأ فى المستقبل
-
Foksh started following معرفة ترتيب كل طالب في نموذج منفرد عن طريق القيام بعملية الفلترة
-
معرفة ترتيب كل طالب في نموذج منفرد عن طريق القيام بعملية الفلترة
Foksh replied to moho58's topic in قسم الأكسيس Access
رغم أنني لن ألحظ الخطأ ولم أواجهه في أي من أجهزتي ( كما رأيت سابقاً ) ، إلا أنني سأحاول بعد تجربتي بهذا التعديل :- Private Sub Form_Current() On Error GoTo ErrorHandler If Not IsNull(Me.ID) And Not IsNull(Me.mouadel_3am) Then Dim strSQL As String Dim rs As DAO.Recordset strSQL = "SELECT COUNT(*) FROM (" & _ "SELECT m.mouadel_3am " & _ "FROM info_stagiere i " & _ "INNER JOIN modul m ON i.ID = m.id " & _ "WHERE i.annee='" & Replace([Forms]![frm_examen_fin_formation]![annet], "'", "''") & "' " & _ "AND i.grade='" & Replace([Forms]![frm_examen_fin_formation]![grade1], "'", "''") & "' " & _ "AND i.wilaya='" & Replace([Forms]![frm_examen_fin_formation]![wilaya1], "'", "''") & "'" & _ ") AS T WHERE mouadel_3am >= " & Replace(Me.mouadel_3am, ",", ".") Set rs = CurrentDb.OpenRecordset(strSQL) If Not rs.EOF Then Me.نص73 = rs.Fields(0).Value Else Me.نص73 = Null End If rs.Close Set rs = Nothing Else Me.نص73 = Null End If Exit Sub ErrorHandler: MsgBox "حدث خطأ في حساب الترتيب", vbExclamation + vbMsgBoxRight, "خطأ" Me.نص73 = Null If Not rs Is Nothing Then rs.Close Set rs = Nothing End If End Sub الهدف هو إلمام الحدث بالتأكد من أن mouadel_3am ليس NULL . وحاولت استخدام Replace لتحويل الفاصلة إلى نقطة في الأعداد والقيم الرقمية الكسرية . وإذا استمرت المشكلة لديك ، تحقق من إعدادات الإقليمية (Regional Settings) في الويندوز التي قد تؤثر على تنسيق الأرقام 🤔