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

*فورم*عدد السجلات باستخدام دوال المجال التجميعية بالشروط

مغلق
بدأه مصلح الحريصي في 4 فبراير 2002 · 12 رد · 3,179 مشاهدة · في قسم الأرشيف و المواضيع المميزه
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
 TxtDcount = Dcount(" [1] " , "Tbl1", "[1] = [forms]![frmNam]![TxtChr] ") [/Code2]

بحيث :

TxtCount مربع نص على نموذج يظهر فيه المجموع

1 اسم حقل التخصص في الجدول

TblCostmur جدول العملاء

FrmCostmur نموذج العملاء الذي يتم عن طريقة البحث وإستعراض البيانات

TxtChr مربع نص غير منظم يدخل فيه القيمة المطلوب من الدالة جمعها0

المشكلة :

الطريقة التي أستخدمها هي أن تقوم الدالة بالبحث في الجدول في حقل " " عن القيمة المطابقة لماهو مكتوب في مربع النص المسمى TxtChr وهذه الطريقة سببتلي مشكلة في برنامج لدي لأني أطلب من الدالة أن تجمع لي الفنيين فتعودبقيمة خاطئة والسبب أنه يتم كتابة فني كهرباء وفني نجارة وفني تكييف وهكذا

المطلوب :

هو أن تقوم الدالة بالبحث بجزء من المعلومة ثم الجمع مثل:

لو كتبت في مربع النص الخاص المسمى TxtChr فني فتقوم الدالة تعيد الدالة المجموع الكلي للفني تكييف وفني تبريد وفني كهرباء و0000 الخ بمعنى أخر تعتمد الدالة كلمة فني وتهمل الباقي مثل كهرباء أو تكييف 0

ارجو الفزعة والله هذه المشكلة سببت لي إزعاج لدرجة أنني أبلغت مدخلي البيانات بالتوقف حتى أجد حل المشكلة أن البرنامج برنامج إحصاء ومهم جداً

"هذا والله يحفظكم "

للمعلومية أنا والله لا أجيد اللغة الإنجليزية لكي استخدم التسميات ولكن أجد في التسميات باللغة الإنجليزية مرونة أثناء كتابة البرنامج 0

#2

الحل كالتالي :

TxtDcount = DCount(" [1] ", "Tbl1", "[1] like '" & [Forms]![frmNam]![Txtchr] & "*'")

ولك تحياتي

#3

طريقة أخري أطول !!!

اصنع فورم رئيسي بالاسم الذي ذكرته

ضع فيها فورم فرعي ، ضع علي الفورم الرئيسي صندوف النص الذي ذكرته و ضع دالة Count عادية فى تذييل الفورم الفرعي و اجعلها مخفية و أشر اليها فى صندوق نص علي الفورم الرئيسي

ثم ضع الكود الحالي فى حدث بعد التحديث

Private Sub TxtChr_AfterUpdate()
   Dim  n As String
n = "SELECT  TblCostmur .*  FROM [TblCostmur ]WHERE ((TblCostmur .[FieldName]) Like *'" & TxtChr.value & "') ;"
Forms![FrmCostmur ]![SuybFormName].Form.RecordSource = n
End Sub

فيظهر العدد تلقائيا فى صندوق النص علي الفورم الرئيسي

ملحوظة هذه هي الفكرة فقط و لم أجرب الكود بعد

#4

الأخ /ابو حمود

الأخ /مصراوي

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

#5

الأخ ابو حمود

عندما أكتب الشرط مباشرة في الكود فما هي الطريقة مثل

TxtDcount = Dcount(" [1] " , "Tbl1", "[1]='فني' ")

هو نفس السؤال السابق غير أنني لا أريد إلإشارة إلى النموذج ومربع النص الموجود عليه

قمتبالتعديل في الكود الذي كتبته غير أنني لم أفلح فهو يعطني مجموع الحقل ولو أختلفت القيم وهذا مثال لمحاولاتي لغير المفيدة

 TxtDcount = Dcount(" [1] " , "Tbl1", "[1]= like '" &فني  & "*'")

والذي أرغبه من ذلك هو إعطائي نفس النتيجة التي تظهر في الكود الذي كتبته بالأعلى ولكن من دون أن أكتب كلمة فني في النموذج بل تكفي أن أكتبها في الكود0

اعلم أنني ثقيل ولكن الحاجة هي أكبر دافع

أرجو عدم المؤاخذة

#6

السلام عليكم و رحمة الله و بركاته

هذا مثال علي طريقة أبو حمود

http://www14.brinkster.com/mtarafa/forms/count.zip

و ان كنت أنا أفضل طريقة الفورم الرئيسي و الفورم الفرعي حيث سيظهر لي السجلات التي أريد عدها

#7

شكراً أخ مصراوي على المثال فالفائدة فيه تتضح بشكل أكبر .

الأخ 5060

الكود كالتالي :

TxtDcount = DCount("[1]", "Tbl1", "[1] like 'فني*'")

ثم اسئل مابدا لك أهم شيء عندي أنني إذا ذكرت شيء فأرغب أن تستفيد منه لأنني قد أتعب فيه وإذا لم تفهمه فأحب أن تكرر السؤال عنه وإلا مالفائدة ؟;)

ولك تحياتي

#8

أخي وإستاذي الفاضل ابو حمود

شكراً جزيل الشكر على سعة صدرك وتواضعك وهذا يدل على معدنك الطيب ونعم الأخ والسند فعلاً المثالين السابقين يساويان عندي ما قد عرفته في برمجة أكسيس وفقك الله وقد فهمتهما الأن جيداً

#9

الأخ /مصراوي

أشكرك على المثال ونعم الأخ أنت

#10

ما عمر الزين أكتمل

لقد قمت بنسخ الكود

 TxtDcount = DCount("[1]", "Tbl1", "[1]= like 'فني*'")

وغيرت في التسميات فقط كالتالي:

 txt2 = DCount("[Rotba]", "TblName", "[Rotba]= like 'رقيب*'")

ولكن تظهر لي رسالة نصها الأتي:

Run-time Error 3075

خطاء في بناء الجملة (عامل مفقود)في تعبير الستعلام

فهل ياترى ما هو الخطأ 0

#11

نعم الخطأ مني امسح علامة يساوي قبل Like .

ولك تحياتي

#12

شكراً لقد أصبح كل شيء على ما يرام أكرر شكري لك أخي ابو حمود

#13

للرفع .. ((للفائدة)) و ((للأرشيف))

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…