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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وعليكم السلام 🙂 المشكلة مو في فتح التقرير ، ولا متغيرات ، وانما أمر اغلاق النموذج غير كامل ، لذا يجب ان يكون الامر هكذا : DoCmd.OpenReport "report name", acViewPreview DoCmd.Close acForm, "واجهه البرنامج",acsaveno او الافضل ان لا تذكر اسم النموذج بالاسم ، وانما بمناداة اسمه DoCmd.OpenReport "report name", acViewPreview DoCmd.Close acForm, me.name ,acsaveno جعفر
  2. وعليكم السلام 🙂 تم نقاش هذا الموضوع في الرابط التالي ، والذي به رابط آخر كذلك : جعفر
  3. وعليكم السلام 🙂 1- الكل 2- اي شيء بين هذه العلامتين هو نص 3- نهاية السجلات 4- مرجع ، سواء الى مكان السجل في النموذج ، او في نسخة سجلات النموذج (انظر الرقم 5) 5- اشارة الى نسخة من سجلات النموذج ، في ذاكرة الكمبيوتر المؤقته 6 و 7 - انواع المتغيرات ، وهنا شرح وافي للموضوع: جعفر
  4. السلام عليكم 🙂 . 1. اخوي محمد قصده: 2. في الواقع يمكن عرض تصميم النماذج والتقارير ، ولكن لا يمكن عرض الكود بما فيه الوحدات النمطية. 1. كان هناك برنامج (وتوقفت الشركة عن بيعه، واصبحت الشركة تقوم بالعمل مقابل مبلغ) يقوم بالسماح لدخول النماذج والتقارير في وضع التصميم ، ويمكنك حذف/اضافة (ولا يُنصح بالحذف، فقد يكون بالكود سطر يعتمد على الكائن الذي تم حذفه ، فتحصل على رسالة خطا لا حل لها ، نعم تستطيع ان تجعل هذا الكائن الغير مرغوب فيه ، تجعله مخفي) كائنات في النموذج/التقرير ، ولكن اذا اردت ان تستعمل حدث او كود لعمل ما ، فلا تستطيع عمل ذلك بالكود ، وانما تستطيع عمل ذلك بالماكرو ، 2. سبب عدم عمل الازرار لا علاقة له بالبرنامج ، وانما قد تكون فتحته في مجلد غير آمن ، ولم تضغط على زر تمكين الكود: جعفر
  5. السلام عليكم اخي ابو عبد الرحمن 🙂 رجاء لا ترفق مرفق فيه بيانات خاصة وحساسة ، لذلك فقد قمت بحذف المرفق (شكرا لأحد اخوتنا على الاشارة الى محتويات المرفق 🙂 ) ، واذا اردت ان ترفق شيء ، فرجاء حذف البيانات الحساسة واستبدالها ببيانات وهمية 🙂 جعفر
  6. وعليكم السلاك ورحمة الله وبركانه 🙂 ماشاءالله عليك باشمهندس ، وفي الوقت الصحيح في هذا الشهر الفضيل 🙂 جعفر
  7. وهاي طريقة ثانية EN2: Mid([Contact Name],1,InStr([Contact Name]," ")-1) جعفر
  8. وعليكم السلام 🙂 عندك الاسم الاول والاخير في حقلين منفصلين في الاستعلام Contacts Extended : . فلماذا تريد ان تربطهم وتفكهم مرة ثانية !! استعمل حقل First Name 🙂 جعفر
  9. الخطأ في الفرز لأنه كان يفرز حقل نص ، فاستبدلت الحرف A بالرقم 9999999999 (يعني رقم كبير) ، ثم استخدمت الدالة val لتحويل القيمة الى رقم : . ونفس الشيء في التقرير ، فطلعت النتيجة : . جعفر 1212.1.TEST_QUERY(1).accdb.zip
  10. تم عمل تغيير على الاستعلامات مصدر بيانات التقرير : . والنتيجة . جعفر 1216.visit.accdb.zip
  11. 1. طيب وشو النتيجة ، انت ارفقت ارقام ، ولازم تشرحها ، شو الصح وليش ؟ 2. هاي مو مقبولة (نعم مقبولة لهذا الموضوع) 🙂 3. ما منه فائدة بملاحظتك رقم 2 !! 4. حياك الله أبوآمنة 🙂 جعفر
  12. نعم ، انشئ استعلام خاص "بمعلومات المشرف" فقط ، ثم انشئ استعلام مجاميع لجدول "الزيارات" ، تجمع فيه الحقول m,q, ..... ثم اعمل استعلام ثالث ، تجمع فيه الاستعلامين اعلاه ، وهو يكون مصدر بيانات التقرير "معلومات المشرف" جعفر
  13. اخي بلال 🙂 هناك الكثير من المواضيع في المنتدى بخصوص طلبك ، واخوي @ابوخليل شارك في الكثير منها ، فياريت تعمل بحث ، وان شاء الله تحصل على اللي تريده ، فما في داعي لإعادة العمل مرة اخرى 🙂 جعفر
  14. حياك الله 🙂 على بركة الله 🙂 جعفر
  15. بالعكس ، الفكرة جدا جميلة ، وتُظهر براعة المبرمج وفهمه في تسهيل امور المستخدم 🙂 انا شفت مجموعة من البرامج ، لما يفتح البرنامج ، نرى نموذج فارغ (شاشة بيضاء) ، ولا يوجد اي شيء ممكن ان يعمله المستخدم سوى الخروج من النموذج !! بينما الفكرة هنا ، ان نغير اعدادات النموذج : لجعل النموذج يقبل ادخال البيانات me.DataEntry = True me.allowedits = true me.allowadditions = true . هكذا فيتحول النموذج الى نموذج ادخال بيانات 🙂 جعفر
  16. وعلشان يستفيد الجميع 🙂 1. بدأنا في الاستعلام ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : 2. في التقرير ، عينا ولنفس السبب ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : طبعا بإمكاننا ان نعطي الحقل اي اسم ، مثل ZZ ، ولكن حذاري ، فدائما استخدم اسم يعطي معنى للحقل/المتغير ، علشان بعد سنة لما تريد تعدل على الكود ، الاسماء تكون واضحة ولها معنى 🙂 جعفر
  17. السلام عليكم 🙂 لو تتبعت التاريخ لما يدخل في دالتي ، لوجدت انه غير الذي تم ارساله ، ولم استطع معرفة السبب !! لهذا السبب ، استعمل نفس دالة التجربة التي استعملتها انت ، ولكن ارسل التواريخ الى دالتي اولا ثم الى دالتك ، وسترى ان النتيجة صحيحة ، يعني : بدلا عن ارسال التواريخ الى دالتك اولا 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 . لهذا السبب ، لما ارسلت التواريخ مباشرة الى الدالة ، كانت النتائج صحيحة : . ------------------------------------------------------------------------------------------------ ولكن هذا الكلام كله صار بسبب قولك : وفي الواقع تم اثبات ان الاكسس لا يعطي نتائج خطأ بين التاريخين ، وإنما الخطأ كان في دالتك اللي في اول مشاركة لك . وللعلم ، فتجاربك في مشاركتك الاخيرة ، ليست على دالتك الاصل (والتي اثارت كل هذا النقاش) ، وانما على دالتك التي قمت بتعديلها 🙂 ومثل ما قلت سابقا ، طريقة عمل دالتك جميلة 🙂 جعفر
  18. لا وانت الصادق ، قصدك واضح في مشكلة 🙂 كما ذكرت في مشاركتي السابقة ، الكود موجود في هذا الرابط : 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 جعفر
  19. جميل 🙂 انت استبدلت مكان الحقلين في الاستعلام ، بحيث وضعت الحقل "التسلسل داخل" الذي فيه القيم كاملة اولا ، ثم الحقل "التسلسل خارج" الذي القيم فيه غير كامله ثانيا : . ولكنك لم تنتبه الى ما قاله صاحب الموضوع : فجوابك يصلح للسيناريو الموجود حاليا ، ولكن لما يصير العكس ، فطريقتك لن تعمل 🙂 جعفر
  20. 1. عملك كان شيء جديد وجميل ، وقمنا بالاعجاب به ، 2. المشكلة انك تقول انها انها ليست دالتك ، بينما انت الذي قمت بعمل التغيير عليها ، فنتائجها خاضعة لتغييراتك ، لهذا السبب اردت ان اثبت لك ان دالتي الاصل (طبعا المأخوذة من مساعد الاكسس ، والتي عملت عليها تغييرات) تعطي النتائج الصحيحة. جعفر
×
×
  • اضف...

Important Information