اذهب الي المحتوي
أوفيسنا

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      13

    • Posts

      9,814


  2. Moosak

    Moosak

    أوفيسنا


    • نقاط

      6

    • Posts

      1,997


  3. محمد حسن المحمد

    • نقاط

      3

    • Posts

      2,216


  4. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      2

    • Posts

      2,302


Popular Content

Showing content with the highest reputation on 06 مار, 2022 in all areas

  1. السلام عليكم اخوي موسى 🙂 انا ، وعلشان الوضوح اني انادي دالة : بدل firstAndLastDay Me.txtMonthNo استعمل call firstAndLastDay (Me.txtMonthNo) حعفر
    3 points
  2. ولعله الحب من أول نظرة عامل عمايله معاك 😂 العفو حبيبنا .. 🌹 اللهم آمين وإياكم .. 🤲
    2 points
  3. انت ما سامع ان العين تعشق قبل القلب 🙂 لهذا السبب ، انا كمبرمج بدل ان اقرأ تفاصيل كل سطر في الكود ، هناك دلالات تخلي الحاسة السابعة تشتغل ، وبنظرة سريعة اقدر اميز كود عن كود ، لذا هاي احدها اللي تخليني على الطاير اعرف معناها 🙂 لا تؤثر على الاداء 🙂 جعفر
    2 points
  4. وعليكم السلام 🙂 يجب تعديل مصدر بيانات الحقل text37 الى : اذا قيمة حقل البنزين = 0 اذا اردت قيمة الحقل text37 = "" =IIf([fuel]=0,"",[text35]*20/[fuel]) اذا اردت قيمة الحقل text37 = 0 =IIf([fuel]=0,0,[text35]*20/[fuel]) . قد تضطر الى استعمال الفاصلة المنقوطة ; بدلا عن الفاصلة في الكود اعلاه. والنتيجة جعفر
    2 points
  5. تفضل أخي عمر .. هذا هو الكود مع إضافة روتين منفصل لحساب أول وآخر الشهر ( تم التعديل على الكود الخاص بك ) 🙂 : Private Sub cmdTMNOMins_Click() If Me.txtMonthNo <= 1 Then MsgBox "ان اقل شهر فى السنه هو شهر 1 (يناير) لا يمكن ان يكون اقل من هذا", vbCritical, "خطأ" Me.txtMonthNo = 1 Exit Sub Else Me.txtMonthNo = Me.txtMonthNo - 1 firstAndLastDay Me.txtMonthNo End If End Sub Private Sub cmdTMNOPlas_Click() If Me.txtMonthNo >= 12 Then MsgBox "ان الاشهر السنه هي 12 شهر لا يمكن ان يكون اكثر من هذا", vbCritical, "خطأ" Me.txtMonthNo = 12 Exit Sub Else Me.txtMonthNo = Me.txtMonthNo + 1 firstAndLastDay Me.txtMonthNo End If End Sub Private Sub firstAndLastDay(MonthNum As Integer) Me.txtdate1 = DateSerial(Year(Date), MonthNum, 1) Me.txtdate2 = DateSerial(Year(Date), MonthNum + 1, 0) End Sub المرفق: ForDate.accdb
    2 points
  6. حياك الله 🙂 في الواقع الحل هو نفسه الذي قدمه احوي @Ahmed_J ، ولكنه خانه التعبير ، فبدل ان يتأكد من قيمة المقام (القيمة المقسوم عليها ، التي في الاسفل) ، تأكد من قيمة البسط (القيمة المقسوم يها ، التي في الاعلى) 🙂 جعفر
    1 point
  7. حياك الله أخي افتح موضوع جديد وسيتم العمل على إيجاد حل لمطلوبك وهو لصق البيانات كصورة الأن هذا الموضوع انتهى والحمدلله وصلنا إلى مرحلة متقدمة والأن هناك فكرة سيتم تطبيقها ولكن ليس هنا الرجاء أن تفتح موضوع جديد وتكتب فيه طلبك وكذلك حتى نفتح الباب لكل من أراد المشاركة تقبل تحياتي وإلى اللقاء
    1 point
  8. اعتقد اني فهمتك الان يحتاج فقط في تسلسل عمل الاكواد غيرها كما يلي DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE tb1 SET tb1.[الشهر] = [forms]![form]![الشهر]" DoCmd.SetWarnings True Dim sql As String sql = "DELETE tb2.* FROM tb2;" DoCmd.SetWarnings (warningsoff) DoCmd.RunSQL (sql) DoCmd.SetWarnings (warningson) DoCmd.SetWarnings False DoCmd.OpenQuery "Q10" DoCmd.SetWarnings True Me.Requery
    1 point
  9. باشكر حضرتك على الحل وجزاك الله عنا كل خير هذا شرف لى مرور حضرتك هنا بارك الله لك على الاضافه
    1 point
  10. وعليكم السلام 🙂 هل انت طالب او مدرس ، لأن اسألتك تدور حول بديهيات الاكسس ، كأنها دروس 😁 عملت تغيير في النموذج ، فاصبحت الازرار . اول 3 ازرار ترسل البيانات مباشرة من النموذج الرئيسي لحقول النموذج الفرعي : Private Sub cmd_xr_Click() 'عند الضغط على الزر في النموذج الرئيسي xr Me.fx!x = "xr" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub Private Sub cmd_xm_Click() 'عند الضغط على الزر في النموذج الرئيسي xm Me.fx!x = "xm" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub Private Sub cmd_xn_Click() 'عند الضغط على الزر في النموذج الرئيسي xn Me.fx!x = "xn" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub . الزرين الاخيرين ، ننادي دالتين في النموذج الفرعي : Private Sub cmd_xs_Click() Call Form_fx.Enter_xs End Sub Private Sub cmd_Subform_Event_Click() Call Form_fx.I_am_MsgBox End Sub . نعمل دوال في النموذج الفرعي ، ولكي نستطيع ان نراها/نقرأها من خارج النموذج ، يجب ان نستعمل Public : Public Sub Enter_xs() Me.x = "xs" Me.x1 = 2 Me.x2 = 4 Me.x3 = 1 Me.x4 = 0 End Sub Public Sub I_am_MsgBox() MsgBox "قيمة x تساوي" & vbCrLf & Nz(Me.x, "") End Sub . جعفر 1482.fyfx.accdb.zip
    1 point
  11. وعليكم السلام ورحمة الله وبركاته عمي جعفر 🙂 جزاك الله خيراً .. وإحساناً .. وأجرا ..🌹😊 هل الصياغة السابقة تؤثر على الأداء ؟
    1 point
  12. السلام عليكم ورحمة الله وبركاته يرجى تجربة هذا الحل match.xlsx
    1 point
  13. هلا والله اخوي ابوخليل 🙂 انا وياك متفقين دائما ان شاء الله 🙂 بالنسبة للنقطة 4 ، فنعم لو فيه برواز للنموذج الامامي ، فستكون محتويات النموذج واضحة بانتمائها لهذا النموذج ، وبالنسبة للالوان ، فلون الخط الازرق الفاتح ، يحتاج معالجة شوي ، وطبعا اتفق معاك ان يكون لجميع النماذج طابع واحد ، من مكان قفل النموذج ، الى سجل جديد ، ووو واما شديد ، فظاهره الشدة وداخله اللين 🙂 راحت الشدة ، واختربت القضية ، الآن اخونا سامي بيلعب على كيفه ، وخلينا نحسب كم هدف بيجيب 😁 جعفر
    1 point
  14. السلام عليكم ورحمة الله وبركاته - أخي الكريم: أما عن شرح المعادلة التي ذكرت فهي باستخدام دالة البحث Vlookup مع الدالة الشرطية If =IF(VLOOKUP($B$2;'المبالغ المتاخره'!$B$20:$AQ$55;ROW()-16;0)=0;"";VLOOKUP($B$2;'المبالغ المتاخره'!$B$20:$AQ$55;ROW()-16;0)) الدالة الشرطية IF :مفادها إن كانت نتيجة البحث تساوي الصفر أترك الخلية فارغة ، وإن لم تكن كذلك ضع قيمة نتيجة البحث المطابقة تماماً فيها. تم تكرار دالة البحث في المعادلة للتثبت من صحة الشرط فقط. دالة البحث العمودي VLOOKUP :مفادها ابحث بدلالة الخلية المثبتة B2 في النطاق المحدد في ورقة 'المبالغ المتاخره'!$B$20:$AQ$55 حيث أن قيمة الخلية التي يراد البحث بدءاً منها مطابقة لقيمة الخلية B2 أما النتيجة المطلوبة من تحقق البحث فهي أول نتيجة ثم الثانية ثم الثالثة إلى آخره وذلك عندما تسحب المعادلة إلى أسفل. ولذلك تم الاستعانة بالدالة ROW والتي تعطي قيمة الصف حيث تم وضع المعادلة في الخلية I19 كما تذكر والتي يدور سؤالك حولها، هذه الدالة تعطيك قيمة الصف الحالي وهي 19 طرحنا منها 16 لتعطي نتيجة أول خلية مطابقة في ورقة المبالغ المتأخرة وهي هنا رقمها 3 أي Row()-16 تعني 19 - 16 = 3 كما سأبين لك في الصورة المرفقة. للتوضيح بحثت بدلالة رقم الملف في ورقة حركة تسديد العميل في الخلية B2 كان الرقم 100 عن النطاق في ورقة المبالغ المتأخرة عن رقم الملف 100 وأنت تريد القيمة الثالثة حصراً قيمتها 1160 حصلنا عليها بطرح العدد 16 من الصف الحالي في ورقة حركة تسديد العميل وذلك لأنك ستسحب المعادلة بدلاً من تسجيل الرقم 3 لأنه لن يتغير معك بالسحب نزولاً. أرجو أن أكون وفقت لشرح المطلوب وبالله التوفيق والسلام عليكم ورحمة الله وبركاته.
    1 point
  15. السلام عليكم ورحمة الله وبركاته إنما يخشى اللهَ من عباده العلماءُ جزاكم الله خيراً على هذه الأفكار النيرة أستاذنا الموقر @محمد طاهر تقبل تحياتي العطرة والسلام عليكم.
    1 point
  16. تم اضافة حل اخر فى تعليق على الموضوع فى مكتبة الموقع ، عن طريق استخدام دالة VLOOKUP مع دالة Indirect بحيث يتم كتابة أسماء المؤسسات العادية و بجانبها فى العمود المقابل اسماء المؤسسات التي بها علامة _ بدلا من المسافات ويمكن استخدام الدالة SUBSTITUTE للمساعدة فى ذلك =SUBSTITUTE(A22," ","_") Agency اسم المؤسسة المعدل المؤسسة رقم 1 المؤسسة_رقم_1 المؤسسة رقم 2 المؤسسة_رقم_2 المؤسسة رقم 3 المؤسسة_رقم_3 المؤسسة رقم 4 المؤسسة_رقم_4 و تسمية هذا المجال المكون من العمودان اعلاه مثلا Arafa_Wrokarround ثم استخدام الدالة كما يلي فى معادلة ال Validation =INDIRECT(VLOOKUP(B52,Arafa_Wrokarround,2,0))
    1 point
  17. شديد يابو عبدالله .. تصدق الوان النموذج مريحة هادئة لا تشغل البصر النقطة 4 انا اختلف .. واوجه دوما بان يكون تصميم النماذج متجانس تماما بكل شيء ، بشرط ان يكون المفتوح له الصدارة . بحيث يكون هناك اطار محدد ثابت للنماذج المنبثقة لتمييزها عن النموذج الرئيس ، وان كان لا بد اختلاف فيكون على الرئيس فقط .. ملاحظتي على التصميم .. انه عطل عنصر تحكم الاطارات بحيث عطل زر الاغلاق والافضل اخفاء زر الاغلاق و يكون زر الاغلاق المصنوع متشابه في جميع النماذج من حيث النوع والمكان ملاحظات الاستاذ جعفر وملاحظاتي هي وجهة نظر محب ، ولا تنقص من قيمة العمل والجهد الذي بذل في سبيله .
    1 point
  18. تفضل فلترة للتقرير بناء على مربع قائمة ، عملته على المرفق الأول اختر بند او اكثر ثم افتح التقرير ، للعلم استعلام التقرير جعلته بداخل التقرير والنموذج الفرعي كذلك ولكني لم اكمله Dim stDocName As String Dim strCriteria As String stDocName = "الصباحية والمسائية" strCriteria = "1" strCriteria = strCriteria & filtering(Me.cbo1, "EAAQAH", "'") DoCmd.OpenReport stDocName, acPreview, , strCriteria 219_.rar
    1 point
  19. وعليكم السلام ورحمة الله 🙂 اهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، رجاء مراجعة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة بما انك طالب ، اذن خليني اشرح لك ، وانت تعمل الباقي للحصول على النتيجة ادناه 🙂 . 1. اعمل استعلام خاص للنموذج الذي على اليسار ، ولنحفظه باسم qry_Left ، واجعل هذا مصدر بيانات النموذج الذي على اليسار ، 2. اعمل استعلام خاص للنموذج الذي على اليمين ، ولنحفظه باسم qry_Right ، واجعل هذا مصدر بيانات النموذج الذي على اليمين ، 3. في الاستعلام qry_Right ، في معيار الحقل Employee_Name ، سنكتب (لا يوجد Not In) اننا لا نريد الاسماء من الاستعلام qry_Left ، وهذا هو المعيار: not in(Select Employee_Name From qry_Left) 4. اغلق كل شيء ، وافتح من جديد ، وسترى النتيجة اعلاه 🙂 جعفر
    1 point
  20. وعليكم السلام 🙂 1. لازلت تستخدم بعض الصور المضمنه ، بدل ان تربطها عند حدث تحميل النموذج ، 2. هناك نموذج لا توجد طريقة لإغلاقة ، 3. الالوان وحجم الخط والوان الخط ، مو مناسبين لي (يا اخي انا حر في مزاجي 😁) ، 4. لما تفتح نموذج ، ويكون امام نموذج آخر ، فيكون فيه تلاحم وتخالط في الالوان ، بينما احب ان يكون النموذج ظاهر وواضح بشخصيته ، 5. النموذج frmReceive&Return ، اسمه غلط ، فلا يجب استعمال علامة & في الاسم ، وكذلك فيه اخطاء ، فإذا ما كنت تريده ، احذفه او اعمل على الاسم علامة مثل frmReceive&Return_OLD وبالتالي تعرف انك استبدلته بنموذج آخر ، وانك تحتفظ به مؤقتا ، 6. صحيح تقدر تستعمل Me.Filter ، ولكن تجربتي جعلتني انتقل الى فلتر/تصفية الاستعلام ، والسبب انك يجب ان تتأكد ان Me.Filter فارغ وقت فتح النموذج ، بينما اذا كان عندك Filter ثم فتحت النموذج في وضع Layout ، فان الاكسس يحفظ معلومات الفلتر ضمن النموذج (نفس الشيء بالنسبة للصور كذلك) ، ويجب عليك حذفه وحفظ النموذج مرة اخرى ، 7. انا مو من محبي Set fso = CreateObject("scripting.filesystemobject") إلا في حالات نادرة (مثل لمعرفة مسار سطح المكتب) ، لأنك تضيف اوامر خارجية على الاكسس ، بينما هناك اوامر من الاكسس نفسه لمعظم اوامر fso (لا تنسى ، كل امر في الكود يستهلك قوة من المعالج CPU ويأخذ حيز من الذاكرة المؤقته RAM ، فلماذا هذه الاضافة) ، 8. اذا بتجعل هذا البرنامج في شبكة ، ويكون فيه واجهة على كل كمبيوتر ، وتكون الجداول على السيرفر/الشبكة ، ففي نفس السيرفر او مسار الجداول نضع مجلد الصور ، فعليه الامر Application.CurrentProject.Path يعطيك مسار الواجهة وليس الجداول ، وللحصول على مسار الجداول ، انظر هنا : جعفر
    1 point
  21. حسب ما فهمت .. قمت بعمل زر في النموذج لإضافة السجلات ووضعت له الكود التالي : Private Sub EnterBtn_Click() Dim ID As String Dim N, X As Integer ID = Me.bar N = Me.n_istimara.Value For X = 1 To N DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO istimaraALL ( bar, m, istimaracode ) SELECT '" & ID & "', " & X & " , 'istimaracode Here' ;" DoCmd.SetWarnings True Next X Me.istimarabassemSubform.Requery End Sub ليعطيك النتيجة 🙂 : وللعلم : أنت وضعت istimaracode كشرط أساسي (مطلوب) لإضافة السجلات بالأسفل ، لذلك يحتاج تعدلها في الكود وتضع القيمة التي تريدها في المكان المحدد هنا : DoCmd.RunSQL "INSERT INTO istimaraALL ( bar, m, istimaracode ) SELECT '" & ID & "', " & X & " , 'istimaracode Here' ;" أو أن تلغي خيار أنه حقل "مطلوب" من خيارات الجدول istimaraALL .. وتضيفها بنفسك لاحقا في النموذج . المرفق : 1358524440_.rar
    1 point
  22. السلام عليكم مشاركه مع اخوانى واساتذتى جزاهم الله خيرا اتفضل ان شاء الله يكون ماتريد بالنسبه للتعديلات تمت فى اضافه المتغيرات التاليه فى الوحده النمطيه UserModule User_Name User_ID ثم فى زر الدخول فى الفورم frm-UserLogon تم اسناد القيم للمتغيرات User_Name = Me.user User_ID = Me.user.Column(1) ثم فى فورم MAIN عند الفتح تم اسناد قيم المتغيرات للحقول Me.Text17 = User_ID Me.us = User_Name بالتوفيق test AMA.rar
    1 point
  23. السلام عليكم ورحمة الله فى الكود الاول اجعل آخر سطرين هكذا End With Call Macro2
    1 point
  24. Private Sub Worksheet_Activate() Dim e, ws As Worksheet For Each ws In ThisWorkbook.Worksheets If ws.Name <> Me.Name Then ws.Visible = xlSheetVeryHidden End If Next ws For Each e In Array("1", "2") Worksheets(e).Visible = xlSheetVisible Next e End Sub
    1 point
  25. وعليكم السلام هذة محاولة مني فلدي تجربة سابقة في ذا النوع من البرامج JOB.rar
    1 point
  26. الاخ الفاضل جمال وجدت الحل عبر البحث فى المنتدى وقد ارفقته لك ايضا New Microsoft Excel Worksheet.rar
    1 point
×
×
  • اضف...

Important Information