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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      16

    • Posts

      9,814


  2. خالد الرشيدى

    خالد الرشيدى

    الخبراء


    • نقاط

      6

    • Posts

      889


  3. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      6

    • Posts

      13,165


  4. محمود_الشريف

    محمود_الشريف

    الخبراء


    • نقاط

      5

    • Posts

      1,846


Popular Content

Showing content with the highest reputation on 15 فبر, 2017 in all areas

  1. ايوه ، كده ويلا بلاش جعفر
    2 points
  2. في نسخة الاكسس الانجليزية (التي استعملها انا) ، نستخدم الفاصلة ، بينما في النسخة العربية يجب استخدام الفاصلة المنقطة (;) ، فتصبح المعادلة: Expr1: Format([number1];"00") & " " & Format([number2];"00") جعفر
    2 points
  3. أخى الحبيب الأستاذ / الشهابي بوركتم وجزيتم خير الخير ============= الأستاذ / ابو محمد عاطف بالنسبة لصفحة الدور الثانى ، الزرين ( ناجح وراسب ) على أى اساس يتم الترحيل حتى يتم عمل اللازم تجد بالمرفقات الملف مطبق به كود الأستاذ الحبيب / الشهابي ،، فيما يختص بالترحيل لصفحة الدور الثاني الصف الأول الابتدائي .rar
    2 points
  4. السلام عليكم الكود يعمل بشكل جيد حيث يقوم الكود أولاً بإخفاء كل الأعمدة K:IZ ثم بعد ذلك يظهر الأعمدة من K:P ... ماذا يحدث معك بالضبط أو ما المشكلة التي تصادفك؟ إذا كنت من مستخدمي أوفيس 2003 (أمتنع عن الاستمرار في المشاركة في الموضوع حيث أنني لا أمتلك نسخة أوفيس 2003)
    2 points
  5. أخي العزيز / أبو محمد عاطف ضع هذا الكود في موديول لترحيل الدور الثاني وأربطه بزر ( ترحيل لرصد دور الثاني ) في ورقة ( شيت آخر العام A3 ) إذا كان الأمر كذلك سنكمل ترحيل الناحجين والراسبين إذا كان هناك تعديل أو خطأ قم بالإشارة إليه حتى يتم التعديل والتصحيح إن شاء الله Sub ترحيل() Application.EnableEvents = False Application.ScreenUpdating = False Application.Calculation = xlManual Dim LR, y As Integer Sheets("رصد الدور الثاني").Range("A13:AG1000").ClearContents LR = Range("c10000").End(xlUp).Row y = 13 For i = 13 To LR If Cells(i, 33).Value = "دور ثان في" And Cells(i, 3) <> 0 Then Range("a" & i).Resize(1, 33).Copy Sheets("رصد الدور الثاني").Range("a" & y).PasteSpecial xlPasteValues Application.CutCopyMode = False y = y + 1 End If Next i With Sheets("رصد الدور الثاني").Range("a13:a1000") .FormulaR1C1 = "=IF(RC[2]=0,"""",SUBTOTAL(3,R13C3:RC[2]))" .Value = .Value End With Sheets("رصد الدور الثاني").Activate Application.Calculation = xlAutomatic Application.ScreenUpdating = True Application.EnableEvents = True End Sub
    2 points
  6. السلام عليكم ورحمة الله استاذ خالد الرشيدى مجرد مرورك هو شرف
    2 points
  7. السلام عليكم الحمدلله ، البرنامج شبه جاهز ، وقبل ان اضعه في مشاركة ، عندي طلب: هل هناك موقع معين تريدونا نعمل الشرح عليه؟ اذا الجواب نعم ، اعطونا الرابط جعفر
    2 points
  8. السلام عليكم ورحمة الله وبركاته كنت بصدد عمل برنامج " دليل هاتف " فصادفتني بعض المشاكل باستخدام القوائم فأردت عمل شئ من التغيير في استعمال القوائم حتى هداني الله الى فكرة بأستخدام الاكواد والحمد لله انجزتها ولكنها تبقى في بدايتها وامكانية تطويرها واردة واحببت ان اشارككم بها لعل اجد من ارائكم بعض الامور التي قد تفيد بهذا الشأن هنا ملف يحتوي على صفحة من البرنامج مع احتوائه على القائمة المذكورة اخوكم عماد الحسامي
    1 point
  9. بسم الله الرحمن الرحيم وبه نستعين إخوانى الاعزاء السلام عليكم ورحمته الله وبركاته بناءا على طلب أحد الزملاء الافاضل بهذا الصرح المبارك عبرالخاص وحتى تعم الفائده للجميع أقدم لسيادته وللساده الاعضاء هذا البرنامج وهو يصلح للسادة العاملين بمصانع القطاع الخاص حيث تم ربط الاجر بالحضور والانصراف ويتم التسجيل هنا بصفة يومية وعلى مدار شهرالاستحقاق لكل عامل وهو مقسم على ثلاثة مراحل حسب وضع كل عامل بهذا المصنع المرحلة الاولى مرتبطة بالاجر الاساسى الشهرى المتفق عليه وهو محدد بعدد الساعات الاصلية للعمل المرحلة الثانية مرتبطة بالاجرالاضافى وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل المرحلة الثالثة مرتبطة بالاجرالاضافى للسهرات الليلية وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل يشمل البرنامج أيضا الجزاءات التى تقع على العامل ويمكن تعديلة حسب نظام كل شركة يشمل البرنامج أيضا اأيام الغياب لكل عامل بالشركة ففى حالة سماح أيا من رصيد العامل لآجازنه الاعتيادية أو أجازنه العارضة فلايتم خصم أية مبالغ من هذا العامل إلا فى حالة نفاذ تلك الارصدة فتقع عليه أيام الغياب بالخصم يشمل أيضا السلف الذى يتقاضاها العامل على مدارالشهرعلى أن يتم خصمها من اجمالى راتبه اليومى وهناك المزيد نسألكم الدعاء.... تقبوا وافر احترامى .... وجزاكم الله خيرا
    1 point
  10. هذا الملف خاص بكسر حماية الشيت فقط لاغير
    1 point
  11. السلام عليكم ورحمة الله تعالى وبركاته استاذتى الكرام فضلا وكرما ممكن مساعدة المرفق فى الاصل لاستاذى الجليل ومعلمى القدير الاستاذ ابو خليل السؤال بخصوص وضع شرط على هذه الرسالة المعدلة عند اختيار نعم أو لا الشرح موضح داخل المرفق msgBox arabic.rar
    1 point
  12. أخى فى الله الأستاذ // أبو الحسن معذرة لتأخري فى الرد عليكم فلم ألحظ طلبكم بالمرفقات الملف به ما تريد يوجد فورم بإسم MZM مربوط بزر فورم 2 مرتبات2.rar
    1 point
  13. أخي العزيز / أبو محمد عاطف أولا جزاء الله خير الأستاذين القديرين محمود الشريف وياسر خليل خير الجزاء على مشاركتهم لنا في الموضوع ثانياً : ما فهمته من الصورة أنك تريد عند ترحيل الدور الثاني ترك سطر فارغ فوق كل طالب اللي تم ترحيله نفس ما في الصورة فقط ترك السطر الفارغ فقط لم يتم هذا الكود بعد التعديل لترك سطر فارغ Sub ترحيل() Application.EnableEvents = False Application.ScreenUpdating = False Application.Calculation = xlManual Dim LR, y As Integer Sheets("رصد الدور الثاني").Range("A13:AG1000").ClearContents LR = Range("c10000").End(xlUp).Row y = 14 For i = 13 To LR If Cells(i, 33).Value = "دور ثان في" And Cells(i, 3) <> 0 Then Range("a" & i).Resize(1, 33).Copy Sheets("رصد الدور الثاني").Range("a" & y).PasteSpecial xlPasteValues Application.CutCopyMode = False y = y + 2 End If Next i With Sheets("رصد الدور الثاني").Range("a13:a1000") .FormulaR1C1 = "=IF(RC[2]=0,"""",SUBTOTAL(3,R13C3:RC[2]))" .Value = .Value End With Sheets("رصد الدور الثاني").Activate Application.Calculation = xlAutomatic Application.ScreenUpdating = True Application.EnableEvents = True End Sub إذا كان تريد ترحيل بآلية أخرى ممكن توضيحها وبالنسبة لترحيل الناجحين والراسبين من ورقة الدور الثاني ممكن توضيح آلية الترحيل
    1 point
  14. وعليكم السلام تفضل يا زعيم MessageBoxH Me.hwnd resalh = MsgBox("subject", 1 + r_msg, "titel") If resalh = 1 Then MsgBox "Yes was selected" Else MsgBox "No was selected" End If جعفر
    1 point
  15. انت في الاستعلام عندك الحقل: Expr1: [number1] & " " & [number2] فاستبدله بالحقل Expr1: Format([number1],"00") & " " & Format([number2],"00") وصلى الله وبارك انا اتعمد احيانا ان لا اضع المرفق ، حتى يكون فهم الموضع اعمق جعفر
    1 point
  16. جرب هذا الماكرو الخفيف Sub reset_all_values() ActiveSheet.Cells.Value = ActiveSheet.Cells.Value End Sub
    1 point
  17. وعليكم السلام انت في الجدول جعلت الحقلين يظهرون بصيغة رقمين ، لأنك استعملت التنسيق 00 ، فهو تنسيق وليس رقم ، يعني: اذا كان الرقم في الحقل هو 5 ، وبالتنسيق يظهر لك 05 ، فعند البحث عن الرقم هذا ، او وضع معيار في الاستعلام ، فالمعيار لا يكون 05 ، وانما يكون 5) فاستعمل التنسيق في الاستعلام كذلك ، لتحصل على الرقمين ، لكل حقل بطريقة منفصلة ، هكذا: Format([number2],"00") وبالنسبة الى الحقلين معا: Expr1: Format([number1],"00") & " " & Format([number2],"00") جعفر
    1 point
  18. لم أفهم عن ماذا تسأل ان كنت تسأل كيفية العمل ذكرتها بالسابق وإن كنت تسأل عن ماذا يفعل هذا الملف من عنوان الموضوع وما سجل فيه ( كسر حماية الشيت وليس كامل الملف )
    1 point
  19. اتفضل جرب ووافيني بالنتيجة انا استخدمت هذا الكود Dim nTikrar As Integer nTikrar = DCount("[رقم الموظف]", "حضور", _ "[رقم الموظف]=" & Me.ID & _ " And [التاريخ] = #" & Date1 & "#") If nTikrar > 0 Then MsgBox ("هذا الاسم مسجلة اليوم") Exit Sub Else Me.idh = Me.ID Me.timeh = Me.time1 Me.dateh = Me.Date1 Refresh DoCmd.GoToRecord , , acNewRec End If منع تكرار التسجيل.rar
    1 point
  20. السلام عليكم هذا موضوع قد يفيد الجميع بخصوص الطلبات المرتبطة بمثل هذا الأمر رابط الموضوع من هنا
    1 point
  21. وجزيت خيراً أخي بمثل ما دعوت لي الحمد لله الذي بنعمته تتم الصالحات
    1 point
  22. قد يكون الملف للقراءة فقط (احتمال) ، وقد يكون الملف معطوب وبه خلل (احتمال آخر) قم بإرفاق الملف الذي به المشكلة للإطلاع عليه ومحاولة معرفة السبب بدلاً من الدخول في جو التخمينات والاحتمالات التي لا تنتهي
    1 point
  23. حدد ورقة العمل بالكامل اعمل كليك يمين ثم اختر نسخ Copy ثم كليك يمين مرة أخرى واختر Paste Special ومن النافذة التي ستظهر معك اختر Values تقبل تحياتي
    1 point
  24. عندك في استعلام بين التاريخين هذا الكود مرتين و مع شرط نعم >=[Forms]![frmDate2]![txtStartDate] And <=[Forms]![frmDate2]![txtEndDate] بدلها بهذا Between[Forms]![frmDate2]![txtStartDate] And [Forms]![frmDate2]![txtEndDate]
    1 point
  25. السلام عليكم أستاذ علي تم تنظيف البرنامج من مخلفات تجاربي السابقة ، وهذه النتيجة بعد عمل الفاصل بين الاسابيع: . وهذا كود المسافة بعد يوم الخميس Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) If Me.DayName = "الخميس" Then Me.Detail.Height = 0.5 * 1440 Else Me.Detail.Height = Me.DayName.Height End If End Sub صافي يا لبن جعفر 459.4.AbsentLate-10-12-2016.accdb.zip
    1 point
  26. Sub ExpiredDate() ' التعريف بالمتغيرات Dim LastRow As Integer Dim LastRow2 As Integer Dim Datecounter As Integer Dim SnNo As Integer Dim Mtype As String Dim Cname As String Dim Idate As Date Dim PhNo As String Dim Adrs As String Dim Nvisit As Date ' وبها عدد الايام Worksheets("الواجهه").Range("A1") ليساوي القيمة الموجوده بالخليه expd تعيين قيمة المتغير ' المراد تشغيل التنبيه بعدها expd = Worksheets("الواجهه").Range("A1") 'Date ليساوي تاريخ اليوم MyDate تعيين قيمة المتغير MyDate = Date ' قيمه مبدئية للمتغير = 0 هذا المتغير يعبر عن عدد نتائج البحث Datecounter = 0 ' من نتائج البحث القديم لاستقبال نتائج البحث الجديد .Range("A7:G1001") تفريغ النطاق Worksheets("الاشعارات").Range("A7:G1001").ClearContents 'ليساوي صفر وهو الشكل الذي يظهر به عدد النتائج وذلك ايضاً لتهيئته لاستقبال الرقم الجديد Counterlbl ايضا ارجاع ال Worksheets("الواجهه").Counterlbl.Caption = 0 'امرا ً طبيعيا ان نحدد نطاق البيانات التى سيتعامل معها الكود ولكي يتم هذا الامر نحن نعرف صف البدايه ولا نعرف صف نهايه البيانات ' ولهذا وجب استخدام احد الاكواد لتحديد صف نهايه البيانات LastRow = Worksheets("بيانات أساسيه").Range("A6").End(xlDown).Row ' صف نهايه البيانات LastRow حلقه من خلالها نجعل الكود يقوم بالبحث بدءا من الصف السادس وهو صف بدايه البيانات الي ' والمحدد قيمته من خلال الكود السابق ' بدايه الحلقه الصف السادس وبعد ذلك وبعد التحقق منه وتنفيذ ما هو اتي زكره سترجع مره اخري لتفحص الصف السابع وهكذا - ' بمعني ان الكود سيرجع الى هذه النقطه مره اخرى وكانها ساقيه ترجع وتذهب الى نقطه البدايه حتي الانتهاء من كافة الصفوف 'LastRow والمحدده هنا من الصف السادس الى اخر صف به بيانات For irow = 6 To LastRow With Worksheets("بيانات أساسيه") 'في حاله تساوي تاريخ الاستحقاق مع تاريخ اليوم ' If (.Cells(irow, 7) - MyDate) >= expd Then 'في حاله اظهار التواريخ المتساويه والاقل من تاريخ اليوم If (MyDate - .Cells(irow, 7)) <= expd And (MyDate - .Cells(irow, 7)) > 0 Then ' اذا تحقق هذا الشرط بهذا السطر سنقوم بتخزين قيم هذا الصف داخل متغيرات لنسخها بعد ذلك الى صفحه الاشعارات ' يعبر عن رقم الصف المنطبق عليه الشرط و الاعداد من واحد الي سبعة يعبر عن الاعمدة irow حيث SnNo = .Cells(irow, 1) Mtype = .Cells(irow, 2) Cname = .Cells(irow, 3) Idate = .Cells(irow, 4) PhNo = .Cells(irow, 5) Adrs = .Cells(irow, 6) Nvisit = .Cells(irow, 7) ' زياده عداد النتائج ب 1 Datecounter = Datecounter + 1 'Datecounter تعيين قيمة الشكل الموجود ب شيت الواجهه الذي يعبر عن عددالنتائج ليساوي قيمة المتغير Worksheets("الواجهه").Counterlbl.Caption = Datecounter 'Moving data................. With Worksheets("الاشعارات") ' اول صف فارغ في شيت الاشعارات يمكننا نسخ البيانات اليه LastRow2 = Worksheets("الاشعارات").Cells(.Rows.Count, "A").End(xlUp).Row + 1 ' نسخ البيانات .Cells(LastRow2, 1) = SnNo .Cells(LastRow2, 2) = Mtype .Cells(LastRow2, 3) = Cname .Cells(LastRow2, 4) = Idate .Cells(LastRow2, 5) = PhNo .Cells(LastRow2, 6) = Adrs .Cells(LastRow2, 7) = Nvisit ' انتهاء عمليه النسخ End With ' نهايه جمله الشرط End If ' انتهي البحث من الصف المحدد End With ' هنا نقطه نهايه الساقيه عن اللفه الاولي اى الصف السادس بدءا من اختبار الشرط به ' وتخزين قيمة داخل متغيرات حال تحقق الشرط به ونسخها الى صفحه الاشعارات ' وتبدأ الان لفه جديده ويذهب الكود لاعلي مره اخري عند نقطه البدايه ' For irow = 6 To LastRow ' ولكن هذه المره لفحص الصف السابع ' وعند الانتهاء منه ويوصل الكود لهذه النقطه سيرجع الى نقطه البايه لفحص الصف الثامن وهكذا 'End Sub لن يذهب الكود الى نقطه البداية مره اخرى وانما سيذهب لتنفيذ السطر التالى LastRow وعند الوصول الى اخر صف به بيانات Next irow 'انتهي End Sub ربنا يبارك لك استاذ خالد .... الكود مع الشرح للمحترم استاذ خالد الرشيدي
    1 point
  27. السلام عليكم اخي زيزو بارك الله فيك -- اسمح لي ان اضع هذه المشاركه فقد اعددتها قبل ان اري مشاركة حضرتك EAA_1_2017.rar
    1 point
  28. السلام عليكم ورحمة الله تفضل EAA_1_2017.rar
    1 point
  29. السلام عليكم شكرا جزيلا على هذا الدعاء الطيب وجزيتم بمثله والشكر لصاحب الكود فلم اقم سوي بتعديل الشرط -- فجزاه الله عنا خيراً اليكي الملف بعد التعديل المطلوب وبه شرح الكود -- عله يمثل إضافه لمن اراد تغيير نطاق البيانات فيمكنه تعديل الكود تنبيـــــهات بتعديلات خالد الرشيدي.rar
    1 point
  30. السلام وعليكم السلام ورحمته الله وبركاته الاستاذ الفاضل أخى / خالد الرشيدى لا أعتقد أن الامر له علاقه بنسخة الاوفيس بقدر ماهو متعلق بهذة الاضافة الاحترافيه المميزة لاننى بحثت عن هذا الموضوع على أكثر من موقع منها العربية والعالميه ومنها تغيير نسخة الاوفيس دون جدوى أشكر حضرتك لاهتمامك البالغ بهذا الموضوع **** تم إنهاء الموضوع بهذا الحل الرائع من الرائع والمتميز خلقا وأدبا وعلما *** شاكر فضل حضرتك **** وجزاكم الله خيرا
    1 point
  31. اتفضل اخي الكريم اليك ملف بصيغة mdb اي 2003 من الممكن ان نستخدم هذا الكود بدل الكود عند تحميل شيكات الاجلة لان في كود الاعلاه حين تضغط لا بيعمل ميني مايز النموذج الشيكات والان ان شاء الله الكود تمام On Error Resume Next Dim nCount As Integer nCount = DCount("[ID]", "Q1") If nCount > 0 Then If MsgBox("ÇÞÊÑÈ ãæÚÏ ÕÑÝ " & " ( " & nCount & " ) " & "ÔíßÇÊ , åá ÊÑíÏ ãÊÇÈÚÊå ", vbYesNo + vbMsgBoxRight, "ÊäÈíå") = vbYes Then Forms!shikatacila.SetFocus DoCmd.Minimize DoCmd.OpenForm "FRM1", acNormal Else Exit Sub End If ' MSGBOX End If ' NCOUNT > 0 End Sub شيكات.rar
    1 point
  32. جراك الله كل خير استاذ خالد الرشيدي الملف تمام فقط ارجو ان يكون صف البدايه في صفحه بيابات اساسيه من الصف الخامس وصفحه الاشعارات من الصف السادس في ملف الاخير المرفق من استاذ باصر جراك الله كل خير
    1 point
  33. السلام عليكم اخي الكريم اعتقد الامر له علاقه بنسخة الاوفيس -- ومع ذلك جرب الملف التالى search+111_2_2.rar
    1 point
  34. السلام عليكم ورحمة الله استاذ سليم . الملف سليم اليك المف كشف12.rar
    1 point
  35. اين المحترم استاذ محمد الدسوقي ليشاركنا شرف اكمال البرنامج
    1 point
  36. الأخ الكريممصطفى أبو العينين السلام عليكم جرب المعادلة التالية ضعها فى الخلية R3 =IF(OR(C10="اداري";C10="فني";C10="عامل";C10="عقد")=TRUE;IF(Q10<=400;0;Q10*15/100);IF(Q10<=300;Q10*10/100;IF(Q10<=500;Q10*15/100;Q10*20/100))) واسحبها نزولاً
    1 point
  37. هذا هو الملف وبه اذا اراد احد ان يستعلم عن تاريخ محدد فقط او التاريخ المحدد والتواريخ التي تسبقه لعل احد يستفيد منه تنبيـــــهات بتعديلات خالد الرشيدي.rar
    1 point
  38. اخي الكريم جرب الملف بعد التعديل -- عله المطلوب تماما If (MyDate - .Cells(irow, 7)) <= expd And (MyDate - .Cells(irow, 7)) > 0 Then تنبيـــــهات_3_3.rar
    1 point
  39. وعليكم السلام هذه الرسالة معناها انك لم تقم بنسخ هذا السطر الى برنامجك: err_coodkindexchange_AfterUpdate: والذي يأتي بعد Exit Sub (كما هو في الكود الذي وضعته انا اعلاه) جعفر
    1 point
  40. السلام عليكم زكرت حضرتك ان إسلام وجب ان يظهر لانه اقل من تاريخ اليوم ب 4 ايام وهو الرقم المدخل -- هناك عقود في تواريخ اقل من تاريخ اليوم ايضا ب 3 ايام او اقل او اكثر غير اسلام لم تذكر حضرتك هل كان من المفترض ادراجها ام لا ؟؟ عموما اليك التعديل التالي عله المطلوب -- لن يظهر سوي التاريخ الاقل من تاريخ اليوم ب -- العدد المدخل -- ايام If (MyDate - .Cells(irow, 7)) = expd And (MyDate - .Cells(irow, 7)) > -1 Then تنبيـــــهات_3.rar تقبل تحياتي وشكري علي هذه الكلمات الرائعه من حضرتك -- شكرا جزيلا
    1 point
  41. السلام عليكم تفضل ياسيدي ، الارقام الموجودة في النموذج الفرعي على اليمين ، لن تظهر في مربع التحرير والسرد في النموذج الفرعي على اليسار كلما تقوم بتحديث الحقل coodkindexchange في النموذج Frm_Monthexchange ، فيقوم بعمل مصدر بيانات لمربع التحرير والسرد coodkind في النموذج الفرعي الآخر tbl_kind : Private Sub coodkindexchange_AfterUpdate() On Error GoTo err_coodkindexchange_AfterUpdate DoCmd.RunCommand acCmdSaveRecord Dim rst As DAO.Recordset mySQL = "SELECT id, coodkind, Namekind" mySQL = mySQL & " FROM tbl_kind " Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC If i = 1 Then mySQL = mySQL & "WHERE coodkind <> " & rst!coodkindexchange Else mySQL = mySQL & " And coodkind <> " & rst!coodkindexchange End If rst.MoveNext Next i 'Debug.Print mySQL Forms!tabl!tbl_kind.Form!coodkind.RowSource = mySQL Forms!tabl!tbl_kind.Form!coodkind.Requery rst.Close: Set rst = Nothing Exit Sub err_coodkindexchange_AfterUpdate: If Err.Number = 2455 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub Private Sub Form_Current() Call coodkindexchange_AfterUpdate 'Me.N00 = [Forms]![tabl]![Totail] - Me.Total3 End Sub جعفر 581.tbl.accdb.zip
    1 point
  42. اليك هذا استخدم ارقام 1 و 2 و 3 اللي فوق الحروف اي في الاعلى الكيبور وليس الارقام الجانبي فتح نماذج بواسطة ارقام.rar
    1 point
  43. السلام عليكم ورحمة الله وبركاتة بالمرفق مثال النموذج الاساسي tabl يحتوي على حقل الرصيد والنموذج الفرعي يحتوي الحقل total = حقل الرصيد المتاح بالنموذج الاساسي حقل عدد الكمية المطلوبة وحقل سعر الوحد عند ادخال العدد المطلوب يكون العدد المطلوب * سعر الوحدة الناتج: اجمالي مبلغ العدد المطلوب وضعت كود لمقارنة اجمالي المبلغ بمبلغ الرصيد المتاح بالنموذج الاساسي قبل التحديث لضبط العملية الحسابية وعدم وجود اخطاء If Me!Total3 > Me![total] Then MsgBox "مبلغ العدد المدخل اكبر من الرصيد المتاح ", vbCritical, "رسالة خطأ" DoCmd.CancelEvent required_numberexchange.Undo لكن للاسف يتم حسم المبلغ في حقل total قبل تنفيذ الكود فتظهر رسالة بأن مبلغ العدد المطلوب اكبر من مبلغ الرصيد المتاح امل المساعدة في جعل الكود يتأكد من العدد ويقارن المبلغ بالرصيد المتاح قبل التحديث TOTE.rar
    1 point
  44. السلام عليكم تفضل هو تقرير واحد ، وكل شئ معتمد على qry_Temp التي يكون فيها التواريخ كاملة ، والتقرير مصدره qry_T22 ، واستعملت الاستعلام المشروط ، حيث جعلت الايام التي ليس فيها غياب ولا تأخير ، باللون الاصفر: . جعفر 459.3.AbsentLate-10-12-2016.accdb.zip
    1 point
  45. جرب هذا الملف تم حماية خلايا المعادلات لعدم العبث بها عن طريق الخطأ يمكتك زيادة البينات حتى الصف 150(يمكن التعديل الى اي رقم تريد) Expiry Dates salim.rar
    1 point
  46. السلام عليكم شكرا اخوتي انس ورضوان (زين سمعنا صوتك) وشفان بدأ الموضوع بعدة اسأله عن امكانية التعامل مع مواقع الانترنت ، ومعظمها عن ارسال البيانات ، وخصوصا لموقع الشموس ، وعلمنا اخونا العود أبوخليل (اعرف انه متابع الموضوع) ، ان الاسئلة المتكررة يعمل لها موضوع مستقل فيه حل شامل ، فانا هنا احاول الاقتداء به بدأ المشروع بشئ صغير ، ولكن الفكرة توسعت ، لتسهل العمل على المبرمج ، وليكون البرنامج مكتبة لعمل العديد من الاشياء. وهذا جعلني اتأخر عن بعض زبائني ، والتأخر عن مساعدة العديد من الشباب في المنتدى عمل البرنامج (طبعا لن يشتغل البرنامج على جميع المواقع ، وبالتجربة فقط تستطيع معرفة عمله مع اي موقع) : النموذج frm_browse يحتوي على كائن Microsoft Web Browser ، ندخل اسم الموقع في حقل التحرير والسرد url_Address ، ثم نضغط على الزر Go ، والذي سيفتح الموقع في النموذج ، الزر "احفظ csv" سيقرأ كائنات الموقع ، ويحفظها في ملف بصيغة csv (اللي ينفتح بالاكسل) ، ثم يفتح الملف ، وفيه 3 طرق لإرسال معلومات الى اي حقل تريد (يعني يعطيك الكود جاهز لكل حقل) ، والافضل استعمال الكود الذي في العمود "Usage2" ، حيث ليست جميع الحقول لها اسماء (للأسف في بعض المواقع) ، الأفضل منه هو زر "احفظ في الجدول" ، حيث سيحفظ كائنات الموقع في جدول في البرنامج نفسه ، والاصعب كان حفظ بيانات حقول التحرير والسرد ، الزر "تجربة ارسال ، استيراد بيانات لهذا الموقع" يفتح النموذج frm_Send_Get وبه كائنات الموقع واسماء الحقول (حسب اسمها في البرنامج وليس حسب ظهورها على الموقع ، فالموضوعين غير مرتبطين للأسف في برمجة الموقع) ، هنا نستطيع تجربة اذا كان بإمكاننا ارسال/استرجاع بيانات الى/من الموقع ، فتختار اي حقل تريد التجربة عليه ، وتكتب المعلومة التي تريد ارسالها في الحقل Send_Data وبالنقر المزدوج على المعلومة ، وسترى انه تم ادخالها في الحقل في الموقع ، ويمكن التأكد كذلك من امكانية قراءة معلومة الحقل بالنقر المزدوج على الحقل Get_Data ، بالنسبة لحقول التحرير والسرد ، فالموضع يختلف قليلا ، لأنه مثل الاكسس ، فالمعلومة التي تراها في اختيار المعلومة من هذا الحقل ، ليس معناه انها نفس القيمة التي تُحفظ في الجدول ، لذلك يجب عليك النقر المزدوج على الحقل ref_Name ، فيعطيك قائمة الاختيار من النموذج frm_Options ، وبالنقر المزدوج على الحقل Opt_Value ستنتقل المعلومة الى الحقل في Send_Data النموذج frm_Send_Get ، والتي يمكن بالنقر المزدوج عليها ان ترسل المعلومة الى الحقل في الموقع (وهنا قد لا ترى التغير على الحقل في الموقع ، ولكن عندما تنقر عليه لتختار ، ستجد ان الاختيار قد تم حسب رغبتك) ، الى هنا وقلت اقفل الموضوع!! ولكن ، صحيح اني قدمت كود ارسال/استرجاع البيانات ، وبيانات حقول التحرير والسرد ، ولكن العملية متعبة في عمل جدول جديد ونموذج وكود لكل حقل ووو ، فرأيت ان اواصل العمل ، ولم اعرف مدى صعوبة عمل والتحكم بقاعدة بيانات خارجية ، فلهذا السبب اخذ وقت اكثر بكثير مما كنت اعتقد: فعملت الزر "عمل نموذج ارسال ، استيراد بيانات لهذا الموقع" ، والذي يفتح النموذج frm_Make_Form ، والزر السحري فيه هو "اعمل النموذج" ، والذي: يعمل قاعدة بيانات جديدة ، حسب اسم المسار واسم البرنامج الذي تريده ، ويعمل فيها 4 جداول تحتوي على معلومات الموقع وكائناته ، ثم يعمل النموذج الخاص بهذا الموقع ، وتكون الحقول جاهزة للإستعمال ، مع حقول التحرير والسرد ، ويكون هذا النموذج مربوطا بالجدول tbl_web_Send_Get ، النموذج به زر "Send Data" وزر "Retrieve Data" ، العمل المتبقي هو عمل الكود لهذه الازرار ، بحيث يكون النموذج جاهز 99% ، وتبقى الـ 1% للتعديلات التي قد لا اطالها. ارفق لكم البرنامج الى حيث وصلت (مع العديد من الاشياء التجريبية التي يجب حذفها في البرنامج النهائي) ، وان شاء الله لما اكمل الجزء المتبقي ، سارفقه كذلك (حينها سأقوم بتعديل الموضوع من اول وجديد ، ترتيب الصور مع الشرح والمرفق الاخير ، ان شاء الله). جعفر Pre-WebBrowser.zip
    1 point
×
×
  • اضف...

Important Information