الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استدعاء نموذج حسب رقم معين

بدأه عبير الزهور في 13 سبتمبر 2014 · 34 رد · 3,828 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#26

تفضلي اختي :)

 

post-273849-0-08897600-1414181216_thumb.

 

 

جعفر

269.1.الحركة.accdb.zip

1
#27

السلام عليكم اخي الكريم

شكرا جزيلا على ردك و اهتمامك بارك الله بك وجعلها في ميزان حسناتك

حسب فهمي للتغير الذي قمت به على المرفق انك قمت بانشاء استعلام جديد اسمهqry_uq_accumulated)  وجعلته مصدر استعلام السجلات للنموذج فهل كان السر في  الحصول على النتيجه هو هذا الكود

Bal: DSum("";"uq";"[Clients_Name]='" & [Clients_Name] & "' AND [selldate]<=#" & [selldate] & "#")

و هل لي ان افهم طريقة عمل الكود؟؟

 

و ما فائدة وجود الوحدة النمطية (fRowCounter)

 

و اسفة على كثرة الاسئلة و الازعاج

#28

وعليكم السلام اختي :)

 

خلينا نتكلم بدون كمبيوتر وبدون برنامج :)

أ. احنا علشان نحسب حسابات جعفر ، فلازم نشوف إضبارة جعفر بشكل منفصل عن بقية الاشخاص ،

واذا كان عندنا دفاتر السجلات القديمة ، تلقين ان لكل شخص صفحته الخاصة به ،

ب. البائع في هذه الدفاتر ، يسجل دائن/مدين بحسب التاريخ ،

 

والآن نترجم هذا الى برمجة :)
 

انا قلت لك في احد مشاركاتي السابقة:

 

اقتباس

وتاريخ المعاملة هو سر نجاح الخطوة التالية

 

رجاء النظر في الصورة التالية للإستعلام qry_uq_accumulated:

post-273849-0-85159300-1414327141_thumb.

 

ستلاحظين:

1. فرز الاسماء تصاعدي (لا يهم ان يكون تصاعديا ، فيمكنك عمله تنازليا) ، يعني انا انظر دائن/مدين الشخص الواحد بتسلسل (وهو مافي الملاحظة أ اعلاه) ،

2. الآن وقد تم كتابة معطيات الشخص بتسلسل ، نريد ان نرى تاريخ عملياته كدائن/مدين تصاعديا (وهذا سر نجاح حساب الشخص التراكمي) ،

لهذا السبب ، في النموذج frm_uq_Accumulated ، لما تعملين تصفية للأشخاص ، تحصلين على المقصود في أ و ب :)

 

الآن وقد تم تنظيم الاسماء والسجلات ، فما علينا إلا جمع المبالغ ونحصل على الحساب التراكمي الصحيح ، والطريقة هي:

نجمع قيمة B (تذكري اننا طرحنا الدائن والمدين في الاستعلام uq في الحقل B) من نتائج الاستعلام uq ، بشرط

ان اسم الزبون المتسلسل هنا هو نفس الزبون في الاستعلام uq ،

وان تاريخ المعاملة هي اصغر من او تساوي تاريخ المعاملة في تسلسل استعلامنا qry_uq_accumulated (يعني التاريخ الاصغر ثم يليه التاريخ الاكبر منه) ، فبهذه الطريقة يكون الحساب التراكمي :)

 

اما الوحدة النمطية (fRowCounter) ، فكنت ساستعملها لعمل تسلسل في الاستعلام ، لكني غيرت رأيي ونسيت ان احذفها :(

هذه الوحدة لأحد اصحابي القدامى وكنا نتشارك في المنتدى الاجنبي www.experts-exchange.com ، وانا اعتمد على هذه الوحدة لعمل ارقام تسلسلية في استعلام :)

 

 

جعفر

تم تعديل هذه المشاركة بواسطة jjafferr في 26 أكتوبر 2014 في 16:08

1
#29

اخي الكريم و الله لا  اعرف ما اقول لك على طولة بالك معي و شرحك الوافي لا يسعني الا الدعاء لك في ظهر الغيب  بالعافية و البركة في مالك و عمرك

 

و اكيد +1

جزاك الله عني الف خير

#30

حياك الله :)

#31
DoCmd.GoToRecord , , acNewRec

السلام عليكم

اخي الكريم

ارجو النظر في الصورة المرفقه

 

و ايضا قمت باضافة الكود التالي  في حدث عند الفتح لنموذج bounds  , sell وذلك للحصول على صفحة فارغه عند فتح النموذج الامر يمشي تمام و لكن عند محاولة استدعاء السندات و فاتورة المبيعات من نموذج 2  تظهر المشكلة التالية المبينه في الصورة

post-254477-0-50943500-1417243740_thumb.

post-254477-0-75382500-1417251561_thumb.

269.الحركة.rar

تم تعديل هذه المشاركة بواسطة عبير الزهور في 29 نوفمبر 2014 في 12:04

#32

وعليكم السلام اختي :)

 

انا عملت استعلام آخر باسم qry_Sum_uq2 ، وجعلته مصدر بيانات النموذج :)

وللعلم ، فان بعض الفواتير تتكرر بنفس الرقم ، واحدة للقبض باسم شخص واخرى نقدي باسم شخص آخر (وهنا كذلك اعتقد بان هذا يصير بسبب عدم تنظيم البيانات بطريقة صحيحة :( )

 

 

اما بالنسبة الى فتح النموذجين sell  و bonds ،

 

فقد غيرت كود فتح النماذج من نموذج 2 الى:

    If Me.type_of_pay = "قبض" Then
        DoCmd.OpenForm "bonds", , , "[bonds_number]=" & Me.SellBillNum, acFormReadOnly, , "I_want_Read_Only"
    Else
        DoCmd.OpenForm "sell", , , "[SellBillNum]='" & Me.SellBillNum & "'", acFormReadOnly, , "I_want_Read_Only"
    End If

لاحظي آخر السطرين ، فقد مررت قيمة I_want_Read_Only في الامر Me.OpenArgs الى النماذج عند فتحها (واذكرك بان النموذج للقراءة فقط ولايمكن تغيير او اضافة سجل فيه) ،

 

وعليه ، فكود حدث فتح النماذج اصبح يبحث فيما اذا هذه القيمة موجودة في الامر  Me.OpenArgs ، فاذا وجدت ، لم يفتح سجل جديد ، وإلا ، فهو يفتح سجل جديد :

 
    If IsNull(Me.OpenArgs) Then
        DoCmd.GoToRecord , , acNewRec
    End If

جعفر

269.2.الحركة.accdb.zip

1
#33

جزاك الله الف خير

+1

#34

اخي الكريم

post-254477-0-32546800-1417867532_thumb.

post-254477-0-56794200-1417869758_thumb.

1255.rar

تم تعديل هذه المشاركة بواسطة عبير الزهور في 6 ديسمبر 2014 في 16:09

#35

السلام عليكم

اخي الكريم

يمكن انه تكون المشكلة الاولى تحل عندما اقوم بادخال بيانات مرتبة و منتظمة

 

و لكن هل لك رؤية سبب المشكلة الثانية و هي موضحة في الصورة الثانية في عدم ظهور بيانات داخل نموذج السند؟؟

بالانتظار

مواضيع مشابهة