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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      22

    • Posts

      9935


  2. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      12

    • Posts

      7058


  3. essam rabea

    essam rabea

    الخبراء


    • نقاط

      11

    • Posts

      634


  4. kaser906

    kaser906

    الخبراء


    • نقاط

      6

    • Posts

      1411


Popular Content

Showing content with the highest reputation on 11/13/19 in all areas

  1. تفضل سيدي الفاضل 🙂 - لا يوجد تعديل على التقارير ، فهي حسب تصميمك ، - النموذج frm_Do_Report_604 يقوم بإضافة السجلات المطلوبة الى الجداول المؤقته الثلاث ، والتي يبدأ اسمها بـ tbl_tmp_rpt ، والكود في النموذج حلو وسهل الفهم 🙂 ، - اعتمد في اخذ البيانات من الاستعلامات qry_604 و qry_tblPME ، لذلك فانت حر التصرف في عمل المعايير التي تريدها ، واذا اردت تغيير اسماء الحقول ، فيجب تغييرها في استعلامات الإلحاق والجداول المؤقتة 🙂 - عملي ليس له علاقة بالكود الموجود سابقا في التقارير . في الواقع ، الآن البرنامج صار عادي وسهل التعامل معاه 🙂 آه وقبل ان انسى: جعفر 1135.3.Consumable Material.accdb.zip
    3 points
  2. السلام عليكم هذه طريقة للحصول على الوقت و التاريخ الحاليين للأنترنت حسب توقيت غرينتش نستخدم هذه الوحدة النمطية: Function GetUCTTimeDate() As String Dim UTCDateTime As String Dim arrDT() As String Dim http As Object Dim UTCDate As String Dim UTCTime As String Const NetTime As String = "https://www.time.gov/" On Error Resume Next Set http = CreateObject("Microsoft.XMLHTTP") On Error GoTo 0 http.Open "GET", NetTime & Now(), False, "", "" http.send UTCDateTime = http.getResponseHeader("Date") UTCDate = Mid(UTCDateTime, InStr(UTCDateTime, ",") + 2) UTCDate = Left(UTCDate, InStrRev(UTCDate, " ") - 1) UTCTime = Mid(UTCDate, InStrRev(UTCDate, " ") + 1) UTCDate = Left(UTCDate, InStrRev(UTCDate, " ") - 1) GetUCTTimeDate = UTCDate & " " & UTCTime End Function و نقوم باستدعاء الناتج هكذا MsgBox GetUCTTimeDate()
    2 points
  3. وعليكم السلام 🙂 نعم ، هذا الكود سيخبرك عدد السجلات msgbox Dcount("*","اسم الاستعلام") جعفر
    2 points
  4. بس إجابة ساحقة ماحقه .. ولم نوفك حقك حبيبى جعفر
    2 points
  5. بل كل الشكر والتقدير والعرفان لكل اساتذتى الافاضل الذين لم يبخلوا بوقتهم وجهدهم وعلمهم قدر استطاعتهم وكل الشكر والتقديـر اليكم استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr والله مهما وصفت لن تكفى الكلمات للتعبيـر عن مدى التعب والضرر الذى قد يتسبب به اقل خطأ لى او لأصدقائى بالعمل ومهما قدمت لكم من شكر ما حييت لن اوفيكم حقكم وقدركم وستقف الكلمات عاجزة بكل معانيها امام ما تقدمونه استاذى الجليل يعلم الله حجم الكرب الذى جعلكم الله سببا فى تفريجه اسأل الله تعالى ان يرزقكم البركة فى العمر والعلم والاهل والولد واعلى درجات الخلد فى الجنة ان شاء الله مع من تحبون شكـراً ساحر الأكسس ..
    2 points
  6. شكرا ابا جودي 🙂 يا جماعة الحقوا عليّ اريد شِبّه او بخور عن العين 🙂 حصلت على شهادتين من اجابة واحدة 🙂 جعفر
    2 points
  7. الشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و اخى الحبيب استاذ @AlwaZeeR والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و اخى الحبيب استاذ @essam rabea
    2 points
  8. في الكثير من مواضيعي في الكود ، استخدم متغير اسمه mySQL مثلا ، حتى اعمل استعلام عن طريق الكود ، هكذا مثلا ، فلاحظ آخر سطر استعمله ، السبب اللي استعمل فيه هذا المتغير بهذه الطريقة ، حتى يكون لكل جزء من الكود السطر الخاص به (سهل التعامل مع كل سطر بطريقة منفصلة) ، وفي النهاية يتم جمعهم في الكود للخروج بالمتغير بصورته النهائية : mySQL = "SELECT TOP " & A & " sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage" mySQL = mySQL & " FROM ( " mySQL = mySQL & "SELECT 0 as sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage" mySQL = mySQL & " From tblPME" mySQL = mySQL & " WHERE SelectTo604 = True" mySQL = mySQL & " union" mySQL = mySQL & " Select id, null, null, null, null, 1 AS Countr, null" mySQL = mySQL & " From tblPME" mySQL = mySQL & " ) AS X" Debug.Print mySQL آخر سطر معناه ، اكتب لي نتيجة المتغير mySQL ، والنتيجة ستكون بالبيانات ، فمثلا نتيجة هذه الاسطر اعلاه هي: SELECT TOP 33 sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage FROM ( SELECT 0 as sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage From tblPME WHERE SelectTo604 = True union Select id, null, null, null, null, 1 AS Countr, null From tblPME ) AS X نفس الشيء ممكن نعمله في الكود اعلاه ، ممكن نضيف السطر الاخير هنا ايضا : myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [detach]='منتدب'" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID myCriteria = myCriteria & " Or [ID]=12" debug.print myCriteria ولما يعطيك الطريقة الصحيحة ، تقدر تنسخها الى امر Dlookup ، في الاستعلام 🙂 آه ، وين تنكتب هذه العيارة ، هنا : اولا الجواب الاوسع ، انه ما ممكن ، وخصوصا انك لما تشوف شرح يفتقد لمثال واقعي علشان تفهمه وتطبق عليه ، لذلك ، تابع الاجابات ، ومنها تفهم اكثر ، بطرق مقطعة ، ولكن تثبت في الدماغ 🙂 اما للشروحات ، فهناك الكثير منها في المنتدى ، واخونا صالح قام بهذا العمل الجبار : جعفر
    2 points
  9. ما شاء الله ... تبارك الله .... الله اكبــــــــــــــــر يا شمعة في زوايا المنتـدى تتألق فتنير درب المــعالي وهي تحترق لا أطفــــأ الله نــــــوراً أنت مصـدره يا صادق الفجر أنت الصبح والفلق أيا جعفراً يا رمــز الوفاء سلمت يمين أهـــل الوفاء يا خيــر من صدقوا
    2 points
  10. ما ممكن كتابة هذه الاسطر في استعلام ، لذلك ، يمكن ان تعملها وحدة نمطية ، ثم تناديها من الاستعلام 🙂 جعفر
    2 points
  11. لو فيه حاجة وقفت معاك حاول وابعت نتيجة محاولتك وسلملى على محمد احمد والشيخ وفيق لحد ماجى بالتوفيق
    2 points
  12. وعليكم السلام ورحمة الله وبركاتة أخي الكريم كان لك نفس الطلب في موضوع سابق لكن الفرق كنت تريده في التقرير وقد قمت بالرد عليك وتحقيق طلبك عن طريق كود vba وشاركني استاذي @jjafferr بوضع نفس الحل ولكن عن طريق الاستعلام الان لتحقيق طلبك الجديد ارجع للموضوع السابق وبالتحديد مشاركة الاستاذ جعفر قم بفتح ملف اكسل ثم اذهب على مصدر البيانات ثم اختر قاعدة البيانات حسب الصورة ستظهر لك نافذة اختر منها الاستعلام نتائج الاستعلام اصبحت بملف الاكسل قم بتغير مسميات رؤوس الاعمدة حسب ما تراه مناسب لك وحفظ الاستعلام وإذا لم ترد تغيير مسمسيات رؤوس الاعمدة بالاكسل قم بتغيرها من الاستعلام وستظهر بالاكسل نفس المسميات ::بالتوفيق::
    2 points
  13. أ.ashraf_ali هل هذا ما تقصدة ام فهمت خطأ بالتوفيق Test (1).zip
    2 points
  14. جرب هذا الملف Sharikat.xlsm
    2 points
  15. ممكن تستخدم الكود التالى Sub my_fill() cmb_Fill.Clear For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row cmb_Fill.AddItem (Cells(i, "A")) Next i End Sub و المجال مفتوح و قابل للتعديل مرفق ملف Fill_01.xls
    2 points
  16. تفضل استاذ حميد ولحسن عمل الكمبوبوكس يمكنك إضافة هذا الكود Private Sub ComboBox1_DropButtonClick() lrw = Sheets(2).Cells(Rows.Count, 4).End(xlUp).Row ComboBox1.List = Sheets(2).Range("D1:D" & lrw).Value End Sub تعبئة القوائم المنسدلة1.xlsm
    2 points
  17. السلام عليكم ايش رأيك في هذه الطريقة: سحب أكثر من حقل من سجل واحد في الجدول ، وهذا الرابط فيه المثال http://www.officena.net/ib/index.php?showtopic=61152&p=394338 جعفر
    2 points
  18. السلام عليكم ورحمة الله وبركاتة في مووضوع سابق طرحته بالمنتدى حذرت من موضوع اخفاء الجداول المرتبطه لما يسببه من مشاكل وأخطاء تحذير من إستخدام كود إخفاء الجداول المرتبطة فأخذت افكرفي ايجاد طريقة لحماية كائنات قاعدة البيانات كافة من وصول المستخدم ومن ضمنها عدم وصول المستخدم لكلمة سر قاعدة البيانات الخلفية والتي تكون مخزنة بالجدول MsysObjects فلم أجد افضل من طريقة وضع كلمة سر لقاعدة البيانات بشرط أن تكون بصيغة accdb أو accde هنا لن يتمكن المستخدم من تفعيل الشفت ببرنامج خارجي ولن يتمكن من الوصول الى الكائنات وهذا كان سبب طرحي لموضوع هل لديك تجربه لكسر كلمة سر قاعدة بيانات ؟ وقد اكد استاذنا @jjafferr صعوبة الحصول على الرقم السري لمثل هذا النوع من قواعد البيانات فقررت وضع كلمة السر لقواعد البيانات !!!!!!! لكن ماهو الحل مع المستخدم ؟ هل سنقوم بتسليمه كلمة السر ليستخدم قاعدة البيانات اذا كأننا لمن نصنع شئ ففكرت بإيجاد وسيط نقوم بتسليمه كلمة السر ويكون هو الوسيط بين المستخدم والبرنامج ( الواجهة ) اذا الوسيط سنضعه جنب البرنامج ونأمره بفتح البرنامج للمستخدم اذا اراد استخدامه بدون أن يفصح له عن كلمة السر بالمرفق يوجد ملفين ملف قاعدة البيانات الاساس Start محمي بكلمة سر والاخر الوسيط الذي سنقوم بمن خلاله فتح البرنامج StartDatabes. بعد تمرير كلمة السر اليه والملفين تم تحويلهما الى صيغة accde بعد تنزيل المرفق اجعل الملفيين في مجلد واحد وشغل الملف StartDatabes ملاحظة من المحتمل ان تظهر لديك رسالة في بدأ التشغيل لا يمكن قراءة مشروع Vba هنا اعتقد يجب أن يكون الوندوز لديك محدث بأخر تحديث ويجب أن تكون حزمة Microsoft .NET Framework محدثة بأخر اصدار حسب لغة الوندوز ونوعه عندك او كما يوجد لدي انا عندي الحزمة Microsoft .NET Framework 4.5.1 windos 10 office10 أخر تحديث ارجو التجربه ونتمنى الاستفاده للجميع Free.rar -------------------------------------- ملاحظات جعفر 14-7-2021 : بعد ان تم حذف الملف الاصل ، اصبح من الصعب على بعض الاعضاء متابعة الموضوع ، لذا ، وبعد إذن الاخ @kaser906 فعملت ملفاته مرة اخرى وارفقتها هنا: 1. الملف Locked.zip ، وهو الملف النهائي والذي سيتم تسليمه للزبون ، وهو الملف الذي يجب ان يجربه الاعضاء ، وفيه ملفين بصيغة accde ، 2. الملف Locked_Open_Source.zip ، يحتوي على ملفات مفتوحة المصدر ، بصيغة accdb ، والتي حولناها الى ملفي رقم 1 علاه ، 3. الملف Open_Source.zip ،يحتوي على نفس ملفي رقم 2 اعلاه بصيغة accdb ، ولكن بدون تجهيزهم لتحويلهم لصيغة accde . Locked.zip Locked_Open_Source.zip Open_Source.zip
    1 point
  19. امثلة بسيطة ارجوا ان تنفعنا جميعا صيغة الدالة DLookup DLookup(expr, domain [, criteria] )‎ expr( مطلوب) اسم الحقل domain( مطلوبة) اسم الجدول/الاستعلام criteria( اختيارية) الشروط دا مثال بسيط : عازوين نعرف اسم الصنف الذي كوده 15 في جدول الاصناف اسم الجدول : items اسم الحقل الذي يحمل أرقام الاصناف : code_items اسم الحقل الذي يحمل أسماء الاصناف: items_Name كود: MsgBox DLookup("[items_Name]", "items", "code_items=15") ممكن ناخد كود الصنف من مربع نص موجود في نموذج بدلاً من التصريح في الدالة عن كود الصنف لنفترض مثلا أن مربع نص موجودٌ في النموذج باسم txtItemsCode كود: MsgBox DLookup("[items_Name]", "items", "code_items=" & Me.txtItemsCode) ممكن ناخد قيمة كود الصنف من نموذج آخر بس بشرط أن يكون مفتوحاً ، فلو كان txtItemsCode موجود في نموذج آخر باسمfrm1 فإن الكود سيأخذ الشكل التالي : كود: MsgBox DLookup("[items_Name]", "items", "code_items=" & Forms!frm1!txtItemsCode) ملحوظة بالنسبة للشروط يجب أن تأخذ في الاعتبار نوع بيانات الحقل الذي نعتمد عليه في الشرط ، في المثال السابق كان حقل نوع بياناته (رقم) ، فلو كان نوع بياناته (نص) سيكون الكود بالشكل التالي :code_items كود: MsgBox DLookup("[items_Name]", "items", "code_items='" & Me.txtItemsCode & "'") طب لو كان نوع بياناته (وقت/تاريخ) الكود هيبقى كدا كود: MsgBox DLookup("[items_Name]", "items", "code_items=#" & Me.txtItemsCode & "#") وشكر الله لكم جميعا
    1 point
  20. فورم البحث بثلاث طرق وفى عدد من العواميد الفيديو
    1 point
  21. لك ماتريد (معادلات مطاطة حتى 1000 اسم) SharikA_Salim.xlsx
    1 point
  22. استاذى انت ما مشكلتك مع الكود الذى وضعته انا فى مرفقى ما تتحدث انت عنه لم يحدث عندى ولا اعرق السبب بصرحة ثانيا انا من زمان واتجنب الاخفاء للاطار بتلك الطريقة لكثرة المشاكل التى صادفتنى من خلال استخدامها
    1 point
  23. تفضل اخي الكريم يا رب يكون المطلوب تماماً الضغط على الفرعى.accdb تحياتي عذرا يا ايو جودي يا غالي كنت مشغول عن ردك بالمطلوب عذرا مرة اخرى تحياتي
    1 point
  24. لا غنى لى عن استاذى الجليل ومعلمى القدير و والدى الحبيب بفضل الله تعالى ثم بفضلكم تقريبا تم التوصل الى النتيجة المطلوبة تقريبا بنسبة 100 % وان شاء الله تعالى بأمر الله غدا ان قدر الله وكان لى فى العمر بقيـة اوافيكم بالبشـرى وبالرد اليقين بعد التجربة مرار وتكرار من واقع العمل فعلياا اليوم فى العمل لم استطع التجربة لاكثر من 5 دقائق بسبب التفتيش ولكن تقريبا بفضل الله من الوهلة الأولى ان شاء الله الحمد لله تعالى كل شئ تمام
    1 point
  25. شوف كدة ظبط ولا فيه مشاكل new mohamed TEST(2).zip
    1 point
  26. الاخ الفاضل/ @محمد ابو عبدالله انا متاسف لك فعلا النموذج يعمل جيدا ـ جزاكم الله خير استاذ / محمد بارك الله فيك وجعله في ميزان حسناتكم ومادام حضرتك "محب الله ورسوله " فاللهم حبب الله فيكم ورحمكم في الدنيا والاخره بعيدا عن الدعاء لكم - لى طلب اخر ان سمحت لكم ظروفكم ووقتكم هل يمكن ان نضع مربع فارغ في النموذج الفرعى وعند الضغط على خانة الاختيار R1 في الرئيسي يتلون المربع في النموذج الفرعى باللون الاحمر ويكتب بداخله اتوماتيكيا "غير متعاقد" واذا ضغطنا على R1 مرة اخري يتلون المربع الفارغ الى اللون الابيض وتتحول الجملة الى " متعاقد" داخل المربع المنشأ ارجو ان لا اكون قد اثقلت عليك وحسب وقتك بارك الله فيك
    1 point
  27. باذن الله فى انتظارك اخى العزيز @kaser906 وجزاك الله خيرا تمنياتى لك وللجميع بالتوفيق طبتم واهتديتم
    1 point
  28. وعليكم السلام بما انك وضعت كود عند التحمل للحصول ع المجموع If Nationality = "Saudi" Then Gosi = (Val(BasicSalary) + Val(Housing)) * 0.11 Else Gosi = (Val(BasicSalary) + Val(Housing)) * 0 End If TotalSalary = Val(BasicSalary) + Val(Housing) + Val(Transportation) + Val(OtherBenefits) AccruedSalary = (Val(TotalSalary) / Val(DayMonth)) * (DayAttendees) NetSalary = (Val(AccruedSalary) + Val(Reward) + Val(Addition)) - (Val(Discount) + Val(Deduction) + Val(Gosi)) كان لازم تزيل مصدر تحكم الحقول الملونة بالاخضر لتصبح حقول غر منظمه ::بالتوفيق::
    1 point
  29. اخي الكريم انظر الموضوع التالي تجد به نفس طلبك حاول الاستفادة من الطريقة بالنموذج ::بالتوفيق::
    1 point
  30. وعليكم السلام-كان لزاما عليك استخدام خاصية البحث بالمنتدى قبل رفع مشاركتك-تفضل تعريف وشرح دالة VLOOKON
    1 point
  31. سيفيدك هذا الرابط ان شاء الله 🙂 جعفر
    1 point
  32. شاكر جدا لمجهوداتكم وجزاك الله خيرا استاذ Ali Mohamed Ali
    1 point
  33. الق نظرة على هذا الموضوع تقريبا نفس المطلوب
    1 point
  34. العفو منكم استاذى بل انا من يستوجب عليه الاعتذار لكم استاذى القدير ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr الموضوع بالنسبة لى كان تقريبا شبة مستحيل لاننى بحث على الانترنت فى المواقع برسم الجداول برمجيا من خلال الـ vba وجدت القليل جدا بهذا الصدد وما لم استطع فهمه النتيجة الان بفضل الله تعالى ثم فضلكم استاذى الجليل رائعة باقى شئ بسيط وهو انت تظهر فقط البيانات فى الجزء العلوى او السفلى بناء على شرط true بما يتم اختياره والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و اخى الحبيب استاذ @AlwaZeeR والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و اخى الحبيب استاذ @essam rabea
    1 point
  35. السلام عليكم تم التصرف في الجدول وإضافة المعادلات اللازمة للمطلوب (ربما تكون طويلة بعض الشيء)... بن علية حاجي 22222222222.xlsx
    1 point
  36. السلام عليكم 🙂 في آخر مرفق ، انا جعلت البرنامج يجهز عدد السجلات مسبقا ، للتقرير الاساسي (اللي في الاسفل) ، والتقرير الفرعي اللي في الاعلى ، التقرير في الاسفل ، وتم حل مشكلته ، اما التقرير في الاعلى فكذلك تم حل مشكلة السجلات ، ولكن لما التقرير الاساسي ينتقل الى الصفحة التالية ، ما قادر اخلي التقرير الفرعي ينتقل للصفحة التالية !! في حل برمجي بعمل قالب في الوورد ، ثم نصدر البيانات هناك ، والظاهر يمكن نضطر نأخذ هذا الاتجاه !! هل من مساعدة يا شباب 🙂 جعفر
    1 point
  37. انظر عدلت في استعلامك شوي .... K_1.rar
    1 point
  38. ولاثراء الموضوع جرب الاختيارات من تنسيق الخلايا باختيار تنسيق مخصص وتحديده
    1 point
  39. وعليكم السلام -يمكنك تحميل هذا من هنا فلا يحتاج الى تفعيل https://www.4shared.com/rar/vx1cv9Hxca/KutoolsforExcel1650.html وهذا رابط اخر http://www.mediafire.com/file/xcvjc4oywbvonda/Kutools.for.Excel.16.50.rar/file
    1 point
  40. السلام عليكم أخي أبو العلاء هذه محاولتين مني الأولى لإرسال صورة شكل بيضاوي أحمر والثانية لإرسال رسائل مختلفة , كأن تكون ( مثلا ) صاحب متجر أو دكان فترسل رسائل مختلفة لزبائنك تخبرهم فيها بما عليهم من الدين لاحظ المرفق إذا حدث خطا في الارسال فأرجو أن ترسل صورة للسطر الأصفر الذي توقف عنده الكود تحياتي Excel e whatapp1.xls
    1 point
  41. سؤال حول نفس الموضوع هل يتم ارسال الرسايل للمضافين عندك في الجوال فقط ام لاي رقم حتي ولو لم يكن مسجلا في الجوال؟
    1 point
  42. السلام عليكم لقد قام الملف بفتح رابط موقع الواتس آب لكن لم يقم بإرسال أية رسالة، قمت بتسجيل اسم من قائمة الاتصال لدي و لكن ما هي الصيغة التي ينبغي تسجيل رقم الهاتف بها؟ شكراً لكم ==== لقد تم إرسال الرسائل، المشكلة كانت ببطء الإنترنت لدي.
    1 point
  43. السلام عليكم انت ذكرت انك جربة الطريقة ونجحت في ارسال النص فقط طيب ممكن من فضلك تذكر لنا الخطوات التي تعملها حتي يتم ارسال الرسائل هل يتم الارسال من الحاسوب ام من الجوال؟ تقبل تحياتي
    1 point
  44. السلام عليكم ورحمه الله وبركاته اخ @ابو العلاء نستأذن حضرتك في رفع الشيت المختص بالارسال مع النص فقط وجزاكم الله خيرا
    1 point
  45. لا يمكن عمل هذا فكل هذا خدمات بمقابل مادى
    1 point
  46. السلام عليكم أخي محمد انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل ولكني دخلت في كود Combopn_AfterUpdate : pn = DLookup("pn", "code", "[pn]=forms!frm_dataentry!Combopn") size = DLookup("Size", "code", "[pn]=forms!frm_dataentry!Combopn") vendor = DLookup("Vendor", "code", "[pn]=forms!frm_dataentry!Combopn") Description = DLookup("Description", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrl = DLookup("Maxrl", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrlegyptair = DLookup("Maxrlegyptair", "code", "[pn]=forms!frm_dataentry!Combopn") ACType = DLookup("actype", "code", "[pn]=forms!frm_dataentry!Combopn") Pos = DLookup("pos", "code", "[pn]=forms!frm_dataentry!Combopn") BiasRadial = DLookup("biasradial", "code", "[pn]=forms!frm_dataentry!Combopn") code = DLookup("code", "code", "[pn]=forms!frm_dataentry!Combopn") لاحظت انك تنادي الجدول (اي تعمل استعلام للجدول) 10 مرات !! انا دائما لما اعمل برامجي ، اعمل البرنامج على اساس انه سيكون عبارة عن جزئين ، الواجهة FE ، والجداول BE ، وان الجداول BE ، ستكون في شبكة ، وان الواجهة FE ستكون لأكثر من مستخدم. لهذا السبب ، فيجب ان نقلل الزحمة في الشبكة ، وذلك بتقليل زيارة/استعلام الجداول قدر الإمكان ، وعند كل زيارة ، يجب ان نأخذ اكبر كمية من البيانات المطلوبة ، ثم نتعامل معها محليا في FE. لذلك ، فانا هنا اعطيك احد البدائل (والتي لا يعرفها الكثير ، لأنها تعمل على الاكسس 2003 فما فوق) ، فالكود التالي ، يقوم بزيارة/استعلام الجدول عن طريق DLookup مرة واحدة ، ويأخذ 10 بيانات مرة واحدة ، فلذا يمكن ان يستبدل كودك اعلاه: Dim x() As String A = DLookup("[pn] & '|' & [Size] & '|' & [Vendor] & '|' & [Description] & '|' & [Maxrl] & '|' & [Maxrlegyptair] & '|' & [actype] & '|' & [pos] & '|' & [biasradial] & '|' & [code]", "code", "[pn]=forms!frm_dataentry!Combopn") x = Split(A, "|") ' For i = LBound(x) To UBound(x) ' Debug.Print x(i) ' Next i Me.pn = x(0) Me.size = x(1) Me.vendor = x(2) Me.Description = x(3) Me.Maxrl = x(4) Me.Maxrlegyptair = x(5) Me.ACType = x(6) Me.Pos = x(7) Me.BiasRadial = x(8) Me.code = x(9) جعفر كل كلمات الشكر لا تعبر عما احس به نحوك استاذى الكريم ومعلمى الجليل فعلا فنان جزاكم الله خير الجزاء ان شاء الله
    1 point
  47. السلام عليكم أخي محمد انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل ولكني دخلت في كود Combopn_AfterUpdate : pn = DLookup("pn", "code", "[pn]=forms!frm_dataentry!Combopn") size = DLookup("Size", "code", "[pn]=forms!frm_dataentry!Combopn") vendor = DLookup("Vendor", "code", "[pn]=forms!frm_dataentry!Combopn") Description = DLookup("Description", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrl = DLookup("Maxrl", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrlegyptair = DLookup("Maxrlegyptair", "code", "[pn]=forms!frm_dataentry!Combopn") ACType = DLookup("actype", "code", "[pn]=forms!frm_dataentry!Combopn") Pos = DLookup("pos", "code", "[pn]=forms!frm_dataentry!Combopn") BiasRadial = DLookup("biasradial", "code", "[pn]=forms!frm_dataentry!Combopn") code = DLookup("code", "code", "[pn]=forms!frm_dataentry!Combopn") لاحظت انك تنادي الجدول (اي تعمل استعلام للجدول) 10 مرات !! انا دائما لما اعمل برامجي ، اعمل البرنامج على اساس انه سيكون عبارة عن جزئين ، الواجهة FE ، والجداول BE ، وان الجداول BE ، ستكون في شبكة ، وان الواجهة FE ستكون لأكثر من مستخدم. لهذا السبب ، فيجب ان نقلل الزحمة في الشبكة ، وذلك بتقليل زيارة/استعلام الجداول قدر الإمكان ، وعند كل زيارة ، يجب ان نأخذ اكبر كمية من البيانات المطلوبة ، ثم نتعامل معها محليا في FE. لذلك ، فانا هنا اعطيك احد البدائل (والتي لا يعرفها الكثير ، لأنها تعمل على الاكسس 2003 فما فوق) ، فالكود التالي ، يقوم بزيارة/استعلام الجدول عن طريق DLookup مرة واحدة ، ويأخذ 10 بيانات مرة واحدة ، فلذا يمكن ان يستبدل كودك اعلاه: Dim x() As String A = Nz(DLookup("[pn] & '|' & [Size] & '|' & [Vendor] & '|' & [Description] & '|' & [Maxrl] & '|' & [Maxrlegyptair] & '|' & [actype] & '|' & [pos] & '|' & [biasradial] & '|' & [code]", "code", "[pn]=forms!frm_dataentry!Combopn"),"|||||||||") 'ويمكن استعمال اي شيء بدل عن | فمثلا الفاصلة 'A حتى اذا لم هناك قيمة للمتغير Nz نستعمل الدالة 'عدد مرات وضع العلامة | في نهاية السطر ، يكون نفس عددها في المعادلة 'لهذا السبب نرى اننا وضعنا 9 منها في نهاية السطر x = Split(A, "|") ' For i = LBound(x) To UBound(x) ' Debug.Print x(i) ' Next i Me.pn = x(0) Me.size = x(1) Me.vendor = x(2) Me.Description = x(3) Me.Maxrl = x(4) Me.Maxrlegyptair = x(5) Me.ACType = x(6) Me.Pos = x(7) Me.BiasRadial = x(8) Me.code = x(9) جعفر
    1 point
  48. اخي رضوان بارك الله فيك على هذه الملاحظة تم التعديل بموجبها قم بالتجربه الان وانظر هل تحسن الوضع الى الافضل zaChangeResolution2006_UP.rar اخي طارق العيد واصل تجاربك وان احتجت اي مساعده فلا تتردد في السؤال عنها
    1 point
×
×
  • اضف...

Important Information