اذهب الي المحتوي
أوفيسنا

jjafferr

أوفيسنا
  • Posts

    9975
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    406

كل منشورات العضو jjafferr

  1. نعم هي الطريقة الافضل ، والكود اللي وضعته لك يضع الباركود من ضمن الحفظ ، وعليه يجب عليك ان تخفي الزر الخاص بالباركود 🙂 جعفر
  2. همم ، نعم ردّي كان بالفعل بالقطارة ، وبطريقة موجزة 🤣 واليك الرد بطريقة تختلف قليلا: 1. جميع الدوال التي تنادي مكتبات الوندوز (32بت و 64بت) موجودة في الملف Win32API_PtrSafe.zip والموجود في موضوع: اجعل برنامجك يعمل على النواتين 32بت و 64بت ، فمثلا الدالة Sleep هي جزء من المكتبة kernel32 : Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal lngMilliSeconds As Long) 2. مثل ما قلت في مشاركتي السابقة: ومقدرة/عمل هذه الدوال تبدأ من بداية تشغيل الكمبيوتر الى إغلاقه ، لذلك ، فلا حاجة لنا بالتعرف على معظم هذه الدوال وطريقة عملها ، لأنها تعمل بطريقة تلقائية، 3. فكر بكل دالة من هذه الدوال ، كأنها "حدث" في نموذجك/الوحدة النمطية ، انت تنادي الحدث وقت الحاجة ، ولكل نوع من الدوال متغيرات معينه تخصه 🙂 وبعد قراءتي لما كتبته مرة اخرى ، تذكرت المثل الذي يقول: فسر الماءَ بعد الجهد بالماءِ 😂 جعفر
  3. وعليكم السلام 🙂 مثل ما تفضلتوا وقلتوا ، الهدف من المنتدى هو مساعدة الاخرين إبتغاءً لوجه الله تعالى ، والمنتدى تلقائيا ، وبحسب عدد المشاركات ، ينقل العضو من رتبه الى رتبه اعلى ، حتى نعرف اقدمية العضو ، والسماح له بإستخدام نظام المراسلة في المنتدى🙂 معظم المنتديات تُريد ان يتم التعرف على الاعضاء اصحاب الخبرة في المنتدى ، لذا فكل منتدى له طريقته في الترقية ، والفائدة/الميزة التي يتمتع بها الخبير ، في وجهة نظري ، هي شهادة من المنتدى بأن هذا الخبير له القدرة على التعامل مع البرنامج ، ومؤهل لتقديم خدمات افضل للبرنامج ، وعليه ، يمكن لهذا الخبير ان يكتب في سيرته الذاتية ان لديه مرتبة خبير في البرنامج الفلاني من المنتدى الفلاني ، والذي على اساس مستوى المنتدى وعدد اعضاءه وعدد المشاركات اليومية ، يتم تقييم رتبة المنتدى عالميا ، بالاضافة الى المنتديات ، فحتى شركة مايكروسوفت تعطي مثل هذه الشهادة ، MVP ، والتي مثل شهادة الخبير في منتدانا ، هي شهادة فخرية عن مقدرة الخبير وجهده في مساعدة الآخرين 🙂 لكل من اعضاء فريق الموقع طريقة في تقييم الاعضاء ، وبالنسبة لي ، فأنا عندي قائمة ، اتابع فيها الاعضاء ، والملاحظ ، ان معظم الاعضاء الذين يساعدون الآخرين ، يكتسبون الخبرة اسرع بكثير من الاعضاء الذين يسألون الاسئلة فقط ، وبمرور الوقت ، تكون اجاباتهم انضج وشرحهم اوضح وفي الاتجاه الصحيح 🙂 طبعا رتبة خبير لا تعني ان بقية الاعضاء ليسوا ذو خبرة في الاجابة 😁 جعفر
  4. ما تخسر اذا جربت ، و افدنا بالنتيجة 🙂
  5. وعلشان اخوي ناقل يعرف محل الشباب من الاعراب 🙂 جعفر
  6. السلام عليكم 🙂 حياك الله اخوي @ناقل بين اخوتك ، لنا الفخر ان نلصق هذه التسمية على صدرك ، فانت اهل لها 🙂 والشباب اللي شمشموا الخبر من البارحة ، فالخبر نضج الآن ، وحياكم الله 🙂 جعفر
  7. السلام عليكم 🙂 الدوال نوعين : اولا: نوع نحن نعمله ، وهناك نوعين منهم: كل كود "حدث" في الاكسس ، هو دالة ، وهذه الدوال لها متغيرات ثابته ، لا يمكنك تغييرها ، دوال نحن نعملها ، سواء في وحدة نمطية مستقلة ، او في كود النموذج او التقرير ، وهذه يمكن ان يكون بها متغيرات ، ثانيا: دوال تنادي مكتبات الوندوز/نظام تشغيل الكمبيوتر: الاكسس او اي برنامج آخر ، يقع تحت مظلة نظام تشغيل الكمبيوتر ، ومقدرة/عمل هذه الدوال تبدأ من بداية تشغيل الكمبيوتر الى إغلاقه (فكر بها كأنها "حدث" في نموذجك) ، وبعض هذه الدوال عندها مقدرة تفوق/خارج مقدرة الاكسس (مثل التخاطب والتحكم بالاجهزة المرتبطة بالكمبيوتر) ، وهذا كان قصد @Eng.Qassim في شرحه في مشاركة 🙂 جعفر
  8. تعجبني هذه البساطة ، ناقل وبس 😎
  9. لا تغير السالفة ، الرجال كما قال: هذا دليل اني احيانا اقول اشياء مفيدة 😁 جعفر
  10. صدقني ، انا قلت نفس الشيء امس لأحد الاعضاء 😂 بس الخبير ما يجي منه إلا كلام خبرة 😉 جعفر
  11. وعليكم السلام 🙂 1. اذا تم مناداة الدالة (من الاستعلام مثلا) ، فعادة يتم ارسال قيم اليها ، حتى تقوم الدالة بحساب المطلوب ، وعليه ، الاكسس لا يسمح لك بإرسال بيانات من نوع مختلف ، 2. ولكن الدالة تحتاج الى متغيرات اخرى لتقوم بعملها ، لذا نعرّف هذه المتغيرات داخل الدالة 🙂 كما انك تستطيع ان لا تُعرّف المتغيرات كما في رقم #1 ، بل تقوم بتعريفها داخل الدالة ، ولكن حينها تقع عليك مسؤولية التأكد من ان نوع البيانات صحيحة 🙂 فدع الاكسس يقوم بعمله ، وهي الطريقة الصحيحة 🙂 جعفر
  12. وعليكم السلام 🙂 1. اختار جميع الحقول اللي تريد لونها يتغير ، ثم انقر على زر التنسيق الشرطي من القائمة اعلاه . 2. اعطي نفس التنسيق الذي ذكرت لجميع حقول الموظف . شكرا اخوي ناقل ، استفدت من كلماتك 🙂 جعفر
  13. وعليكم السلام 🙂 عملت بحث ، ولقيت العديد من المواضيع ، وهذا منهم: جعفر
  14. وعليكم السلام 🙂 غالبا هي مشكلة في اعدادات لغة unicode الوندوز . فإذا كان برنامجك بالعربي ، فاختار احد الدول العربية ، واذا كان البرنامج بالفرنسي ، فاختار فرنسا ، وهكذا ... جعفر
  15. السلام عليكم 🙂 علاقة الجدولين عندك: . 1. تفرض ان جميع بيانات الحقل ProductBarcode يجب ان تكون موجودة مسبقا في الحقل Items_Code ، 2. ولكنك لم تفرض تغيير/تحديث بيانات الحقل ProductBarcode عندما تتغير/تتحدث بيانات الحقل Items_Code ، 3. ولم تفرض حذف بيانات الحقل ProductBarcode عندما تحذف بيانات الحقل Items_Code ، لذلك ، فلما يكون عندك سجل في الجدول inventory Transaction ، ولا توجد بيانات في الحقل ProductBarcode : أ. فهذا لا يعني ان الحقل ProductBarcode لا توجد به قيمة ، بل ان قيمته Null او لا شيء (وهي قيمة في وجهة نظر قاعدة البيانات) ، ب. ولما تُدخل سجل جديد في الجدول Items ، وتترك الحقل item_code بدون قيمة (بل ان قيمته Null او لا شيء في وجهة نظر قاعدة البيانات) ، ج. وبسبب علاقة الجدولين ، تتم مقارنة بيانات الحقلين ، ويكونان متساويين ، ويكون هناك ارتباط بينهم ، د. فقيمة هذا الحقل لا يمكن تغييرها في اي من الجدولين ، لأنك لم تطلب ذلك في العلاقات (انظر رقم 2 اعلاه) (جرب واعمل سجل فارغ في الجدولين ، وبدون اي قيمة في الحقلين ، ثم حاول تغيير قيمة productBarcode او قيمة Item_Code ، فستحصل على نفس رسالة الخطأ التي كانت تأتيك سابقا. اذن الحل: اولا: عدم ترك اي سجل في الجدولين، تكون قيمة الحقلين اعلاه فارغة 🙂 ثانيا: الحل الآخر هو تغيير نوع العلاقة ، بحيث تسمح لتغيير/تحديث بيانات الحقلين: . وبهذه الطريقة ، سيمكنك مواصلة العمل في برنامجك كما هو ، ولكن انتبه ، وبسبب العلاقة الجديدة ، فلما تُدخل قيمة في الحقل الفارغ items_code ، فستقوم بتعبئة جميع الحقول الفارغة في ProductBarcode ، وهذه كارثة !! . في الواقع الحل الوحيد هو اولا ، لأنه حتى ولو انك تستطيع ان تسيطر على الحل ثانيا ، ولكن اذا استعملت البرنامج في شبكة ولأكثر من مستخدم ، فستتلخبط الارقام 🙂 هذا بالنسبة للعلاقة ، والآن فلنرى لماذا تكون لدينا حقول فارغة : الكود خلف زر الحفظ هو السبب ، فلم تكن تحفظ رقم الباركود مع السجل ، لهذا السبب ، يجب حذف زر "انشاء باركود" ، وضم كوده الى كود الحفظ ، ليصبح كود زر الحفظ كالتالي: Private Sub P4_Click() [Items_Code] = DLookup("[باركود]", "barcodeOnSName", "[Items_ID]=[Item_Supplier_ID]") DoCmd.RunCommand acCmdSaveRecord '<== احفظ البيانات فقط 'DoCmd.Save <== هذا الامر معناه احفظ تصميم النموذج، وليس حفظ البيانات 'DoCmd.RefreshRecord <== يمكن استعمال هذا الامر للحفظ ، ولكنه يحفظ البيانات ، ثم يقرأها من الجدول مرة اخرى ، لهذا السبب يحدث وميض في النموذج Ms$ = "تم التسجيل الصنف بنجاح" Ti$ = "رسالة تنبيه اضافة صنف جديد" Re = MsgBox(Ms$, 64, Ti$) End Sub جعفر
  16. نعم ، حسب بيانات مايكروسوفت في الملف Win32API_PtrSafe والمرفق في اول مشاركة لي 🙂 جعفر
  17. جرب هذا احذف هذه الاسطر #If VBA7 Then Private Declare PtrSafe Function apiGetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, nSize As LongPtr) As Long #Else Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long #End If واستبدلها بهذا Private Declare PtrSafe Function apiGetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long فيه تعديل في السطر الاخير ، فلا تستعمل السطر اللي عندك ، وانما اعمل نسخ للسطر الذي كتبته لك اعلاه 🙂 جعفر
  18. ظاهرا هناك خلل في نسخة الاوفيس المستخدمة ، فجرب ان تعمل لها تحديث ، او جرب نسخة اخرى فيها جميع تحديثات الاوفيس 🙂 جعفر
  19. المشاركة اعلاه فيها طلبك: جعفر
  20. بالصحة والعافية 🙂 جعفر
  21. الله يسلمك ويعافيك اخوي موسى 🙂 مو اخبار الشواء هالعيد 😋 جعفر
  22. وعليكم السلام 🙂 عيدك مبارك اخوي عبدالله 🙂 1. هناك مكتبات تعمل على النواتين ، فقط تضيف PtrSafe لما تصرح عن المكتبة باستعمال Declare ، 2. وهناك مكتبات تحتاج الى تصريح خاص لنواة 32بت ، وتصريح آخر لنواة 64بت ، 3. وهناك مكتبات لا تعمل على 64بت ، ولا تعطي خطأ ، وهذه يجب ان تجد البديل لعملها او طريقة اخرى للقيام بما تريد. اما ان البرنامج يعمل لفترة معينة ثم يُغلق ، فلم اسمع عنها !! ارفق المكتبة ، والجزئية التي تستعملها في البرنامج ، وخلينا نشوف طريقة المثلى للتعامل معاها 🙂 جعفر
  23. استخدم ملفاتك الاصليه ، افصل الشبكة واشتغل من كمبيوتر ثاني ، وبتظهر لك المشكلة. اساس المشكلة مو الاكسس ، وانما الوندوز ، فلما حفظت/غيّرت اسماء ملفاتك يدويا ، الوندوز اضاف هذه العلامات اللي ما تنشاف بالعين ، او يمكن انت بدأت تكتب اسم الملف ، واتضح لك انك تكتب بالعربي ، فحذفت الكلمات العربية ولكنك لم تحذف اسم الملف كاملا ، وبقيت التشكيلات التي لا تراها ، ثم واصلت بكتابة الاسم بالانجليزي !! برنامجك يقرأ اللي الوندوز اعطاه 🙂 وابويا انا عليك موسى ، صح كنت مستعجل ، لكن ما متدوده ، صاني قلت لك: جعفر
  24. وعليكم السلام 🙂 وبعد ان اصلحت يدويا في الجدول مسارات قواعد البيانات ، شفت 3 ملفات ما يشوفها البرنامج : . للتأكد ان الاسم والمسار صح في الجداول ، مقارنه مع مكان الملفات: . اخذت اسم الملف الغير ظاهر في النموذج اعلاه (ما كتبته ، وانما عملت له نسخ ولصق) ، علشان يصير عندي المسار كاملا مع اسم الملف : . والصقته في VBE ، واذا المشكلة ممتدة الى اسماء الملفات كذلك : . وانا على سفر اليوم العصر ، فما بالحق اجرب اكثر ، للأسف 😞 على العموم ، انا قمت بتعديل مرفقك اعلاه ، فاللي يجي ورائي ان شاء يقدر يجرب مباشرة 🙂 ولكن ، بغض النظر ، فعملك جبّار وواضح فيه لمسات جميلة ، والكثير ممكن يستفيد منه 🙂 جعفر
×
×
  • اضف...

Important Information