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

سؤال عن كيف أقوم بادراج رسالة في حقل لعدة سجلات بأمر واحد

مغلق
بدأه المفتاح في 26 يناير 2003 · 8 رد · 791 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الأخوة الزملاء خبراء أكسس

لدي قاعدة بيانتا أسمها maarf موجودة في c:maar95 وفي قاعدة maaref جدول st_student وفيه حقل اسمه msg1 وهو عبارة عن رسالة للطالب .

و المطلوب لوتكرمتوا هو عمل كود في مربع نص في نموذج نستطيع كتابة رسالة ( لا تزيد عن 100 حرف ) ومن ثم لصقها في نفس الحقل ( msg1 )

لطلاب محددين يتم فرزهم حسب الحقل alsaf الموجود في نفس الجدول حيث أن الحقل alsaf يحتوي على أرقام كل رقم يمثل فصل مثل رقم ( 6 ) الصف السادس ،

أما الكود فيتعرف على رقم الصف من القائمة المنسدلة من نفس النموذج .

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

وألف شكر ، والسلام عليكم ورحمة الله وبركاته

مëçل_çلٌَçلé.zip

#2

أخي الكريم

السلام عليكم

مرفق المثال بعد التعديل مع ملاحظة وضع الاستعلام update_msg في القاعدة التي تعمل عليها

تحياتي

أخوك / أبو هاجر

thani.zip

#3

تعجز الكلامات أن تصف كرمك وجميل صنعك

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

DoCmd.OpenQuery "update_msg"

فمادري ماهو السبب ، كما أسأل هل بالإمكان تحديد عدد حروف الرسالة بحيث لا تزيد على 100 حرف .

#4

أخي الكريم

السلام عليكم

إذا كنت جربت المثال مباشرة فلا أدري ما المشكلة لأنني نزلته الآن وجربته وهو يعمل بشكل صحيح

إما إذا كنت حاولت تطبيق المثال على برنامجك بعد نقل الكود فالخطأ ربما هو أنك لم تنقل الاستعلام "update_msg" إلى برنامجك

الرجاء كتابة نص الرسالة التي تظهر لك حتى أستطيع المساعدة

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

If Len(Me.msg) > 100 Then

Beep

MsgBox "عفواً الحد الأقصى لطول الرسالة هو 100 حرف ، رسالتك الحالية تحتوي على  " & Len(Me.msg)

Exit Sub

End If

تحياتي

أخوك / أبو هاجر

#5

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

أبو هاجر

لقد جربت المثال الذي أرسلت لي كماهو لم أغير فيه شيء ،

أما الرسالة التي تطلع لي فهي بالأنقليزي وهي كتالي

Run-time error '3073':

Operation must use an updatable querx

وتحتها ثلاث أيقونات وهي تصحيح أو إنهاء أو تعليمات

ملاحظة : ياليت إن عدلت بالبرنامج أن تكتب فيه كود عدد حروف الرسالة

#6

أخي الكريم

السلام عليكم

تأكد أن قاعدة بيانات معارف التي تنفذ الاستعلام عليها ليست للقراءة فقط

الرسالة السابقة تقول إنك يجب أن تستخدم استعلامات قابلة للتحديث وبما أنك تحدث بيانات في قاعدة بيانات أخرى فربما المشكلة في قاعدة البيانات الأخرى خاصة أن البرنامج يعمل عندي بشكل جيد

أما بالنسة لطول الرسالة فلعلك تقوم بذلك بنفسك حتى تستفيد

تحياتي

أخوك / أبو هاجر

#7

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

أخي أبو هاجر

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

#8

أخي الكريم

السلام عليكم

بالطبع يمكن أن نتعامل معها بالكود دون الحاجة إلى استعلام تحديث لكن ما هو السبب في ذلك

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

زد على ذلك أن استعلامات التحديث هي الطريقة الأسرع لتعديل البيانات

ملاحظة : إذا كانت مشكلتك في استعلام التحديث فيمكن تنفيذ الأمر نفسه عن طريق الأمر Docmd.runsql ثم تمرير عبارة sql الخاصة بالاستعلام وفي هذه الحالة لن تكون بحاجة إلى وضع استعلام التحديث في برنامجك

ربما هذا ما تريد !!!

تحياتي

أخوك / أبو هاجر

#9

أشكرك على الرد السريع .

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

أخي أبو هاجر لم أفهم قصد كلامك ( ثم حذف الجدول المرتبط دون أن يعلم المستخدم )

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

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

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

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

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

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