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

نجوم المشاركات

  1. محمد ايمن

    محمد ايمن

    الخبراء


    • نقاط

      2

    • Posts

      1,667


  2. طلعت محمد حسن

    طلعت محمد حسن

    الخبراء


    • نقاط

      2

    • Posts

      774


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      1

    • Posts

      8,723


  4. احمد 505

    احمد 505

    03 عضو مميز


    • نقاط

      1

    • Posts

      375


Popular Content

Showing content with the highest reputation on 12 نوف, 2016 in all areas

  1. السلام عليكم ورحمة الله وبركاته إخواني الكرام في المنتدى الحبيب سبق أن قدمت في موضوع سابق دالة مشابهة لدالة اليوم ، ولكن دالة اليوم مميزة من ناحية سنقوم بسردها بعد قليل رابط الموضوع المتعلق بشبيهة الدالة فاصل ونواصل (أصلي تعبت ... ) دا شكل الدالة المعرفة Function GetUnique(R As Range) Dim Cl As Range, J As Long With CreateObject("System.Collections.ArrayList") For Each Cl In R.Cells If Cl <> "" Then If Not .contains((Cl.Value)) Then .Add (Cl.Value) Next .Sort For J = 1 To R.Count .Add ("") Next J GetUnique = Application.Transpose(.toarray()) End With End Function ايه رأيكم في شكلها (أنا شايف إنها شكلها لطيف ...مش كدا يا أبو يوسف) تقوم الدالة المعرفة UDF والتي تسمى GetUnique ، باستخراج القيم الغير مكررة في نطاق أي القيم الفريدة في نطاق ، والجديد والمفيد أنه يمكن ترتيب القيم لتحصل في النهاية على قائمة منقحة ومصححة وخالية من التكرار والفراغات .. كل دا بضربة واحدة (ضربة معلم ..صح يا حوسو) إذاً وظيفة الدالة : الحصول على قيم فريدة اي غير مكررة - ترتيب النتائج ترتيب أبجدي - التخلص من الفراغات الموجودة في القائمة الأصلية وبالمثال المرفق سيتضح المقال كيفية عمل الدالة : بفرض أن القيم المراد استخراج القيم الفريدة منها في العمود الأول في النطاق A1:A30 نشوف العمود اللي عايزين نستخرج النتائج فيه وليكن العمود G .. اشمعنا العمود دا بالذات ، عشان العمود ده رقم 7 وأنا من عشاق الرقم 7 ومضاعفاته .. نحدد النطاق من أول الخلية G1 لحد G30 قبل ما نكتب المعادلة حددنا النطاق (برافو عليك يا حوسو) روح بقا لشريط المعادلات (مش ظاهر معاك يبقا أكيد لعبت في إعدادات الإكسيل .. ودي حاجة مش وحشة دي حاجة حلوة ، لأنها دليل إنك عايز تتعلم .. اظهر شريط المعادلات من التبويب View هتلاقي كلمة Formula Bar جنبه مربع علم عليه ..! مش أحسن ما هو اللي يعلم عليك) ضع المعادلة التالية في شريط المعادلات =GetUnique(A1:A30) ومن لوحة المفاتيح اضغط Ctrl + Shift + Enter لأن دي معادلة صفيف .. ومبروك عليك القايمة الجديدة (على أساس إنك متجوز للمرة التانية .. بس القديمة تحلا ولو كانت أحلى ..بلاش نقول وحلة لناخد مخالفة (من خاف سلم)) طيب دلوقتي أنا سامع واحد بيقولي إنت ليه بتجبرني إني أرتب القيم (أنا عايز القيم زي ما هي بدون تكرار وبدون فراغات بس الترتيب ميلزمنيش) .. أرد عليه وأقوله ولا تزعل نفسك يا حبيبي روح لمحرر الأكواد ودور على السطر اللي جاي ده واحذفه أو ضع بجانبة تعليق .. بس خلاص ! مش دي اللي هتزعلنا من بعضنا ) .Sort وأخيراً تقبلوا تحيات أخوكم أبو البراء دمتم على طاعة الله Get Unique UDF Function.rar
    1 point
  2. أخي محمد أنت قلت لا أريد الإضافة في حال التكرار هذا ما فهته من شرحك أخي و هل يقوم بالإضافة في حال عدم و جود التكرار؟ جرب إدخال سجل غير موجود و أطلعني على النتائج أستاذ محمد
    1 point
  3. اشكرك استاذ طلعت على المتابعة والدعم لك من كل التقدير والاحترام
    1 point
  4. عذرا اخي ابا جودي لايمكن كتابة الفاصلة المنقوطة في الاستعلام على حد علمي ارجو منك كتابة كود الاستعلام هنا
    1 point
  5. السلام عليكم ما رايكم فى هذا المثال البسيط جدا وهو للصديق العزيز يوسف احمد جرب حرك الموس فقط او اتركه وشاهد ماذا يحدث فى مربع النص اغلاق البرنامج عند عدم التنشيط.rar
    1 point
  6. السلام عليكم اخي لؤي شاهد المرفق هل تقصد هكذا اقبل احترامي وتقديري تجزئة الاسم الاول والثاني.rar
    1 point
  7. السلام عليكم اخي حسين ارجوا ارفق ملف حتى تصبح الصورة بشكل اوضح
    1 point
  8. اكتب هذه المعادلة في الخلية C2 واسحب نزولاً =IF(B2="",A2,A2&"- "&B2)
    1 point
  9. تم و لله الحمد حل المشكله وكان الحل بسيط جدا الغيت كود الدواء كمفتاح اساسي وجعلته رقم بس وعملت مفتاح جديد للترقيم التلقائي غيرت الربط ب الجدول الفرعي من كود الدواء الى الرقم المسلسلي الجديد او المفتاح الجديد في جدول الادويه جعلت الادويه التي اسمائها متشابهه بنفس الكود وهذا الدواء مثال Cap. Amoxacilline 500mg الان لا تستطيع تكرار ادخال اي دواء للوصفه حتى لو تغير اشكر الكل لساعدتهم لي الاخ جعفر الاخ ابو خليل الاخ عبدالله الاخ محمد امين اتمنى من الكل مشاركتهم لي لكي اكمل مشروعي Database.rar
    1 point
  10. Private Sub Form_BeforeUpdate(Cancel As Integer) Dim c As New Collection تعرف متغير من نوع كولشن ليتم استخدام وظائفه On Error Resume Next الخطأسيحصل عند تكرار احد القيم For Each ct In Me.Section(0).Controls الدوران على العناصر التي بجزء التفصيل If ct.Tag = "ramhan" Then c.Add ct, ct: i = i + 1 الدوران على العناصر التي التاق لديها باسم رمهان واذا هناك تكرار لن يضيف للقائمة Next If c.Count <> i Then Cancel = MsgBox("يوجد تكرار") this هذا فكرة الحل وهو المقارنة بين عداد عدد العناصر والقيم المضافة فلو حصل تكرار ستكون عدد القيم اقل من عدد الحقول وهذا مؤشر للتكرا End Sub هذا ومارايك بالفكرة استاذ محمد ؟ تحياتي
    1 point
  11. تحية طيبة استاذنا الغالي رمهان هناك مقولة ( كلما ازداد علمي ازداد علمي بجهلي ) الامثلة السابقة كلها تعاني من خطا اساسي وهو انو الكود يفتح الجدول للتحقق من القيمة و بالتالي اصبح الكود يتحقق من القيمة في الجدول عوضا عن التحقق من القيمة في السجل الحالي طبعا كان السبب هو قلة خبرتي في الاكواد في ذلك الوقت ( منذ 4 سنوات تقريبا ) الحمدلله وصلت للحل و لكن ابتعادي عن المنتدى في الفترة الماضية هو ما انساني اكمال الموضوع منع تكرار القيمة في نفس السجل 10.rar
    1 point
  12. اخي كيماس عودا حميدا للابداع والرقي وفنون الاكسيل اعمالك كلها تشهد لك فهنيئا لنا بوجودك معنا ووجودنا معك كي نستفيد ونفيد تقبل تحياتي ابوعمرو
    1 point
  13. مثال على تجميع الصفحات كل صفحة على حده . أشرف خليل sum_page.zip
    1 point
  14. السلام عليكم ورحمة الله وبركاته إليكم طريقة إخفاء شاشة الأكسس نهائيا بعد فتح النموذج المطلوب 1- انشئ قاعدة بيانات جديده 2- انسخ الكود التالي ثم الصقه في وحده نمطيه جديدة وسمها أي اسم ترغب به الكود =============================================== Option Compare Database Option Explicit Global Const SW_HIDE = 0 Global Const SW_SHOWNORMAL = 1 Global Const SW_SHOWMINIMIZED = 2 Global Const SW_SHOWMAXIMIZED = 3 Private Declare Function apiShowWindow Lib "user32" _ Alias "ShowWindow" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Function fSetAccessWindow(nCmdShow As Long) 'Usage Examples 'Maximize window: ' ?fSetAccessWindow(SW_SHOWMAXIMIZED) 'Minimize window: ' ?fSetAccessWindow(SW_SHOWMINIMIZED) 'Hide window: ' ?fSetAccessWindow(SW_HIDE) 'Normal window: ' ?fSetAccessWindow(SW_SHOWNORMAL) ' Dim loX As Long Dim loForm As Form On Error Resume Next Set loForm = Screen.ActiveForm If Err <> 0 Then 'no Activeform If nCmdShow = SW_HIDE Then 'MsgBox "Cannot hide Access unless " _ & "a form is on screen" Else loX = apiShowWindow(hWndAccessApp, nCmdShow) Err.Clear End If Else If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then 'MsgBox "Cannot minimize Access with " _ & (loForm.Caption + " ") _ & "form on screen" ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then 'MsgBox "Cannot hide Access with " _ & (loForm.Caption + " ") _ & "form on screen" Else loX = apiShowWindow(hWndAccessApp, nCmdShow) End If End If fSetAccessWindow = (loX <> 0) End Function =============================================== 3- انشئ نموذج جديد وسمه اي اسم ترغب به 4- غير خصائص النموذج الى pop up=yes modal=yes 5- ضع زر امر لإغلاق النموذج مع الأكسس 6- ضع في حدث عند الفتح الكود التالي الكود ============================================== fSetAccessWindow (SW_SHOWMINIMIZED) fSetAccessWindow (SW_HIDE) ============================================== 7- من قائمة أدوات اختر بدء التشغيل ثم حدد النموذج لكي يفتح في بدء التشغيل 8- إحفظ عملك ثم قم بإنهاء القاعدة . 9- شغل القاعدة وسوف ترى ان خلفية الأكسس مختفيه تماما ما عدا النموذج الذي اخترته من قائمة بدء التشغيل . 10 -دعواتكم لنا بالتوفيق مرفق مثال على الطريقة ====================== تحياتي hideaccesswindow.zip
    1 point
×
×
  • اضف...

Important Information