سلام عليكم يا شباب
الشاشة دي حتة من برنامج مبيعات عندي فيها مشكلة صغيرة
كان نفسي ارفع البرنامج كله عشان تقوليلي رأيكم فيه ايه بس للاسف حجمه اكبر من اللازم حتى بعد الضغط
مطلوب تحسينها
ma_monem كتب:سلام عليكم يا شباب
الشاشة دي حتة من برنامج مبيعات عندي فيها مشكلة صغيرة
كان نفسي ارفع البرنامج كله عشان تقوليلي رأيكم فيه ايه بس للاسف حجمه اكبر من اللازم حتى بعد الضغط
مطلوب تحسينها
وعليكم السلام ورحمة الله وبركاته
أخي الكريم عندي يعمل المثال على الشكل التالي :
ادخلت مثلا 1 رقم الصنف وبعدها انتر يأخذ المادة فلم احتاج الى الضغط مرتين انتر او على اشارة ال +
اما الباركود فبقوم بشكل تلقائي بعملية الانتر بمجرد تلقيه رقم الصنف (لم أجرب ذلك على مثالك لعدم وجود باركود لدي الآن ولكن أنا مجربه قبل ذلك وأعلم هذه الخاصية في الباركود)
جرب البرنامج على جهاز آخر
تحياتي
اخي الفاضل : منعم
السلام عليكم ورحمة الله وبركاته
تفضل ملفك بعد التعديل بناء على طلبك
جرت العادة على استخدام خاصية( Boolean values ) فتكون False عندما نريد ايقاف رسائل التنبية من الإستعلامات او الجداول ولإعادة الرسائل نستخدم True
حيث وجدنا في الكود الخاص بك هذه العباره الغير معروفه
DoCmd.SetWarnings (warningsof)
والصحيح هو وضع مثل هذه العبارات
'Turns off the Access warning messages
DoCmd.SetWarnings False'Turns the Access warning messages back on
DoCmd.SetWarnings Trueراجع هذا الربط لمزيد من المعلومات
http://msdn.microsoft.com/en-us/library/bb214103(v=office.12).aspx
بالنسبة للتعديل الخاص بملفك سيكون كالتالي
وضع هذا الكود في حدث بعد التحديث لمربع النص الذي يتم ادخال قيمة الصنف به بهذه الطريقة
Private Sub Text125_AfterUpdate()
Me.Command136.SetFocus
SendKeys "{ENTER}", True
End Subالآن قم بالتجربة
1. ادخل اي قيمة في مربع النص سواء 1 او 2 او 3
2. اضغط مره واحده على مفتاح انتر او استخدم الباركود لعملية الإدخال وانظر النتيجة
طبعا ستكون النتيجة هي افراغ مربع نص الصنف وتحديث النموذج كاملا حسب طلبك
بالتوفيق
أولا شكرا على المساعدة الطبية
بالنسبة لجملة warningsof هي تماثل جلمة warnings false
و warningson نفس warnings true
هي نفس الاستخدام
بس للاسف انا جربت التعديل اللي ارسلتيه بيطلعلي رسالة permission denied
تم تعديل هذه المشاركة بواسطة ma_monem في 27 أبريل 2012 في 02:38
ma_monem كتب:أولا شكرا على المساعدة الطبية
بالنسبة لجملة warningsof هي تماثل جلمة warnings false
و warningson نفس warnings true
هي نفس الاستخدام
بس للاسف انا جربت التعديل اللي ارسلتيه بيطلعلي رسالة permission denied
اخي الفاضل : منعم
بالنسبة للنقطة الأولى هل ممكن تعطينا المرجع الذي اعتمدت عليه بأن جملة warningsof هي تماثل جملة warnings false و warningson نفس warnings true
لأنني بحثت في جميع المراجع وقمت بسؤال المتخصصين والخبراء في مايكروسوفت وابلغوني ان هذا التعبير خاطئ ولا اساس له من الصحه والقصد من وضع warningson انما يعود على وضع خيارات التحذير في حالة اختيارها يدويا كما في الصورة التالية
وايضا بالتطبيق العملي بناء على كلامك اتضح انه تعبير خاطئ
من هذا يتضح ان التعبير الصحيح لإستخدام الدالة SetWarnings هو كالتالي :
لإيقاف رسائل التحذير في الكود نستخدم هذه الطريقة
DoCmd.SetWarnings False
ولإعادة تحذير الرسائل في الكود نستخدم هذه الطريقة
DoCmd.SetWarnings True
اذا كان لديك اي تعليق على هذه المناقشة ارجو افادتنا بما فتحه الله عليك حتى لا نعطي او نضع للأعضاء معلومات خاطئة فقد يأتي شخص مبتدأ لا يعرف في مثل هذه الأمور ويعتقد ان كلامك صحيح .
بالنسبة للنقطة الثانية بأن التعديل الذي قمنا به لك يعطيك رسالة خطأ فأقول لك حاول تتأكد من اعدادات البرنامج لديك بصوره صحيحه لأن البرنامج او مثالك يعمل بصورة صحيحه 100% وبدون اخطاء
ولك ان تتأكد من هذا الكلام من خلال هذا الفيديو لبرنامجك بعد التعديل الذي عملته لك او يقوم احد الأخوة الكرام في المنتدى بتحميل التعديل الأخير والتأكد منه
بالتوفيق
بارك الله فيك أستاذتنا الكريمة ... زادك الله علماً ..
وشكراً على الرابط ... وأن تمنيته باللغة العربية ... لكن لا بأس بمزيد من المجهود فى الترجمة.
تم تعديل هذه المشاركة بواسطة omar19-3 في 27 أبريل 2012 في 14:33
اللهم لك الحمد كما ينبغى لجلال وجهك وعظيم سلطانك .. لا إله إلا أنت سبحانك أنى كنت من الظالمين
اللهم لك الحمد كما ينبغى لجلال وجهك وعظيم سلطانك .. لا إله إلا أنت سبحانك أنى كنت من الظالمين
ma_monem كتب:اشكر لك اهتمامك بالرد انا جربت الفيل على جهاز تاني واشتغل تمام
بالنسبة لجملة setwarnings أنا باستخدمها باستمرار والفيل شغال عندي ومش بيطلع الرسالة اللي عندك
على فكرة انا عندي اوفيس 2003
بارك الله بك اخي الفاضل : منعم
من طبعي لا احب مجادلة احد في شيء هو مقتنع به
ولكن اريدك ان تقنعني سواء بمصدر موثوق او اي شيء صحيح استندت عليه في مثل هذه المعلومه
عموما هذا ملفك الآخير الذي تقول انه يعمل بصورة صحيحة
قم بفتحه واضغط على زر الأمر ( بدون رساله ) وانظر المفاجأة واخبرنا بالنتيجة لأبلغك بالخطأ الذي انت وقعت فيه وتعتقد انه صحيح
بكل تأكيد ستظهر لك رسالة الخطأ بمجرد الضغط على زر الأمر
ولعلمك يوجد لدي في الجهاز نسخة 2003 و 2007 و 2010 وكلها تعمل بنفس الوقت ولا يوجد بينها اي تعارض
لأنني جربت مثالك على كل النسخ وجميعها تظهر نفس الخطأ لأن التعبير او معامل الدالة خاطئ ولا يقبلها برنامج الأكسيس ابدا .
رجاء لا تغير اي شيء في الملف بل قم بفتحه مشكورا واضغط على زر الأمر ( بدون رساله ) وابلغنا بالنتيجة
بالتوفيق
سلام عليكم
الغريب في الموضوع ان الفيل القديم لا يعطي رسالة خطأ
لكن الفيل بعد ما استلمته يعطي رسالة خطأ
ولا اشكك
بس الغريب يا استاذة ان دي مش اول مرة اكتب الكود ده انا عايز اقولك اني وزعت نسخات من البرنامج ده وشغالة تمام
ma_monem كتب:سلام عليكم
الغريب في الموضوع ان الفيل القديم لا يعطي رسالة خطأ
لكن الفيل بعد ما استلمته يعطي رسالة خطأ
ولا اشكك
بس الغريب يا استاذة ان دي مش اول مرة اكتب الكود ده انا عايز اقولك اني وزعت نسخات من البرنامج ده وشغالة تمام
بارك الله بك اخي الكريم : منعم
هذه هي الإجابه على سؤالك
بالتوفيق
على فكرة انا اكتشفت نفس الموضوع
option explicit
واضح ان الاكسس بيخلي setwarning بيخليها false اذ مررنا لها معامل فاضي
فهو كان بيعتبر كلمة warningsof متغير empty وكان فيخليها false
ma_monem كتب:على فكرة انا اكتشفت نفس الموضوع
option explicit
واضح ان الاكسس بيخلي setwarning بيخليها false اذ مررنا لها معامل فاضي
فهو كان بيعتبر كلمة warningsof متغير empty وكان فيخليها false
اخي الفاضل : منعم
نستخدم Option Explicit ( خيار التصريح للمتغيرات ) في الـ VBA لتجنب كتابة اسماء متغيرات غير موجودة بشكل غير صحيح أو لتجنب الالتباس في التعليمات البرمجية عندما يكون نطاق المتغير غير واضح و بهذه الطريقة، يمكننا تصحيح الخطأ فورا قبل المتابعة إلى السطر التالي من التعليمات البرمجية .
ولهذا اذا قمنا بحذف Option Explicit من التعليمات البرمجية او من اي وحده نمطية فلن يتم تدقيق الأخطاء بالنسبة للمتغيرات سواء رقمية او نصية بل سيعتبرها كلها متغيرات غير محدده النطاق .
بالتوفيق
zahrah كتب:اخي الفاضل : منعم
السلام عليكم ورحمة الله وبركاته
تفضل ملفك بعد التعديل بناء على طلبك
جرت العادة على استخدام خاصية( Boolean values ) فتكون False عندما نريد ايقاف رسائل التنبية من الإستعلامات او الجداول ولإعادة الرسائل نستخدم True
حيث وجدنا في الكود الخاص بك هذه العباره الغير معروفه
DoCmd.SetWarnings (warningsof)والصحيح هو وضع مثل هذه العبارات
'Turns off the Access warning messages DoCmd.SetWarnings False'Turns the Access warning messages back on DoCmd.SetWarnings Trueراجع هذا الربط لمزيد من المعلومات
http://msdn.microsof...office.12).aspx
بالنسبة للتعديل الخاص بملفك سيكون كالتالي
وضع هذا الكود في حدث بعد التحديث لمربع النص الذي يتم ادخال قيمة الصنف به بهذه الطريقة
Private Sub Text125_AfterUpdate() Me.Command136.SetFocus SendKeys "{ENTER}", True End Subالآن قم بالتجربة
1. ادخل اي قيمة في مربع النص سواء 1 او 2 او 3
2. اضغط مره واحده على مفتاح انتر او استخدم الباركود لعملية الإدخال وانظر النتيجة
طبعا ستكون النتيجة هي افراغ مربع نص الصنف وتحديث النموذج كاملا حسب طلبك
بالتوفيق
بسم الله الرحمن الرحيم
تشكري أستاذتنا زهرة .. ربنا يحفظك لينا ويخليكِ ويبارك ليكِ وفيكِ .. ولو إن قلبك قسي علي اليومين هذي
مدري ليش .. لكن صدقيني ما بمر على مشاكرة من مشاركاتك غير وأضغط على اختيار (مشاركة مفيده = نعم)