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

الردود الموصى بها

قام بنشر

 

 

- frm_dataentry          ــــــــــــــــــــــــــــــــــــــ   ده ولله الحمد النموذج الجديد الى تم حل مشكلتى فيه 

 

انتظر رأى اساتذتى الكرام بعد التجربه 

 

السلام عليكم أخي محمد  :smile:

 

انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل  :smile:

 

ولكني دخلت في كود 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)

جعفر

 

كل كلمات الشكر لا تعبر عما احس به نحوك استاذى الكريم ومعلمى الجليل فعلا فنان  :yes: 

جزاكم الله خير الجزاء ان شاء الله

  • Like 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information