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

دمج حقلين يتوسطهما فاصلة

بدأه sweety78 في 6 نوفمبر 2011 · 7 رد · 707 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

في قاعدة البيانات المرفقة... وكما توضح الصورة المرفقة، يوجد كائنين من نوع كمبوبوكس.

المطلوب عند الضغط على الزر واذا كان احد الكائنين فارغ، تظهر النتيجة (محتوى الكائن فقط) واذا كان كلا الكائنين شاغرين تكون النتيجة (محتوى الكائن الاول وبعدها فاصلة ومسافة ومحتوى الكائن الثاني) او تنفيذ المطلوب بواسطة (دالة) مثلاً.

ارجو الاضطلاع على الصورة ففيها شرح يبين المطلوب

لقد حاولت عمل اللازم بالكود ولكن واجهتني بعض المشاكل في البرنامج الذي اعمل عليه وهي حتى عند اختيار كائن واحد فقط تظهر الفاصلة بعده، لذا اتمنى تنفيذ الامر بذات النتيجة بكود مختلف او ارشادي عن الخطأ ان وجد

مع خالص تحيااااتي وكل عام وانتم بخير

post-145478-027581600 1320578950_thumb.j

2f.rar

المرفقات
f2.jpg

تم تعديل هذه المشاركة بواسطة sweety78 في 6 نوفمبر 2011 في 14:57

#2

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

كل عام وانتم بخير المنتدى والاعضاء والقائمين عليه

أخي sweety78 هل هذا ما تقصده

2f.rar

#3

السلام عليكم

اخي راكز شكراً لك

يبدوا ان سؤالي قد التبس عليك نوعاً ما

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

وهي عندما يكون الكائن col1 شاغر والآخر فارغ تكون النتيجة مثلاً ,Cash اي لا اريد للفاصلة ان تظهر الا في حال كان كلاهما شاغرين (مثال: Cash, Credit_Payment).

اتمنى ان اكون وققت في شرح سؤالي

تقبل تحيااااتي

#4

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

كل عام وأنتم بخير

تم تعديل كود أخي راكز ليتوافق مع ما تطلبه, بحيث أصبح بالشكل التالي:

If IsNull(Combo4) Then
Me.Text6 = Me.Combo0
ElseIf IsNull(Combo0) Then
Me.Text6 = Me.Combo4
ElseIf IsNull(Combo0) And IsNull(Combo4) Then
Me.Text6 = ""
Else
Me.Text6 = (Combo0) & ", " & (Combo4)
End If

بالتوفيق للجميع.

3f.rar

#5

السلام عليكم

استاذي غرام العقول الله يعطيك العافية...

لقد استخدمت في المثال المرفق في المشاركة كود شبيه الى حد ما بالكود الذي قمت بإدراجه في مشاركتك الا ان الفرق بينهما سطر واحد

الكود الذي استخدمته في مثالي:

If IsNull(Combo4) Then
Me.Text6 = Me.Combo0
ElseIf IsNull(Combo0) Then
Me.Text6 = Me.Combo4
Else
Me.Text6 = (Combo0) & ", " & (Combo4)
End If

الكود الاضافي في مشاركتك:

ElseIf IsNull(Combo0) And IsNull(Combo4) Then

مشكلتي هي عند اختياري لقيمة في حقل واحد فقط ولتكن على سبيل المثال Cash تظهر لي بهذا الشكل ,Cash وحسب الكود الذي وضعته في اعتقادي يجب ان تظهر القيمة لوحدها دون فاصلة والفاصلة تظهر في حين اختيار قيمتين للفصل بينهما

سؤالي: هل الكود الاضافي هو حل المشكلة؟

مع العلم بأنني عندما اعيد صياغة الكود لا تظهر لي الفاصلة في بعض الاحيان وعند تنفيذ الامر عدة مرات اتفاجئ بأنها تظهر (وهذا اللي مجنني).

كذلك حتى عندما يكون كلا الحقلين فارغين وعند الضغط على الزر تظهر لي الفاصلة لوحدها !!!!!

تحياااااتي

هل ممن المكن تنفيذ الامر بواسطة الدوال؟

#6

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

ملاحظة : يبدو من الصورة انك تستخدم اوفيس 2007 وأنا استخدم 2003

وفق الله الجميع

post-53864-017736000 1320615159_thumb.pn

المرفقات
f2.png
#7
sweety78 كتب:

سؤالي: هل الكود الاضافي هو حل المشكلة؟

مع العلم بأنني عندما اعيد صياغة الكود لا تظهر لي الفاصلة في بعض الاحيان وعند تنفيذ الامر عدة مرات اتفاجئ بأنها تظهر (وهذا اللي مجنني).

كذلك حتى عندما يكون كلا الحقلين فارغين وعند الضغط على الزر تظهر لي الفاصلة لوحدها !!!!!

تحياااااتي

هل ممن المكن تنفيذ الامر بواسطة الدوال؟

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

هل الكود الإضافي هو حل المشكلة؟

الجواب: إلى حد كبير نعم. والسبب أنه عندما يقوم البرنامج بقراءة الكود يجب أن يكون كود الشرط If قد غطى جميع الاحتمالات التي من الممكن حدوثها, فإن لم تقم أثناء كتابة الكود بتغطية هذه الاحتمالات جميعها فلن يستطيع البرنامج تنفيذ الكود بشكل صحيح.

هل ممن المكن تنفيذ الامر بواسطة الدوال؟

إذا كنت تقصد بالدوال, الدوال الموجودة والمعرّفة من قبل برنامج الاكسس, فالجواب قطعاً لا.

أما إذا كنت تقصد الدوال المعرّفة من قبل المستخدم, فالجواب نعم يمكن ذلك, ولكن لماذا الدوال؟ ومتى يستخدم المبرمج الدوال؟

يقوم المبرمج ببناء دالة خاصة به عندما يجد نفسه مضطراً لإجراء حسابات أو عمليات شرطية أو منطقية متكررة في برنامجه, خاصة عندما يكون عدد المتغيرات أو الاحتمالات غير معروف مسبقاً, (مثل عدد سجلات جدول ما, فقد تكون بضعة سجلات أو مئات الألوف, أو لا توجد سجلات على الإطلاق) أو مثلاً القيمة الغير معروفة والمتغيرة لهذه السجلات.

أما في مثالك السابق فلا يوجد داعٍ لبناء دالة خاصة, لأن عدد المتغيرات في مثالك محدود باثنين فقط. وبالتالي فإن الكود السابق يفي بما تطلبه وزيادة.

#8

استاذي غرام العقول..

تحية لك واشكرك على تواصلك وتجاوبك معنا

كما اشكر كذلك الاخ راكز

تحيااااتي

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