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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. ولأن الاسم موجود في النموذج الرئيسي ، فيصبح الكود: =DLookUp("[lastofsale_price]","last_sale_price","[type]='" & [Type] & "' And [name]='" & Forms!sale!name & "'") جعفر
  2. لا طبعا ، لا اتفق معاك 🙂 يا اعمل الشغل صح ، ويا اسهر الليل واخليه يشتغل صح 🙂 لوسمحت ، وقبل ان ترفض رأيي ، انزل القاعدة التالية https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=102103 واعمل اي تغيير مثل طلبك ، وجرب طلبك 🙂 قاعدة البيانات اعلاه تحتوي على 189,450 سجل (يعني بعد حوالي 5 سنوات قد تصل عدد سجلاتك الى هذا العدد) ، وشوف الوقت اللي يأخذه البرنامج منك لتنفيذ Loops اعلاه ، يا اخي ، ولا يهمك ، بعد ان تحسب الوقت اعلاه ، احذف نصف السجلات اعلاه ، واحسب الوقت ، طيب ولا تزعل ، الزبون ما بتوصل سجلاته الى 100000 بعد 5 سنوات ، كذلك احذف النصف وجرب على 50000 سجل 🙂 قصدي من هذا المثال ، انه لا يمكن لزبون ان يقبل هذا التأخير في برنامجه ، وبعد كل اغلاق !! جعفر
  3. اها اذن المعيار هو: 1. المادة 2. للعميل الفلاني فيصبح الكود A = dlookup("[LastOfsale_Price]","last_sale_price","Type='" & me.Type & "' And [الاسم] = '" & me.الاسم & "'") جعفر
  4. عفوا اخي نبراس ، قصدك الاستاذ Sandanet في هذا الموضوع 🙂 جعفر
  5. نعم ، حدث تحديث الحقل للسجل الذي يعمل عليه فقط ، الاستعلام اسرع ، لا علاقة بالنموذج في ادخال/تحديث البيانات ، فانت في الكود لا تشير الى اي شيء في النموذج ، وانما عملك مباشرة مع الجدول/الاستعلام ، نعم ، Requery ، سيجعل النموذج يأخذ احدث بيانات الجدول ، ويقوم بأي عمليات حسابية اخرى وقت فتح النموذج ، وإلا ، فلا فائدة منه ، الذهاب الى آخر سجل ثم العودة لأول سجل ، هو فقط لكود Recordset وليس للنموذج ، مافي فرق بين الجدول والاستعلام ، ولكن هذا كله له علاقة في السجل نفسه فقط ، فيجب ان نحدث هذه الحقول في هذا السجل ، ولن يأخذ حدث التحديث هذا اكثر من جزء من الثانية لتحديث هذه الحقول الاربعة ، ثم السؤال الآخر هو ، لماذا Loop مرتين ، فيمكنك دمجهما في Loop واحد 🙂 جعفر
  6. وعليكم السلام 🙂 يمكنك حذف هذين السطرين في آخر الكود : rs.MoveFirst rs.MoveLast . انت تقوم بتحديث جميع سجلات الجدول ، كلما تغلق النموذج ، ليش !! الطريقة الصحيحة هي تحديث جميع سجلات الجدول اول مرة بطريقتك ، ثم لاحقا تضع كود لكي يحدث السجل الذي انت عليه. السؤال الآخر ، ليش ما تعمل استعلام تحديث ، وتضع اوامر الـ IF في وحدة نمطية ، بيكون اسرع 🙂 جعفر
  7. وعليكم السلام 🙂 الطريقة الصحيحة في برمجة اي شيء ، هو: 1. يكون عندك بيانات لبعض السجلات (على الاقل 3) ، 2. بالورقة والقلم ، تحل المسألة ، سطر بسطر ، فتعرف طريقة العمل ، 3. تطبق ما عملته في 2# على بيانات 1# في ملف اكسل او وورد مثلا، 4. تبدأ تبرمج وتحول الكلام الى كود 🙂 شوف وين توقف ، اعطنا نتائج عملك ، وخلينا نساعدك 🙂 جعفر
  8. ووالديك بالرحمة ان شاء الله 🙂 جعفر
  9. تفضل 🙂 تعديل في الكود اعلاه ، فيصبح: 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
  10. وعليكم السلام 🙂 هذا ابسط استعلام 🙂 يكون عندك استعلامين ، كل واحد يعمل بطريقته وبسجلاته ، الشرط الوحيد هو ان يكون عدد الحقول نفسه لجميع الاستعلامات اللي تريد توحدها 🙂 ودمج الاستعلامات يكون عن طريق الامر 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 جعفر
  11. شغلك صحيح ، فقط احذف حقل الاسم من الاستعلام 🙂 جعفر
  12. في النموذج الفرعي عندك حقل باسم Text60 وتسميته "اخر سعر بيع" وفيه نفس المعادلة التي ذكرتها انا اعلاه ، ولكن بدل ان يكون المعيار هو الاسم ، انت عملت المعيار Type وهو الاصح ، لأننا نطلب قيمة مواد. . انت عملت هذا الحقل مخفي ، وانا فقط اظهرته لك : . فالمعادلة صحيحة 🙂 ولكن ، الاستعلام last_sale_price . هل انت محتاج الى حقل الاسم في المجاميع ، يعني هل يهمك آخر قيمة تم بيعها لفلان ، لأن هذا يعمل تكرار بدون سبب !! . جعفر
  13. وعليكم السلام 🙂 تفضل (رجاء مراجعة اسم حقل الاسم) : A = dlookup("[LastOfsale_Price]","last_sale_price","[الاسم] = '" & me.الاسم & "'") ولكنه سيأخذ او قيمة فقط واللي هي 150 ، لذلك يجب ان تعمل فرز صحيح للاستعلام ، حتى تكون القيمة دائما الاولى 🙂 جعفر
  14. السلام عليكم 🙂 اخي الفاضل ، فتحك مواضيع جديدة ، في حين ان لديك موضوع مفتوح بنفس السؤال: 1. مخالف لقوانين المنتدى: ممنوع نهائيا وبشكل قاطع تكرار الموضوع نفسه أو فتح موضوع جديد للمطالبة برد في موضوع سابق 2.انت تشتت افكارك ، فلكل مبرمج طريقة في البرمجة قد لا تتماشى مع برمجة المبرمج الآخر. هنا الاخ محمد ابو عبدالله لايزال يساعدك ، فرجاء الاستمرار هناك 🙂 جعفر
  15. المشاركة الاولى ، فيها الشرح وجميع الامور المرتبطة بالموضوع ، وكذلك البرنامج 🙂 جعفر
  16. حياك الله 🙂 نعم لها حل ، استعمل النموذج MainForm بدل Navigation Form ، وتقدر تحذف النماذج الفرعية فيه ، واعمل فيه اللي تريد. او اعمل برنامج جديد ، واعمل النموذج Navigation Form ، واعمل نسخ للكمبوبوكس وبقية الكائنات اللي في النموذج MainForm والصقها في Navigation Form ، ثم اضف النماذج الفرعية. بكلام آخر ، يا يكون عندك النموذج MainForm او Navigation Form 🙂 طبعا ممكن عمل اشكال اخرى ، بس الموضوع يتعقد اكثر 🙂 جعفر
  17. للأسف الشديد ما صار لي الشرف اتعرف عليه ، وما شاء الله نار على علم ، بصماته موجودة ولا تندثر ، ومواضيعه اصيله مو مأخذها نسخ/لصق من مواقع اجنبية (ومو عيب اخذها من مواقع اجنبية والتطوير عليها ، ولكن العيب عدم ذكر المصدر) جعفر 🙂
  18. عملت تعديل بسيط ، بحيث النموذج MainForm يكون النوذج الرئيسي ، ولا تحتاج الى النموذج Navigation Form ، وتقدر تضيف النماذج الفرعية كما تشاء 🙂 جعفر 1154.مساح.accdb.zip
  19. وعليكم السلام 🙂 الآن نظرت الى الموضوع بالكامل ، واضطررت ان اغير الامر ، لأن الامر السابق يصدر تسمية الحقول (باللغة العربية) ، بينما لما نستوردهم ، لما يعمل مقارنة اسماء الحقول بالتي موجودة في الجدول ، يرى انها مختلفة ، فتظهر رسالة تقول بأن الحقل الفلاني غير موجود في الجدول !! هذا الكود الجديد: Private Sub cmd_Delete_Records_Click() Dim strSQL As String strSQL = "DELETE [tbl_Teacher].* FROM [tbl_Teacher];" DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True End Sub Private Sub cmd_Export_Click() Dim ImportFileName As String ImportFileName = CurrentProject.Path & "\tbl_Teacher" & ".xls" DoCmd.TransferSpreadsheet acExport, 8, "tbl_Teacher", ImportFileName, True End Sub Private Sub cmd_Import_Click() Dim ImportFileName As String ImportFileName = CurrentProject.Path & "\tbl_Teacher" & ".xls" DoCmd.TransferSpreadsheet acImport, 8, "tbl_Teacher", ImportFileName, True End Sub جعفر 1153.db2.zip
  20. وعليكم السلام 🙂 نعم يوجد ، تفضل : جعفر
  21. السلام عليكم 🙂 وبالمشاركة مع اخي محمد 🙂 الرسالة واضحة ، الاكسس لم يجد الحقل: cboServeyorID في النموذج MainForm فتأكد انه موجود ، وانك مختار له قيمه 🙂 جعفر
  22. السلام عليكم 🙂 اخي @خالد سيسكو شكرا لك على مجهودك في الرد ومساعدة بقية الاعضاء ، وإدارة المنتدى تقول لك ، شكرا ، وحياك الله مع الفريق الازرق 🙂 جعفر
×
×
  • اضف...

Important Information