بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
4988 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
237
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
أخي الكريم ، الفكرة ليست بمعادلة وينتهي الموضوع !!!! بناءً على ملفك المرفق فإنه حتى المعادلة لن تأتي لك بالمطلوب لأسباب كثيرة . نمط التاريخ وشكله وتنسيقه غير واضح في الخلايا داخل الورقات اليومية . الخلية التي سيكون بها تاريخ المقارنة يجب أن يكون في خلية ثابتة في جميع الورقات . خلية عرض الصافي أيضاً يجب أن تكون في خلية ثابتة . فليس من المنطقي أن تكون مرة في Q ومرة في R ومرة في F ... إلخ وعليه تم العمل من خلال ماكرو واستدعاؤه داخل الورقة الرئيسية كالتالي :- Sub GetValuesFromSheets() Dim wsCurrent As Worksheet Dim wsOther As Worksheet Dim i As Long Dim j As Long Dim targetDate As Date Dim found As Boolean Dim lastRow As Long Set wsCurrent = ThisWorkbook.ActiveSheet Application.ScreenUpdating = False Application.Calculation = xlCalculationManual wsCurrent.Range("C3:C33").ClearContents For i = 3 To 33 If wsCurrent.Cells(i, "B").Value <> "" Then If IsDate(wsCurrent.Cells(i, "B").Value) Then targetDate = CDate(wsCurrent.Cells(i, "B").Value) found = False For Each wsOther In ThisWorkbook.Worksheets If wsOther.Name <> wsCurrent.Name Then lastRow = wsOther.Cells(wsOther.Rows.Count, "B").End(xlUp).Row If lastRow > 33 Then lastRow = 33 For j = 3 To lastRow If wsOther.Cells(j, "B").Value <> "" Then If IsDate(wsOther.Cells(j, "B").Value) Then If CDate(wsOther.Cells(j, "B").Value) = targetDate Then wsCurrent.Cells(i, "C").Value = wsOther.Range("R27").Value found = True Exit For End If End If End If Next j End If If found Then Exit For Next wsOther If Not found Then wsCurrent.Cells(i, "C").Value = "غير موجود" End If End If End If Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub Private Sub Worksheet_Activate() Call GetValuesFromSheets End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B3:B33")) Is Nothing Then Call GetValuesFromSheets End If End Sub وهذا مرفقك بعد إجراء بعض التعديلات عليه وضبط المواضع التي تحدثت عنها سابقاً تصفيات العيادات.xlsm ملاحظة .. تم تعديل التاريخ في كل ورقة ليصبح 2026-06-19 2026-06-20 2026-06-21 2026-06-22
-
معك حق 100% .. لتجنب ترك مساحات فارغة كبيرة في التقرير ، ولعدم حدوث مشكلة إذا كانت سجلات المجموعة أكبر من صفحة واحدة 👍 هل هذا ما تقصده معلمي الفاضل أبا خليل !!
-
حياك الله أخي سعد ..
-
تمام ،، تفضل أخي أسعد :- emad.accdb
-
أخي أسعد ، في أول طلبك ، لم تأتِ على ذكر الصف ، بل الفصل .. على العموم وبحكم خبرتي القليلة في موضوع قواعد البيانات التي تختص بالمدارس .. 1. انت تريد أن تقوم باختيار الصف فقط !!!! 2. تريد في كل صفحة ان يتم عرض طلاب الصف الذي اخترته ولكن كل فصل منفصل !!!! 3. تريد توزيع الذكور والإناث في عامودين . هكذا ؟؟؟؟ أكد لي قبل أن أعتمد الحل ما لم يكن هناك خطأ في فهمي للمطلوب 😅
-
تفضل أخي أسعد .. جرب المرفق التالي ، وأخبرني إن كانت النتيجة هي ما تريده !! emad.accdb
-
وعليكم السلام ورحمة الله وبركاته .. مش متأكد إن كنت فهمتك صح ولا لأ .. ولكن جرب المرفق التالي :- emad.accdb
-
إبداعات أخي منتصر لا تنقطع ، وأنا على ثقة بذلك ، له كل الشكر والتقدير على ما ساهم به مع الأخوة والأساتذة الذين شاركوا بطرح الأفكار . العمل جماعي ، والنتيجة المنطقية الصحيحة - على ما اعتقد - ، هي ثمرة العمل الجماعي
-
-
أخي جو ، تفضل فكرتي البسيطة التي تحدثت عنها سابقاً .. حيث ما تم هو :- اكتفيت بالجدول Tbl_Settings الذي يحتوي الحقل DefaultNumber = حقل نصي . تم تغيير نوع الحقل NO_Esal في الجدول Tbl_Lab_All من حقل محسوب الى حقل نصي . مربع النص الذي تقع عليه المسؤولية أصبح له الأحداث :- Private Sub Esal_AfterUpdate() Me.NO_Esal.Value = Me.C_NO.Value & Me.Esal.Value End Sub Private Sub Esal_DblClick(Cancel As Integer) Dim TaskDialog As Y_CTaskDialog Dim db As DAO.Database Dim rs As DAO.Recordset Set TaskDialog = New Y_CTaskDialog With TaskDialog .Init .ParenthWnd = Me.hwnd .Flags = TDF_INPUT_BOX + TDF_RTL_LAYOUT .MainInstruction = "رقـم الايصـال الاسـاسـى" .Content = "ما هـى ... القيمة الافتراضية للايصال " .CommonButtons = TDCBF_OK_BUTTON Or TDCBF_CANCEL_BUTTON .IconMain = IDI_QUESTION .InputBoxTextAlign = TDIBTA_Right .InputAlignInFooter = tdcaRight .InputAlign = TDIBA_Footer If Not IsNull(txtChoices) Then .InputWidth = txtChoices .InputCueBanner = " من فضلك أدخل رقم الايصال ؟ " .DefaultCustomControl = tdccNothing .ShowDialog If .ResultMain = 1 Then If IsNull(.ResultInput) Or Not IsNumeric(.ResultInput) Then MsgBox "يجب تحديد قيمة رقمية", vbMsgBoxRight, "قيمة خاطئة" Exit Sub Else Set db = CurrentDb() Set rs = db.OpenRecordset("Tbl_Settings", dbOpenDynaset) If rs.EOF Then rs.AddNew rs!DefaultNumber = .ResultInput rs.Update Else rs.Edit rs!DefaultNumber = .ResultInput rs.Update End If rs.close Set rs = Nothing Set db = Nothing End If Me.C_NO.Value = .ResultInput ElseIf .ResultMain = 2 Then Undo Exit Sub End If End With Set TaskDialog = Nothing End Sub مربع النص C_NO أخذ القيمة الإفتراضية :- =Nz(DLookUp("DefaultNumber","Tbl_Settings"),"0") وبالتالي ملفك بعد التعديل سيكون Lab_2026.zip جرب العمل عليه وأخبرني بالنتيجة إن كانت مطابقة لما تريده تماماً أم لا ..
-
أخي جو .. ليس هناك ما يدعو للزعل أبشر .. ان شاء الله بس أوصل البيت حطبق الفكرة يا صديقي ..
-
وعليكم السلام ورحمة الله وبركاته .. حتى لا تتشتت أفكارك بعيداً عن طلبك ، ألقِ نظرة على هذا الموضوع هنا .
-
انا أعتذر من السير في حيلة من شأنها أن تدمر السجلات في أول خطأ يا صديقي .. لذلك قد أطرح فكرة تكون حلاً لك ، وهي الإعتماد على تعيين القيمة الافتراضية في جدول الإعدادات مثلاً . بحيث يتم تحديثها وجلبها متى شئت دون التأثير على خاصية الحقل داخل الجدول Tbl_Lab_All . فهنا نحن لن نقوم بإغلاق النموذج الرئيسي أو الفرعي أبداً . أو لن نقوم بفك ارتباط النماذج أساساً ( وبالتالي لن نجبر آكسيس على حفظ السجلات الناقصة ) . و ستبقى شاشة المستخدم مفتوحة كما هي ، والبيانات الناقصة التي تكتبها كمستخدم لن يتم حفظها إلا عندما تقرر حفظها . يعني باختصار = التعديل سيتم في جدول إعدادات خارجي بسيط ( Tbl_Settings ) غير مرتبط بالنماذج المفتوحة ، لذا لن تتواجد عوائق أخي جو . ومع ذلك ، فإن القيمة الافتراضية ستتعدل على مستوى الجدول نفسه ( وليس النموذج ) ، بحيث لو قام المستخدم بفتح الجدول مباشرة أو أضاف سجلاً من أي نموذج فرعي آخر ، سيتم تعيين القيمة الافتراضية الجديدة تلقائياً عند الحفظ . أرجو أن أكون قد نجحت بتوصيل فكرتي التي من خلالها لن تضطر للخروج من النموذج ، وبنفس الوقت ستبقى القيمة الافتراضية مخزنة داخل جدول ليس له اي علاقة بالنموذج سوى جملة DlookUp . وتحديثها من خلال سطر استعلام تحديث عند تغييرها 😉
-
شكراً للمشاركة أخي خليفة .. اذا من 25 سنة ، فقد عاشت الفكرة عمراً كافياً حتى تقوم الشركة بالإلغاء أو الحذف .😅. ثم إن الفكرة ستكون حصرية للمزود الذي سيقدم الخدمة حصراً !!!! يعني من سيستخدم الفكرة في الموزمبيق لن يكون لديه شريحة لمزود الخدمة هذا في بلده 😜 .
-
يمكن التنفيذ 😉 ..
-
نفس المبدأ ، وهو إغلاق النموذج الحالي = الرئيسي !!!! ' إغلاق النموذج الحالي DoCmd.close acForm, Me.Name ' فتح النموذج المساعد DoCmd.OpenForm "frm_SetDefaultNO"
-
-
بما أن النقطة الأولى التي تفضل بها أخي محمد ، مجانية وتعتمد على تطبيق وسيط . ذهبت للإلتفات الى الفكرة الثانية من خلال Ozeki NG SMS Gateway والبحث عن تفاصيلها . فوجدت انها مكلفة جداً نوعاً ما .. وتحتاج الكثير من الضبط على جهاز المستخدم. وأيضاً ستحتاج وجود انترنت كي يتم الاتصال بسيرفر الشركة المقدمة للخدمة !!
-
يا عيني عليك أخي محمد @Barna ، تفصيل جميل و وافي .. سأحاول الوصول الى التنفيذ والتجربة بإذن الله وأوافيك بالنتيجة
-
اعتقد أنه يجب العمل على الملف المرفق الذي ارفقه أخونا @jo_2010 في هذه المشاركة هنا . لأن ما يبحث عنه السائل هنا هو تعديل قيمة الحقل الإفتراضية داخل الجدول مباشرة دون الخروج من النموذج والعودة له .. وبعد تجربة المرفق من أخي منتصر ، اعتقد أنه اقترب الى حد ما 😉 . حيث بعد تجربة مرفقه النتيجة الغير مكتملة = مع العلم أن الحل الذي قدمه أخي @kkhalifa1960 يفي بالغرض لولا خروجه من النموذج والعودة من جديد له . وهذا يترتب عليه سجل جديد لو نسي المستخدم تعيين القيمة أولاً عند السجل الجديد .
-
شكراً لكم ردكم هذا معلمي الفاضل @ابوخليل . هذا صحيح فعلاً. ولكن الفكرة بحد ذاتها أنني كمستخدم أبحث عن الفكرة المجانية 😅 .. المصدر المرسل هنا سيكون مكشوفاً طبعاً وهو رقم هاتف المستخدم . وبما انه هو المرسل فسيتم استهلاك رصيد الرسائل النصية في خطك .
-
لا شكر على واجب اخي الكريم ،، ولكني لم أقدم لك حلاً ، بل تجربتي لملفك المرفق. عادةً يكون اختيار الإجابة للحل . وليس لكون شخص ما قام بالرد . فالمنتدى قائم على مد يد العون والمساعدة للجميع . فقد يكون سبب مشكلتك هو نسخة الأوفيس نفسها ، او بعض الإعدادات في الويندوز مثل اللغة الإقليمية الإدارية ، او بعض الإعدادات في الأكسل مثل تفعيل الماكرو او تمكين المحتوى في مركز الوثوق . لذا أتمنى أن تكون مشكلة ملفك قد وجدت لها حلاً 😇 .
-
هل طريقي مسدود مسدود مسدود 🤔 ؟
-
السلام عليكم ورحمة الله وبركاته .. قمت بقراءة تقريباً جميع المواضيع التي بحثت عنها في المنتدى ، والتي تتحدث حول موضوع إرسال رسائل نصية SMS من خلال آكسيس ، ومن أي بلد . يعني كتوضيح ؛ لدي في شريحتي من ضمن الباقة الشهرية ما يعادل 3000 رسالة نصية SMS . وأريد أن ارسل رسائل نصية من خلال الآكسيس ضمن نطاق عمل المختبر . فبدلاً من أن اشترك بخدمات مدفوعة ، أبحث عن طريقة للإستفادة من هذه الحزمة من الرسائل النصية . فهل لكم أن تشاركوني الأفكار ؟ فقد نفذت مني فعلاً 😪 وشكراً لكم سلفاً