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

jjafferr

أوفيسنا
  • Posts

    10020
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    408

كل منشورات العضو jjafferr

  1. وهاي طريقة ثانية EN2: Mid([Contact Name],1,InStr([Contact Name]," ")-1) جعفر
  2. وعليكم السلام 🙂 عندك الاسم الاول والاخير في حقلين منفصلين في الاستعلام Contacts Extended : . فلماذا تريد ان تربطهم وتفكهم مرة ثانية !! استعمل حقل First Name 🙂 جعفر
  3. الخطأ في الفرز لأنه كان يفرز حقل نص ، فاستبدلت الحرف A بالرقم 9999999999 (يعني رقم كبير) ، ثم استخدمت الدالة val لتحويل القيمة الى رقم : . ونفس الشيء في التقرير ، فطلعت النتيجة : . جعفر 1212.1.TEST_QUERY(1).accdb.zip
  4. تم عمل تغيير على الاستعلامات مصدر بيانات التقرير : . والنتيجة . جعفر 1216.visit.accdb.zip
  5. 1. طيب وشو النتيجة ، انت ارفقت ارقام ، ولازم تشرحها ، شو الصح وليش ؟ 2. هاي مو مقبولة (نعم مقبولة لهذا الموضوع) 🙂 3. ما منه فائدة بملاحظتك رقم 2 !! 4. حياك الله أبوآمنة 🙂 جعفر
  6. نعم ، انشئ استعلام خاص "بمعلومات المشرف" فقط ، ثم انشئ استعلام مجاميع لجدول "الزيارات" ، تجمع فيه الحقول m,q, ..... ثم اعمل استعلام ثالث ، تجمع فيه الاستعلامين اعلاه ، وهو يكون مصدر بيانات التقرير "معلومات المشرف" جعفر
  7. اخي بلال 🙂 هناك الكثير من المواضيع في المنتدى بخصوص طلبك ، واخوي @ابوخليل شارك في الكثير منها ، فياريت تعمل بحث ، وان شاء الله تحصل على اللي تريده ، فما في داعي لإعادة العمل مرة اخرى 🙂 جعفر
  8. حياك الله 🙂 على بركة الله 🙂 جعفر
  9. بالعكس ، الفكرة جدا جميلة ، وتُظهر براعة المبرمج وفهمه في تسهيل امور المستخدم 🙂 انا شفت مجموعة من البرامج ، لما يفتح البرنامج ، نرى نموذج فارغ (شاشة بيضاء) ، ولا يوجد اي شيء ممكن ان يعمله المستخدم سوى الخروج من النموذج !! بينما الفكرة هنا ، ان نغير اعدادات النموذج : لجعل النموذج يقبل ادخال البيانات me.DataEntry = True me.allowedits = true me.allowadditions = true . هكذا فيتحول النموذج الى نموذج ادخال بيانات 🙂 جعفر
  10. وعلشان يستفيد الجميع 🙂 1. بدأنا في الاستعلام ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : 2. في التقرير ، عينا ولنفس السبب ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : طبعا بإمكاننا ان نعطي الحقل اي اسم ، مثل ZZ ، ولكن حذاري ، فدائما استخدم اسم يعطي معنى للحقل/المتغير ، علشان بعد سنة لما تريد تعدل على الكود ، الاسماء تكون واضحة ولها معنى 🙂 جعفر
  11. السلام عليكم 🙂 لو تتبعت التاريخ لما يدخل في دالتي ، لوجدت انه غير الذي تم ارساله ، ولم استطع معرفة السبب !! لهذا السبب ، استعمل نفس دالة التجربة التي استعملتها انت ، ولكن ارسل التواريخ الى دالتي اولا ثم الى دالتك ، وسترى ان النتيجة صحيحة ، يعني : بدلا عن ارسال التواريخ الى دالتك اولا Debug.Print YMD_Diff(Date1, Date2) , YMDDif(Date1, Date2) ارسل التواريخ الى دالتي اولا Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) . جرب Sub Test2() Dim Date1 As Date Dim Date2 As Date Dim yy As Integer, mm As Byte, dd As Byte Debug.Print "YMDDif" ,"YMD_Diff" Date1 = DateSerial(1970, 2, 28) Date2 = DateSerial(1970, 3, 1) Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) Date1 = DateSerial(1970, 1, 31) Date2 = DateSerial(1970, 2, 27) Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) 'Debug.Print "--------------------" 'Debug.Print YMD_Diff(Date1, Date2, yy, mm, dd) 'Debug.Print yy, mm, dd 'Debug.Print "--------------------" 'Debug.Print YMD_Diff(Date1, Date2, yy, mm, dd, True) 'Debug.Print yy, mm, dd 'Debug.Print "--------------------" End Sub . لهذا السبب ، لما ارسلت التواريخ مباشرة الى الدالة ، كانت النتائج صحيحة : . ------------------------------------------------------------------------------------------------ ولكن هذا الكلام كله صار بسبب قولك : وفي الواقع تم اثبات ان الاكسس لا يعطي نتائج خطأ بين التاريخين ، وإنما الخطأ كان في دالتك اللي في اول مشاركة لك . وللعلم ، فتجاربك في مشاركتك الاخيرة ، ليست على دالتك الاصل (والتي اثارت كل هذا النقاش) ، وانما على دالتك التي قمت بتعديلها 🙂 ومثل ما قلت سابقا ، طريقة عمل دالتك جميلة 🙂 جعفر
  12. لا وانت الصادق ، قصدك واضح في مشكلة 🙂 كما ذكرت في مشاركتي السابقة ، الكود موجود في هذا الرابط : Public Function YMDDif(sDate1, sDate2) 'sdate1 earliest date sdate2 later Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date Dim D As Integer Dim M As Integer Dim Y As Integer iMonth = DateDiff("m", sDate1, sDate2) If Day(sDate1) > Day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) D = iDay M = iMonth Mod 12 Y = iMonth \ 12 YMDDif = CStr(Y) & " س/" & CStr(M) & " ش/" & CStr(D) & " ي" End Function جعفر
  13. جميل 🙂 انت استبدلت مكان الحقلين في الاستعلام ، بحيث وضعت الحقل "التسلسل داخل" الذي فيه القيم كاملة اولا ، ثم الحقل "التسلسل خارج" الذي القيم فيه غير كامله ثانيا : . ولكنك لم تنتبه الى ما قاله صاحب الموضوع : فجوابك يصلح للسيناريو الموجود حاليا ، ولكن لما يصير العكس ، فطريقتك لن تعمل 🙂 جعفر
  14. 1. عملك كان شيء جديد وجميل ، وقمنا بالاعجاب به ، 2. المشكلة انك تقول انها انها ليست دالتك ، بينما انت الذي قمت بعمل التغيير عليها ، فنتائجها خاضعة لتغييراتك ، لهذا السبب اردت ان اثبت لك ان دالتي الاصل (طبعا المأخوذة من مساعد الاكسس ، والتي عملت عليها تغييرات) تعطي النتائج الصحيحة. جعفر
  15. السلام عليكم 🙂 الكود باللون الاصفر يعمل تغيير معين في ريجستري الكمبيوتر (لا اعرف هذا التغيير) ، ولا علاقة له بالنسخ 🙂 جعفر
  16. من المعروف ان Null قيمته اقل من الارقام ، لذا يجب ان نحتال على الاكسس ، حتى نظهر الارقام (بالتسلسل التصاعدي) فوق الخانات الفارغة Null ، فاللي عملته للحقلين ، هو تغيير اسم الحقلين (بإضافة الرقم 2 عليهم) ، ثم عمل معادلة ، بحيث نطلب من اكسس ان يستبدل الخانة الفارغة بالحرف A : . والنتيجة تصبح مثل ما نريد : . والان في التقرير ، نطلب من الحقل ان يغير القيمة A الى فراغ (حتى نخفي A ) (رجاء ملاحظة تغيير اسماء الحقول مرة اخرى) ، مع استعمال الحقلين للفرز (انظر اسفل التقرير) : . والنتيجة : . جعفر 1212.TEST_QUERY.accdb.zip
  17. اخي حسام 🙂 ليش الاعتذار ، هي تجربة انت قمت نها !! جعفر
  18. حياك الله 🙂 معلش ، خذني على قدر عقلي ، فأنا فهمي ضعيف 🙂 واكتب لي مثال في الاكسل لوسمحت وارفقه هنا 🙂 شو الموجود حاليا ، وشو اللي لازم يصير 🙂 جعفر
  19. وعليكم السلام 🙂 وقد تستفيد من هذه الروابط : . جعفر
  20. وعليكم السلام 🙂 نفترض ان حقل اليوم هو iDate ، وحقل العطلة هو iLeave ، عليه ، ممكن نضع هذا الكود على حدث "بعد تحديث" iDate : select case me.iDate case "Friday" , "Saturday" , "الجمعة" , "الجمعه" , "السبت" me.iLeave ="عطله رسمية" else case me.iLeave ="" end select . اما اذا اردت ان تجعلها في استعلام ، فيمكن استعمال الكود التالي للحقل iLeave : iLeave: iif([iDate]="Friday" or [iDate]="Saturday" or [iDate]="الجمعة" or [iDate]= "الجمعه" or [iDate]="السبت" ,"عطلة رسمية" , "") جعفر
  21. السلام عليكم 🙂 الدالة موجودة في اكثر من موضوع ، منها : . وانا قلت: . . . لا تعليق لدي على دالة اخي Hawiii ونتائجها . ولكن هناك خطأ في حساب اخوي ابو تراب ، فالمواقع التالية اعطتنا هذه النتائج: . و . و . عندما ادخلت هذه التواريخ على دالتي الاصلية ، حصلت على نفس النتيجة : . هذا الكلام جدا خطير ، وغير مقبول على الاطلاق !! حيث ان معظم مؤسسات وشركات العالم قائمة في حساباتها على البرامج ، ولا يمكن ان يكون هناك خطأ حتى بمقدار ساعة واحدة ، وإلا فحقوق الناس ستذهب هباءً !! المؤسسات وشركات العالم تدفع الملايين على برامجها حتى لا تقع في مثل هذا الخطأ ، ونحن نرفع هذا الكود ، مثله مثل بقية الاكواد والبرامج التجريبية ، و نوادر وتجارب سنين ، بالمجان 🙂 شكرا للأخ الاستاذ @محمد طاهر ان وفر لنا هذا المنتدى ، و بالمجان ، لنساعد اخواننا في طلب العلم ، ونحصل على الثواب الجزيل 🙂 جعفر
×
×
  • اضف...

Important Information