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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      12

    • Posts

      9,814


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      3

    • Posts

      12,207


  3. عبدللرحيم

    عبدللرحيم

    03 عضو مميز


    • نقاط

      2

    • Posts

      283


  4. ابو ياسين المشولي

    • نقاط

      2

    • Posts

      1,752


Popular Content

Showing content with the highest reputation on 25 ديس, 2017 in all areas

  1. السلام عليكم بالنسبة لبيانات مربع التحرير والسرد / القائمة المنسدلة ، فعادة تأخذ بياناتها من جدول خاص بها ، نُدخل فيها البيانات مسبقا ، وكذلك يكون لدينا نموذج لكل جدول ، حتى نستطيع تغيير/إضافة/حذف احد هذه البيانات. هناك طريقة اخرى اسهل ، واستعملها في برامجي ، والتي تتكون من جدول واحد ونموذج واحد لكل الحقول ، و اود ان اشاركها معكم الجدول الذي به جميع الحقول اسمه tbl_Constants ، وسنأخذ أحد الحقول كمثال واسمه Department ، نستخدم هذا الحقل لإدخال بيانات عن طريق النموذج frm_Employees في الجدول tbl_Employees في الحقل Department ، ونستخدم هذا الحقل لإدخال بيانات عن طريق النموذج frm_Department في الجدول tbl_Department في الحقل Section_Name ، . في الجدول tbl_Constanats ، في حقل Department ، بالإضافة الى بيانات الحقل (الشؤون الادارية ، الشؤون المالي *تعمدت عمل هذا الخطا ، والذي نتيجته ظهرت في الجدولين الآخرين*) ، فإننا نكتب اسماء الجداول التي تُحفظ فيها البيانات واسم الحقل في ذلك الجدول (الجدول tbl_Emplyees واسم الحقل فيه هو Department ، وجدول tbl_Department واسم الحقل فيه هو Section_Name ، اما الاشارة _|_ التي قبل اسم الجدول ، فنستعملها لتصفية البيانات *تابع لاحقا*). العمل كله في الكود وفي اسماء الحقول ، والنموذج frm_Constants. نفتح نموذج ادخال البيانات frm_Employees او frm_Department . نريد ان نعمل تعديل على "الشؤون المالي" في حقل الدائرة ، ولأن النموذج مقفل ولا يسمح لتعديل البيانات ، فنضغط على زر "عمل تعديل على قيم البيانات" ، فندخل كلمة السر . فنرى طرق فتح النموذج frm_Constants ، ثم نختار الحقل الذي نريد ان نغير بياناته (الدائرة) مثلا ، ثم نضغط على الزر الذي على يسار الحقل (لجميع اصدارات الاكسس) او على الزر الذي يظهر اسفل يسار القائمة (للأكسس 2007 فما فوق ، وميزة هذا الزر انه من ضمن اعدادات الحقل ، ولا يحتاج عمل زر اضافي له ولا كود ، كما اننا نُدخل اسم النموذج frm_Constants في اعدادات الحقل كذلك) . النموذج frm_Constants يُفتح على بيانات الحقل الذي نريده Department ، وعلى المعلومة/السجل الذي كان مختار في النموذج الذي اتينا منه . وكذلك النموذج مُقفل ، ونحتاج الى الضغط على زر التعديل لتعديل المعلومة ، او زر الاضافة لإضافة معلومة جديدة ، وعند الضغط على زر الخروج ، فالكود سيقوم بتحديث البيانات . هنا نرى ان التحديث حصل لجميع الجداول ونموذج frm_Employees كذلك ، وهو المطلوب . النموذج الآخر frm_Department والذي يحمل اسم الحقل Department ، ولكن مصدر بياناته الحقل Section_Name ، كذلك يمكنه عمل نفس الشيء (كما تم شرحه اعلاه) . ومع انه عندنا 4 ازرار لتغيير بيانات الحقول ، إلا اننا استخدمنا حدث واحد فقط لفتح النموذج frm_Constants . والكود هو Private Function Open_frm_Constants() Me(Mid(Screen.ActiveControl.Name, 6)).SetFocus DoCmd.OpenForm "frm_Constants", , , , , acDialog End Function . . ----------------------------------------------------------------------------------------- وهذه إضافة حسب رغبة اخي شفان في إضافة النموذج الذي كنت استخدمه سابقا مع مراعاة اني عملت عليه الكثير من التعديلات حتى يتواكب مع الطريقة الجديدة ، وللعلم ، فالحقول في الجدول tbl_Constants يجب ان يكون لها تسميات "Captions" ،وقد اعطيت الحقول تسميات عربية ، كما هو ظاهر في النموذج ، والمرفق الذي به هذا النموذج هو ComboBox_Data_2.MDB.zip ، والذي يشمل جميع النماذج اعلاه ايضا . جعفر ComboBox_Data.mdb.zip ComboBox_Data.accdb.zip ComboBox_Data_2.MDB.zip
    2 points
  2. اللي تشوفه مناسب لعملك 824.count.accdb.zip
    2 points
  3. مشاركة مع احبتي اخونا كريمو لعل هذا يلبي طلبك قيد العمل.rar
    2 points
  4. تفضل لما شفت انك مستخدم الامر Dlookup في النموذج ونفسه في الكود ، يعني انك تطلب بيانات من الجدول 8 مرات * 2 = 16 مرة ، نظرت فيه ، . فجمعت بين الاستعلام مصدر بيانات النموذج ، والاستعلام QryRawBlnc اللى تحتاج منه نتيجة حقل Balance ، وربطت الجدولين بالحقل code . عليه ، اصبح هذا الاستعلام الجديد مصدر بيانات النموذج . وقيمة الحقل Balance اصبحت جاهزة . وعليه تم تعديل الكود ليشمل هذه التغييرات Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC ''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim con As Long con = Nz(rst!cons, 0) * Nz(Me.T3, 0) Debug.Print "con= " & con & " >> " & "Balance= " & rst!Balance 'If con > Bal Then If con > rst!Balance Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub . ولكن خلينا نشوف الحساب والمقارنة اللي يشوفها الكود ، وبسبب استعمالك Long للمتغير con ، ترى قيمة معادلتك بدون كسور عشرية (Long معناه Integer طويل ، يعني رقم كامل بدون منازل عشرية) ، ولما غيرته الى Double ، اعطى القيمة حسب الظاهر في النموذج Dim con as Long con= 1 >> Balance= 100000 con= 4 >> Balance= 400000 con= 1 >> Balance= 100000 con= 0 >> Balance= 0.005 con= 0 >> Balance= 4 con= 2 >> Balance= 200000 con= 3 >> Balance= 0 con= 2 >> Balance= 200000 -------------------------------- Dim con as Double con= 1 >> Balance= 100000 con= 4 >> Balance= 400000 con= 1 >> Balance= 100000 con= 0.00004 >> Balance= 0.005 con= 0.00004 >> Balance= 4 con= 2 >> Balance= 200000 con= 3 >> Balance= 0 con= 2 >> Balance= 200000 جعفر 824.3.count.accdb.zip
    1 point
  5. اتفضل اخي ابو زاهر هذة مجرد فكرة والاخوان اكيد عندهم ما هو افضل احتساب الكميه بالمردود1.rar
    1 point
  6. اتفضل استخدم هذا السطر fff.Value = Array() غیر FFF باسم الكومبوبوكس عندك
    1 point
  7. أساتذتى الكبار أخوتى وأخواتى فى منتدى أوفيسنا أنا فخور انى أحد أعضاء المنتدى الكريم ده دائما ما نجد ضالتنا فيه لقيت الملف ده على موقع أجنبى وبصراحه عجبنى وحبيت أشارك بيه أحلى طاقم عمل فى المنتدى الى أن يتم شرحه وتفكيكه من عباقرة المنتدى مرفق ومنتظر اراءكم يارب يعجبكم New-Userform-.rar
    1 point
  8. استخدم هذا الكود Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC If Nz(rst!cons, 0) * Nz(Me.T3, 0) > 0 Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub Private Sub T3_AfterUpdate() Call Coun_Count End Sub جعفر
    1 point
  9. بعد اذن اخي جعفر نفس ما تفضل اخي جعفر باختلاف بسيط 824.count.accdb.zip
    1 point
  10. اخي عمرو لا يمكن عمل اي متغيرات للامر Count او Sum في ذيل النموذج ، غير اسم الحقل مثل (Count(myField او Count(*)p اما اذا اردنا الحساب بشروط ، فيجب ان نعمله في الكود ، وعملت هذه الوحدة Private Sub Coun_Count() Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Counter = 0 For i = 1 To RC If rst!cons > 0 Then Counter = Counter + 1 'Count cons 'Counter = Counter + rst!cons 'Sum cons End If rst.MoveNext Next i Me.Coun = Counter rst.Close: Set rst = Nothing End Sub . وتستطيع مناداتها من اي حدث من النموذج هكذا Call Coun_Count . مثلا ، في حدث النقر على اسم productcode في الحقل t0 : Private Sub t0_Click() Me.T216 = "" & Me.t0.Column(0) & "" Me.T216.Requery search_Products = "" Me.Requery Me.T3.SetFocus Call Coun_Count End Sub جعفر 824.count.accdb.zip
    1 point
  11. السلام عليكم ورحمة الله عذرا اخى الكريم على التأخير استبدل هذه العبارة Copy:=1 بهذه العبارة Copies:=1
    1 point
  12. استخدم =SUM(SUMIFS(الجدول1[المبالغ];الجدول1[مبيعات الدولة]; {"مصر";"السودان"}; الجدول1[الوكيل];"احمد")) أو =SUMIFS(الجدول1[المبالغ];الجدول1[الوكيل];"احمد";الجدول1[مبيعات الدولة];"مصر")+SUMIFS(الجدول1[المبالغ];الجدول1[الوكيل];"احمد";الجدول1[مبيعات الدولة];"السودان") للتمرين.rar
    1 point
  13. بارك الله فيك استاذي روووووووعه تحياتي اليك
    1 point
  14. السلام عليكم اخوي ابو خليل توقيعي في آخر كل مشاركة هي: وقد اعجبتني عبارتك لدقّة معانيها ، فإذا تسمح لي بإستعمالها ودمجها في توقيعي ليصبح: جعفر
    1 point
  15. كلما ازداد المرء علما ازداد تواضعا ، فالشكر لك ابتداءً للمداخلة استاذنا العزيز ثم النقاش يفتق الاذهان ويدمج التجارب ويبلور الافكار فكرتي التي ترجمتها بمثال هي بصورة عامة للشراء والبيع نقدا ولا يمنع من التأجيل غير المشروط بوقت ونظام معين فمثلا يمكنني البيع على مشتري على ان يدفع لي بعد التصريف ، فالمدفوعات مسجلة سواء سدد القيمة على فترات او دفعة واحدة وايضا يمكنه الدفع المقدم وكل هذا يظهر في حسابه ورصيده المالي سواء له او عليه . فلماذا تعقيد الامور وفرض اجراءات يمكن الاستغناء عنها فحين اضع حقولا لنوع الدفع الآجل والعاجل غير منضبطة بنظام معين فهي في مثالي تحصيل حاصل ولكن حين اضع للآجل نظاما معينا يتم السداد بموجبه فانا هنا اطبق انظمة التقسيط ، وهذه لها تصميمها الخاص بالضبط مثل برامج نقاط البيع لها تصميمها الخاص لانها تتعامل بالنقدي فقط هذه وجهة نظر .. وليس التنظير كالتجربة على ارض الواقع . وانما هو اجتهاد مني
    1 point
  16. مثل ما يقول المثل: الميدان يا حميدان ارفق هالجزئية من اللي انت عملته وما صار ، الاستعلام والوحدة النمطية ، واحنا نساعدك في الحل ان شاء الله جعفر
    1 point
  17. إرفق ملف أو جرب https://excelhelphq.com/how-to-use-vba-to-automatically-do-multiple-goal-seek-guess-and-test-calculations/
    1 point
  18. تقضل http://viaexcel.com/ar/اداة_الاستهداف_goal_seek/
    1 point
  19. ما شاء الله مبدع اخي العزيز bin7shr جعله الله في ميزان حسناتكم
    1 point
  20. شكرا على توجودكم اتمن ان احاول افيدكم على قدر ما استطيع للاسف انا صممت البرنامج على دقة 1024/768 وقمت بتعديل البرنامج ليتناسب مع اى دقة وتم الغاء تعديل دقة الشاشة معلومة اخرى يجب بعد تسجيل بيانات الموظف يجب اغلاق البرنامج واعادة التشغيل ليظهر امامك فى شاشة تسجيل اجازة لتقوم باضافة اجازة للموظف وشكرا مرة اخر على مشاركتكم الاجازات.rar
    1 point
  21. وألان نبدأ بأول الحلول الذكية أداة :: التخلص من علامات خطأ المعادلات مثل الأخطاء التالية : #DIV/0! / #N/A / #NAME? / #REF! / #NUM! / #NULL! / #VALUE! لقد تم عرض أكثر من أسلوب بالمنتدى للتخلص من هذه الأخطاء ولكن أسلوبنا هنا هو السهل الممتنع بضغطة زر واحدة يمكن التخلص من علامات الخطأ للورقة الحالية بالكامل وتعتمد الطريقة هنا على تعديل صيغة الخلية المختارة أو مجموعة الخلايا المختارة أو كل خلايا الورقة الحالية المحتوية على معادلات بأدراج أسلوب ( ISERROR ) ضمن صيغة المعادلة . وهذا كنا نقوم به يدويا لكل مجموعة خلايا بها معادلات متشابهة أو بأتسخدام دالة (IF ) أو كنا نستخدم أسلوب التنسيق الشرطي لإخفاء علامات الخطأ الظاهرة كل هذا أصبح من الماضي ألان . ألان اضغط الزر يتم تعديل جميع الصيغ على سبيل المثل إذا كانت الصيغة أو الصيغ مثل ذلك: =SUM(A1:A9) =VLOOKUP(H1;A1:F9;2;FALSE) تصبح بضغطة زر كالاتى : =IF(ISERROR(SUM(A1:A9));"";SUM(A1:A9)) =IF(ISERROR(VLOOKUP(H1;A1:F9;2;FALSE));"";VLOOKUP(H1;A1:F9;2;FALSE)) وهى تعمل مع أكثر الصيغ تعقيدا وألان كيف نعمل ذلك افتح الملف المراد التخلص من علامات خطأ المعادلات اختار الصفحة المراد تعديلها قم بتشغيل الملف الموجود بالمرفقات إذا لم يذهب بك إلى ملفك اذهب إليه اختار خلية بها صيغة معادلة أو عدة خلايا ثم اضغط (F2) لتعديلها . أو يمكن اختيار كل خلايا المحتوية على صيغ في الورقة الحالية بضغط (F1) ثم اضغط (F2) لتعديلها . أخيرا قم بحفظ الملف الخاص بك . لو تكرمت اخبرنا برأيك هل أستمر بأدراج الحلول الذكية أم لا . تحياتي لكم جميعا ملف التخلص من علامات خطأ المعادلات بالمرفقات ChangeFormulas.rar
    1 point
×
×
  • اضف...

Important Information