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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      6

    • Posts

      9,756


  2. مسفر

    مسفر

    الخبراء


    • نقاط

      5

    • Posts

      365


  3. Hawiii

    Hawiii

    03 عضو مميز


    • نقاط

      4

    • Posts

      209


  4. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      4

    • Posts

      4,357


Popular Content

Showing content with the highest reputation on 21 يول, 2021 in all areas

  1. الله يعطيك العافية معلمي واستاذي جعفر لك مني كل الشكر والتقدير والاحترام ولكل الزملاء والأعضاء
    2 points
  2. اعدت رفع الملف في مشاركة اخوي مسفر 🙂 طبعا الرجال مدلّعني واسم الملف على اسمي له بونص 😁 جعفر
    2 points
  3. وهذا مثال لجدول غير مرتبط ومربعات نصوص غير منظمة jjafferr.accdb
    2 points
  4. تفضل يا غالي التجربة 1 - جدول به 3 حقول يحتوي على بيانات ما يقرب من ربع مليون سجل 2 - كود متنوع يقوم باستعلام الحاق بثلاث طرق 3 - النتائج مبهرة '1 CurrentDb.Execute "DELETE * FROM Table3" X = Timer DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO Table3 ( text1, text2, text3 ) SELECT Table1.text1, Table1.text2, Table1.text3 FROM Table1;" DoCmd.SetWarnings True XTime = Timer - X XTime = Format(XTime, "#0.0####") Debug.Print "Time1 " & "==========> " & XTime '2 CurrentDb.Execute "DELETE * FROM Table3" X = Timer CurrentDb.Execute "INSERT INTO Table3 ( text1, text2, text3 ) SELECT Table1.text1, Table1.text2, Table1.text3 FROM Table1;" XTime = Timer - X XTime = Format(XTime, "#0.0####") Debug.Print "Time2 " & "==========> " & XTime '3 CurrentDb.Execute "DELETE * FROM Table3" X = Timer CurrentDb.Execute "Query1" XTime = Timer - X XTime = Format(XTime, "#0.0####") Debug.Print "Time3 " & "==========> " & XTime '4 CurrentDb.Execute "DELETE * FROM Table3" X = Timer Dim db As DAO.Database Dim rs As DAO.Recordset Dim rst As DAO.Recordset Set rs = CurrentDb.OpenRecordset("Table1") Set rst = CurrentDb.OpenRecordset("Table3") For i = 1 To rs.RecordCount rst.AddNew rst.Fields(0) = rs.Fields(0) rst.Fields(1) = rs.Fields(1) rst.Fields(2) = rs.Fields(2) rst.Update rs.MoveNext Next rs.Close Set rs = Nothing rst.Close Set rst = Nothing XTime = Timer - X XTime = Format(XTime, "#0.0####") Debug.Print "Time4 " & "==========> " & XTime Debug.Print "================================" db9.rar تحياتي
    2 points
  5. لا داعي لاستخدام اسم اليوم يكفي استخدام رقمه sat_Days = DCount("HoliDays", "tblHoliDays", _ "weekday(HoliDays)=7 and " & _ "HoliDays between #" & begdate & "# and #" & enddate & "#")
    1 point
  6. عليكم السلام استاذ قاسم نعم كلام سليم استاذ ولد جدة السلام عليكم لا اقصد اظهاره في النموذج وانما في الجدول حسب طلبك test_t1.rar
    1 point
  7. السلام عليكم استاذي العزيز حسام انا اقترحت ال composite key لا ن حسب طلب الاخ صاحب المشاركة بأن كل موظف (منسق) ممكن ان يؤدي اكثر من عمل .. والعمل الواحد يؤديه اكثر من منسق واعتقد فعلا حقل الخدمة غير ضروري فمصدر الصف له جدول غير موجود.. تحياتي لك
    1 point
  8. يعطيك العافيه استاذي .. انا ارغب باضافه الخدمات للموظفين ،، اما اظهرها عن طريق مربع التحرير والسرد في النموذج ممكن لاحقا اعملها .. الي احتاجه طريقه تسهل علي عمليه اضافه الخدمات للموظفين بطريقه سهله حيث عدد الموظفين كبير وايضا الخدمات .. يسعدك ربي يعطيك العافيه استاذ مسفر .. بحسب المثال الي ارسلته يمكن ربط الموظف باكثر من خدمة ولكن لا يمكن ربط الخدمه باكثر من موظف ..
    1 point
  9. شكرا جزيلا اخوي ابو عبدالله ، مجهود تُشكر عليه 🙂 الكود يقوم بنسخ هذه البيانات الى الجدول Table3 . وهكذا الوقت الذي يستغرقه كل نوع من الاكواد : Time1 ==========> 3.16797 <= DoCmd.RunSQL Time2 ==========> 3.14453 <= CurrentDb.Execute Time3 ==========> 3.72656 <= CurrentDb.Execute "Query1" Time4 ==========> 9.07031 <= CurrentDb.OpenRecordset ================================ Time1 ==========> 3.11328 Time2 ==========> 3.13672 Time3 ==========> 3.07422 Time4 ==========> 6.05859 . وتم حذف اول محاولة ، حيث في المرة الاولى ، يحتاج الاكسس الى عمل Compile لجملة SQL التي سيستعملها في الاستعلام : . هكذا ممكن عمل اتصال مع قاعدة بيانات خارجية (لاحظ هذا استعلام الحاقي) : . ونقدر نستعملة كإستعلام (وهو الاسرع) ، او جملة SQL مع docmd.RunSQL او "currentdb.execute "qry_tbl_BB_Append 🙂 ويمكن استعمال Source Connect Str ، لإضافة متطلبات الربط ، وهذا احد المواقع اللي يعطينا جملة الربط : Access connection strings - ConnectionStrings.com جعفر
    1 point
  10. السلام عليكم لا اعلم ان كنت قد فهمتك ام لا..حسبما فهمت انك تريد حقل من داخل الجدول يحسب الفرق بين تاريخين وهذا يمكن من خلال حقل محسوب وتضع الفرق بين التاريخين ([ToDate]-[FromDate])...لكن حسب ما اعلم انه لايمكن استخدام دالة DateDiff داخل حقل محسوب
    1 point
  11. ضع في القيمة الإفتراضية للحقل التالي =[YEAR] استبدل الكود الموجود في حقل رقم الفاتورة بعد التحديث بالكود التالي On Error Resume Next Dim varFilter As Variant varFilter = Null If Not IsNull(Me.txtsearch) Then varFilter = (varFilter) & "[iBill_Number] LIKE '" & Me.txtsearch & "'" End If If Not IsNull(Me.Combo97) Then varFilter = (varFilter + " AND ") & "[YEAR] =" & Me.Combo97 End If With Me.Form If Not IsNull(varFilter) Then .DataEntry = False .Filter = varFilter .FilterOn = True Else .DataEntry = True .FilterOn = False End If .Requery End With
    1 point
  12. وعليكم السلام ورحمة الله وبركاته غير خاصية POP UP الى NO data.rar تحياتي
    1 point
  13. مع أني لي دارية بدوال التاريخ للنظام ولكنها لم تخطر على بالي ، استخدامك للدالة DateDiff مكافئ للدالة التي نصحت بها ولكن أدخلت عليها نفس التعديل للدالة الأولى لتصبح كالتلي: Function WeekDiff(ByVal Date1 As Date, _ ByVal Date2 As Date, _ WkDay As VbDayOfWeek) As Long If Date1 <= Date2 Then Date1 = Date1 - 1 Else Date2 = Date2 - 1 End If WeekDiff = Abs(DateDiff("ww", Date1, Date2, WkDay)) End Function
    1 point
  14. ارفع لي ملفك مرة أخرى بإصدار 2007 أو أقل.
    1 point
  15. سبحان الله ، هذا المنتدى يحتاج إلى محكمين من خارجه حتى لا يضيع الطلبة والمبتدئون. هذا مثال للدالة التي نصحت بها ودالة الدكتور ، أرجو لصقه ثم تشغيل الإجاراءين لمعرفة الفرق بين النتائج ووقت التنفيذ. كود في قمة الإتقان لم أرى شبيها له قبله ولن يأتي بعده ، واللي يحب يعترض يقابلني سنة 2500 ميلادي. Function CountWkDay(ByVal Date1 As Long, _ ByVal Date2 As Long, _ WkDay As Byte) As Variant If Date1 <= Date2 Then Date1 = Date1 - 1 Else Date2 = Date2 - 1 End If Date1 = Fix((Date1 + (7 - WkDay)) / 7) Date2 = Fix((Date2 + (7 - WkDay)) / 7) CountWkDay = Abs(Date2 - Date1) End Function Function WkDayCount(VarDate As Date, enddate As Date) As Long 'دالة د. كاف يار Dim SFriday As Long Do While VarDate < enddate VarDate = DateAdd("D", 1, VarDate) If Weekday(VarDate, 2) = vbFriday Then SFriday = SFriday + 1 End If Loop WkDayCount = SFriday End Function Sub Test1() Dim Date1 As Date Dim Date2 As Date Date1 = DateSerial(2021, 7, 23) Date2 = DateSerial(2021, 7, 30) Debug.Print CountWkDay(Date1, Date2, vbFriday) Debug.Print WkDayCount(Date1, Date2) End Sub Sub Test2() Dim Date1 As Date Dim Date2 As Date Dim Start As Single Date1 = DateSerial(2021, 7, 23) Date2 = DateSerial(9000, 7, 25) Start = Timer Debug.Print CountWkDay(Date1, Date2, vbFriday), Timer - Start Start = Timer Debug.Print WkDayCount(Date1, Date2), Timer - Start End Sub
    1 point
  16. لا تظن ما ليس بي فلم أرد ولم أتحدث بسبب كلمة ( كما تريد ) لأنك قبل كل ذلك معلمي واستاذي وأقدرك واحترمك قبل كل شيء فالعين لا تعلى على الحاجب أما فهم المعنى فيختلف من إنسان إلى إنسان فعلماؤنا اختلفوا في كثير من الأمور كل حسب فهمه ألا نختلف انا وانت في فهم المقصد وأعتذر منك ومن الجميع لدخولنا في موضوع آخر
    1 point
  17. الاكسس يستعمل وحدة قياس في الكود تختلف عنه في وضع التصميم ، في الكود يستعمل وحدة قياس تويب Twip 1سم = 567 تويب 1بوصة = 1440 تويب . اخوي الدكتور حسين ، الظاهر بعدك ما خلصت من حلاوة العيد جعفر
    1 point
  18. تفضل جميع العناصر تبدء من الأعلا و ليس من الأسفل اي ماهي المسافة التي تريدها من رأس النموذج الى الأسفل (1) سم مثلا [TextBox].Top = 1000 تفضل هذا المثال test.accdb
    1 point
  19. تستعمل هذه الدوال مثل cells و offset و rows وغيرها الكثير في التحكم في الوصول لخلايا معينة حسب احتياجك وللعلم اي ثوابت يمكن استبدالها بقيم مثل sheets("mas") يمكن استبدالها ب sheets(1) إذا كان ترتيب شيت ماس هو الأول وهكذا
    1 point
  20. مازلت تتحفنا فنياً وادبياً اخوي خالد ، فجزاك الله خيرا 🙂 جعفر
    1 point
  21. نعم اتضح عدم تجاوز الأشهر المسددة مدة العقد جرب كتابة هذه المعادلة في الأشهر المسددة =IF(DATEDIF(M14,NOW(),"m")+1>L14,L14,DATEDIF(M14,NOW(),"m")+1) ومعناها إذا كان ناتج المعادلة أكبر من عدد شهور العقد فتكون قيمة الخلية عدد شهور العقد فقط ولا يزيد بالتوفيق
    1 point
  22. فعلا رقم 3 بديل Xlup .End(Direction) xlToLeft = 1 xlToRight = 2 xlUp = 3 xlDown = 4 أما عن رقم 2 فهو بديل من استعمال cells مرة أخرى ولكن على اعتبار أن آخر خلية في الصف هي 1,1 بمعنى جرب هذا الكود Worksheets(WS.Name).Cells(Rows.Count, 1).End(3).cells(2,1) ستجده يعطي نفس النتيجة وهي الانتقال للصف التالي 2 باعتبار الصف الحالي 1 والعمود الحالي 1 بالتوفيق
    1 point
  23. السلام عليكم تم عمل المطلوب في الملف المرفق... تجزئة الأعداد والنصوص.xlsx
    1 point
  24. بالنسبة للمطلوب الأول يمكنك استعمال دالة rank وبالنسبة للمطلوب الثاني يمكنك دمج الخلايا التي تحتوي على مواد الرسوب بالمعامل & والله أعلم
    1 point
  25. اخي الفاضل ، هذه الرسالة لا دخل لها بنسخة نظام التشغيل ، اذا تستعمل الاوفيس/الاكسس 2007 فأكثر ، اذا فتحت اي برنامج اكسس من مجلد غير موثوق به ، ستظهر لك هذه الرسالة 🙂 وفي الاكسس 2010 فما فوق ، لما تظهر لك هذه الرسالة ، يمكنك النقر على "تمكين المحتوى" ، ولن تظهر مرة اخرى ، حتى ولو لم يكن البرنامج في مجلد موثوق 🙂 جعفر
    1 point
×
×
  • اضف...

Important Information