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

ارجوا من اهل الخبر شرح هذه الاكواد والرد بسرعه ولكم جزيل الشكر

بدأه esmaelmohamedsaied في 22 يوليو 2013 · 5 رد · 900 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارجوا شرح هذه النقاط للإهميه والرد بسرعه من اهل الخبره

(1)عند حذف صنف من المخزن وهذا الصنف تمت عليه حركه مخزنيه من بيع او شراء او اضافه لمخزن يعطينى رسالة تنبيه بإن هذا الصنف تمت عليه حركه

وهذه هى الاكواد

numberfield = Me.Number
Dim a
a
= DLookup("[number]", "names", "[number]='" & Me.Number & "'")
If Not (IsNull(a)) Then
MsgBox "هذا الصنف موجود ضمن الاصناف المخزنية", vbCritical, "رساله تحذيرية"
Cancel = True
Me.Undo
DoCmd.FindRecord numberfield
End If

 

(2) فى حالة عمل فاتورة البيع اوضافه لمخزن والرصيد اقل من المطلوب يعطينى رسالة تنبيه بإن الكميه المنصرفه اكبر من الرصيد الفعلى

وهذه هى الاكواد

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

Me.item_Balance = DLookup("sum([Qty_in_Multi])-sum([qty_out])", "transaction", "[number]='" & [كود الصنف] & "'")
وهذه الدالة مهمتها جلب اجمالي المدخلات وجلب اجمالي المخرجات من خلال كود الصنف

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

If Qty_out > item_Balance Then
MsgBox "الكمية المنصرفة اكبر من الرصيد الحالي", vbCritical + vbOKOnly, "رسالة تحذيرية"
Cancel = -1
Else
Me.Total.SetFocus
End If

 

(3)ترقيم تلقائى لرأس الفاتوره مع العلم ان الشيت تمت عليه حركات

وهذه هى الاكواد

Me!AutoNum = Nz(DMax("[Add_doc]", "[Add_doc]"), 0) + 1

 

ارجوا من اهل الخبره شرح هذه الاكواد ببساطه لانى مبتدأ ولكم جزيل الشكر

تحياتى

اسماعيل سعيد

#2

تستخدم دالة DLookup لاسترجاع أو استدعاء قيمة معينة من جدول وفقا لشروط أو معايير محددة.

تنقسم دالة DLookup إلى ثلاثة وسائط وهي:

- التعبير  Expression

- المجال أو المجموعة  Domain 

- المعايير Criteria

 

كيف نبني جملة برمجية تتضمن دالة DLookup؟

القاعدة هي على الشكل التالي:

