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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. حياك الله 🙂 وشكرا على الهدية الجميلة 🙂 جعفر
  2. المختصر المفيد : 1. اذا كان عندك على الاقل استعلامين/جدولين ، كل واحد يعمل بطريقته وبسجلاته ، يعني قد يكون عندك استعلام عادي به معايير ، واستعلام آخر به مجاميع ، واستعلام جدولي ثالث .... ، او بدل ما يكون الاستعلام جاهز ، ممكن مباشرة نكتب SQL الاستعلام في استعلام التوحيد ، مثل: 2. الشرط الوحيد هو ان يكون عدد الحقول نفسه لجميع الاستعلامات اللي تريد توحدها 🙂 3. ودمج الاستعلامات يكون عن طريق الامر Union ، والذي به لا تحصل على سجلات متكررة ، بينما الامر Union All ، يعطيك كل السجلات. 4. استعلام التوحيد الذي عملناه من الخطوة 3 ، يُعتبر استعلام عادي ، والذي يمكن ان تعمل استعلام جديد وتستعمل استعلام التوحيد كمصدر لبيانات الاستعلام الجديد ، للعلم ، استعلام التوحيد بطيء بالمقارنه مع بقية انواع الاستعلامات 🙂 جعفر
  3. نعم انا متابع مجهود احوي محمد ابوعبدالله ، ولكني اردت المشاركة بطريقة اخرى للحل 🙂 جعفر
  4. اخي عبد اللطيف 🙂 اعطنا ما عندك ، وخلينا نمشي معاك خطوة بخطوة 🙂 جعفر
  5. السلام عليكم 🙂 هنا كانت نفس المشكلة جعفر
  6. شكرا اخي احمد على المساعدة 🙂 اخي صلاح : عندي هذه المكتبة . لما يشتغل البرنامج على الاوفيس 2003 اولا ، تلقى ان الرقم الموجود عندك هو 12 وهو للاوفيس 2003 (وياريت تعمل صورة منه لنا) ، ولكن لما تشغله على الاكسس 2007 ، فيصير رقمه 13 (وياريت تعمل صورة منه لنا) ، ولما تشغله على الاوفيس 2003 مرة اخرى ، سترى ان هناك كلمة MISSING (وياريت تعمل صورة منه لنا) ، فقم بإلغاء الاختيار ، واختار الرقم 12 : Microsoft Access 12.0 Object Library ، احفظ البرنامج ن اخرج منه ، ثم شغله مرة ثانية ، وشوف اذا اشتغل. جعفر
  7. انا لا اعرف الفرنسية !! ولكن السؤال ، 1. لماذا تفتح البرنامج على اكسس 2007 ، ثم تفتح نفس البرنامج على اكسس 2003 ؟ 2. هل تحصل على هذه الرسالة لما تفتح البرنامج على اكسس 2007 او 2003 ؟
  8. انا ما اجتني اي رسالة ، والنموذج menu فتح بدون اي اخطاء . رجاء تعمل صورة من رسائل الخطأ
  9. رجاء تعطي توضيح اكثر ، فانا لا املك اكسس 2003
  10. وعليكم السلام 🙂 اين المشكلة؟ جعفر
  11. وعليكم السلام 🙂 من هنا : https://www.tek-tips.com/viewthread.cfm?qid=900952 يكون الكود: Public Function getMyIP() Dim myWMI As Object, myobj As Object, itm Set myWMI = GetObject("winmgmts:\\.\root\cimv2") Set myobj = myWMI.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True") For Each itm In myobj getMyIP = itm.IPAddress(0) Exit Function Next End Function ونناديه من النموذج او اي مكان في البرنامج هكذا : A = getMyIP جعفر
  12. ولأن الاسم موجود في النموذج الرئيسي ، فيصبح الكود: =DLookUp("[lastofsale_price]","last_sale_price","[type]='" & [Type] & "' And [name]='" & Forms!sale!name & "'") جعفر
  13. لا طبعا ، لا اتفق معاك 🙂 يا اعمل الشغل صح ، ويا اسهر الليل واخليه يشتغل صح 🙂 لوسمحت ، وقبل ان ترفض رأيي ، انزل القاعدة التالية https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=102103 واعمل اي تغيير مثل طلبك ، وجرب طلبك 🙂 قاعدة البيانات اعلاه تحتوي على 189,450 سجل (يعني بعد حوالي 5 سنوات قد تصل عدد سجلاتك الى هذا العدد) ، وشوف الوقت اللي يأخذه البرنامج منك لتنفيذ Loops اعلاه ، يا اخي ، ولا يهمك ، بعد ان تحسب الوقت اعلاه ، احذف نصف السجلات اعلاه ، واحسب الوقت ، طيب ولا تزعل ، الزبون ما بتوصل سجلاته الى 100000 بعد 5 سنوات ، كذلك احذف النصف وجرب على 50000 سجل 🙂 قصدي من هذا المثال ، انه لا يمكن لزبون ان يقبل هذا التأخير في برنامجه ، وبعد كل اغلاق !! جعفر
  14. اها اذن المعيار هو: 1. المادة 2. للعميل الفلاني فيصبح الكود A = dlookup("[LastOfsale_Price]","last_sale_price","Type='" & me.Type & "' And [الاسم] = '" & me.الاسم & "'") جعفر
  15. عفوا اخي نبراس ، قصدك الاستاذ Sandanet في هذا الموضوع 🙂 جعفر
  16. نعم ، حدث تحديث الحقل للسجل الذي يعمل عليه فقط ، الاستعلام اسرع ، لا علاقة بالنموذج في ادخال/تحديث البيانات ، فانت في الكود لا تشير الى اي شيء في النموذج ، وانما عملك مباشرة مع الجدول/الاستعلام ، نعم ، Requery ، سيجعل النموذج يأخذ احدث بيانات الجدول ، ويقوم بأي عمليات حسابية اخرى وقت فتح النموذج ، وإلا ، فلا فائدة منه ، الذهاب الى آخر سجل ثم العودة لأول سجل ، هو فقط لكود Recordset وليس للنموذج ، مافي فرق بين الجدول والاستعلام ، ولكن هذا كله له علاقة في السجل نفسه فقط ، فيجب ان نحدث هذه الحقول في هذا السجل ، ولن يأخذ حدث التحديث هذا اكثر من جزء من الثانية لتحديث هذه الحقول الاربعة ، ثم السؤال الآخر هو ، لماذا Loop مرتين ، فيمكنك دمجهما في Loop واحد 🙂 جعفر
  17. وعليكم السلام 🙂 يمكنك حذف هذين السطرين في آخر الكود : rs.MoveFirst rs.MoveLast . انت تقوم بتحديث جميع سجلات الجدول ، كلما تغلق النموذج ، ليش !! الطريقة الصحيحة هي تحديث جميع سجلات الجدول اول مرة بطريقتك ، ثم لاحقا تضع كود لكي يحدث السجل الذي انت عليه. السؤال الآخر ، ليش ما تعمل استعلام تحديث ، وتضع اوامر الـ IF في وحدة نمطية ، بيكون اسرع 🙂 جعفر
  18. وعليكم السلام 🙂 الطريقة الصحيحة في برمجة اي شيء ، هو: 1. يكون عندك بيانات لبعض السجلات (على الاقل 3) ، 2. بالورقة والقلم ، تحل المسألة ، سطر بسطر ، فتعرف طريقة العمل ، 3. تطبق ما عملته في 2# على بيانات 1# في ملف اكسل او وورد مثلا، 4. تبدأ تبرمج وتحول الكلام الى كود 🙂 شوف وين توقف ، اعطنا نتائج عملك ، وخلينا نساعدك 🙂 جعفر
  19. ووالديك بالرحمة ان شاء الله 🙂 جعفر
  20. تفضل 🙂 تعديل في الكود اعلاه ، فيصبح: Select qry_1.A1, qry_1.B1, qry_1.C1 from qry_1 UNION ALL Select qry_2.iName, "" , qry_2.iSection from qry_2 ORDER BY qry_1.A1 . . وطبعا ممكن يكون احد الاستعلامين او كلاهما : استعلام مجاميع ، استعلام جدولي ... جعفر 1156.Union_qry.accdb.zip
  21. وعليكم السلام 🙂 هذا ابسط استعلام 🙂 يكون عندك استعلامين ، كل واحد يعمل بطريقته وبسجلاته ، الشرط الوحيد هو ان يكون عدد الحقول نفسه لجميع الاستعلامات اللي تريد توحدها 🙂 ودمج الاستعلامات يكون عن طريق الامر Union ، والذي به لا تحصل على سجلات متكررة ، بينما الامر Union All ، يعطيك كل السجلات. مثال: الاستعلام qry_1 فيه الحقول A1 و B1 و C1 ، بينما الاستعلام qry_2 فيه الحقلين iNames (وبه بيانات نفس اللي في الحقل A1) و iSections (وبه بيانات نفس اللي في الحقل C1) يعني الحقل B1 لا يوجد له حقل مشابه في qry_2 : استعلام التوحيد يصبح: Select qry_1.A1, qry_2.B1, qry_1.C1 from qry_1 union all Select qry_2.iName, "" , qry_2.iSection from qry_2 Order By qry_2.iName جعفر
  22. شغلك صحيح ، فقط احذف حقل الاسم من الاستعلام 🙂 جعفر
  23. في النموذج الفرعي عندك حقل باسم Text60 وتسميته "اخر سعر بيع" وفيه نفس المعادلة التي ذكرتها انا اعلاه ، ولكن بدل ان يكون المعيار هو الاسم ، انت عملت المعيار Type وهو الاصح ، لأننا نطلب قيمة مواد. . انت عملت هذا الحقل مخفي ، وانا فقط اظهرته لك : . فالمعادلة صحيحة 🙂 ولكن ، الاستعلام last_sale_price . هل انت محتاج الى حقل الاسم في المجاميع ، يعني هل يهمك آخر قيمة تم بيعها لفلان ، لأن هذا يعمل تكرار بدون سبب !! . جعفر
  24. وعليكم السلام 🙂 تفضل (رجاء مراجعة اسم حقل الاسم) : A = dlookup("[LastOfsale_Price]","last_sale_price","[الاسم] = '" & me.الاسم & "'") ولكنه سيأخذ او قيمة فقط واللي هي 150 ، لذلك يجب ان تعمل فرز صحيح للاستعلام ، حتى تكون القيمة دائما الاولى 🙂 جعفر
×
×
  • اضف...

Important Information