DLookup("Expression","Domain",Criteria") this is the rule

لنضرب مثال بغية توضيح الصورة بشكل أفضل

لنفترض أن لدينا جدول بعنوان بطاقة المادة وجدول آخر بعنوان فاتورة مبيعات

1- بطاقة المادة ItemCardT

2- فانورة مبيعات TradeT

يحتوي الجدول بطاقة المادة على الحقول التالية:

  - كود الصنف Code

  - إسم الصنف Name

  - سعر المبيع TradePrice

  - الوحدة Unit

ويحتوي الجدول فاتورة المبيعات على الحقول التالية:

  - كود الصنف Code

  - إسم الصنف Name

  - الكمية Qut

  - الوحدة Unit

  - سعر المبيع TradePrice

 - المجموع Total

 

بعد أن أنشأنا الجدولين سنطبق القاعدة

- المجال أو المجموع   Domain  هو جدول بطاقة المادة

- التعبير Expression  هو القيمة التي نريد استرجاعها عبر الشرط أو المعيار Criteria  ويأتي ذلك على الشكل الآتي

لنفترض أننا نريد اسنرجاع القيمة name في جدول بطاقة المادة (وهو يمثل المجال Domain) في فاتورة المبيعات من خلال المعيار Code (وهو يمثل التعبير Expression في القاعدة)  فيأتي على الشكل الآتي:

Name =DLookup("Name","ItemCardT","Code = ' " & Me.Code & " ' ") this is the sample

 

أخي العزيز أي إستفسار أنا بالخدمة

#3
Khodor1985 كتب:

تستخدم دالة DLookup لاسترجاع أو استدعاء قيمة معينة من جدول وفقا لشروط أو معايير محددة.

تنقسم دالة DLookup إلى ثلاثة وسائط وهي:

- التعبير  Expression

- المجال أو المجموعة  Domain 

- المعايير Criteria

 

كيف نبني جملة برمجية تتضمن دالة DLookup؟

القاعدة هي على الشكل التالي:

DLookup("Expression","Domain",Criteria") this is the rule

لنضرب مثال بغية توضيح الصورة بشكل أفضل

لنفترض أن لدينا جدول بعنوان بطاقة المادة وجدول آخر بعنوان فاتورة مبيعات

1- بطاقة المادة ItemCardT

2- فانورة مبيعات TradeT

يحتوي الجدول بطاقة المادة على الحقول التالية:

  - كود الصنف Code

  - إسم الصنف Name

  - سعر المبيع TradePrice

  - الوحدة Unit

ويحتوي الجدول فاتورة المبيعات على الحقول التالية:

  - كود الصنف Code

  - إسم الصنف Name

  - الكمية Qut

  - الوحدة Unit

  - سعر المبيع TradePrice

 - المجموع Total

 

بعد أن أنشأنا الجدولين سنطبق القاعدة

- المجال أو المجموع   Domain  هو جدول بطاقة المادة

- التعبير Expression  هو القيمة التي نريد استرجاعها عبر الشرط أو المعيار Criteria  ويأتي ذلك على الشكل الآتي

لنفترض أننا نريد اسنرجاع القيمة name في جدول بطاقة المادة (وهو يمثل المجال Domain) في فاتورة المبيعات من خلال المعيار Code (وهو يمثل المعيار Criteriaفي القاعدة)  فيأتي على الشكل الآتي:

Name =DLookup("Name","ItemCardT","Code = ' " & Me.Code & " ' ") this is the sample

 

أخي العزيز أي إستفسار أنا بالخدمة

#4

أما فيما يتعلق بدالة DMax فهذه الدالة مهمتها استرجاع القيمة الأكبر وفقا لمعايير محددة.

تتألف دالة DMax من ثلاثة وسائط :

1- التعبير Expression

2- المجال Domain

3- المعايير  Criteria

 

Me!AutoNum = Nz(DMax("[Add_doc]", "[Add_doc]"), 0) + 1

Me!AutoNum : هو الحقل الموجود في نموذج فاتورة المشتريات

Add_doc : هو الحقل الموجود في جدول Add_doc

Add_doc : هو الجدول

0 : أن تكون قيمة الحقل 0

+1 : أضف على القيمة الأكبر في الجدول Add_doc

فإذا كانت القيمة في الحقل AutoNum في السجل الأول 1 فعند الإنتقال إلى السجل الثاني يضاف عليها +1 ليصبح المجموع رقم 2 بحيث تتم هذه العملية بشكل تلقائي .

#5

شكرا اخى الكريم على تعاونك ولكنى مبتدأ وارجوا التوضيح بمثال عملى ويبقى كده كتر خير

تحياتى

اسماعيل سعيد

#6

أخي العزيز هذا شرح مفصل عن طريقة استخدام الدالة DLookup post-275979-0-78945700-1374620110_thumb. جدول بطاقة المادةpost-275979-0-32256900-1374620180_thumb. جدول فاتورة المبيعاتpost-275979-0-70900800-1374620231_thumb. من خلال معالج النماذج قم بتحويل جدول فاتورة المبيعات إلى نموذجpost-275979-0-06549300-1374620392_thumb. بعد إنشاء النموذج فاتورة المبيعات أدخل إلى حالة تصميم النموذجpost-275979-0-28155300-1374620572_thumb. إختر خصائص من اللائحةpost-275979-0-01965200-1374620658_thumb. إختر من تبويب الخصائص بعد التحديث فيظهر مربع اختيار المنشئ ، post-275979-0-70669800-1374620843_thumb. ثم ضع هذا الكود الذي تم شرحه مسبقا

 

 

 

بالتوفيق...

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