اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعلشان اخوي ناقل يعرف محل الشباب من الاعراب 🙂 جعفر
  2. السلام عليكم 🙂 حياك الله اخوي @ناقل بين اخوتك ، لنا الفخر ان نلصق هذه التسمية على صدرك ، فانت اهل لها 🙂 والشباب اللي شمشموا الخبر من البارحة ، فالخبر نضج الآن ، وحياكم الله 🙂 جعفر
  3. السلام عليكم 🙂 الدوال نوعين : اولا: نوع نحن نعمله ، وهناك نوعين منهم: كل كود "حدث" في الاكسس ، هو دالة ، وهذه الدوال لها متغيرات ثابته ، لا يمكنك تغييرها ، دوال نحن نعملها ، سواء في وحدة نمطية مستقلة ، او في كود النموذج او التقرير ، وهذه يمكن ان يكون بها متغيرات ، ثانيا: دوال تنادي مكتبات الوندوز/نظام تشغيل الكمبيوتر: الاكسس او اي برنامج آخر ، يقع تحت مظلة نظام تشغيل الكمبيوتر ، ومقدرة/عمل هذه الدوال تبدأ من بداية تشغيل الكمبيوتر الى إغلاقه (فكر بها كأنها "حدث" في نموذجك) ، وبعض هذه الدوال عندها مقدرة تفوق/خارج مقدرة الاكسس (مثل التخاطب والتحكم بالاجهزة المرتبطة بالكمبيوتر) ، وهذا كان قصد @Eng.Qassim في شرحه في مشاركة 🙂 جعفر
  4. تعجبني هذه البساطة ، ناقل وبس 😎
  5. لا تغير السالفة ، الرجال كما قال: هذا دليل اني احيانا اقول اشياء مفيدة 😁 جعفر
  6. صدقني ، انا قلت نفس الشيء امس لأحد الاعضاء 😂 بس الخبير ما يجي منه إلا كلام خبرة 😉 جعفر
  7. وعليكم السلام 🙂 1. اذا تم مناداة الدالة (من الاستعلام مثلا) ، فعادة يتم ارسال قيم اليها ، حتى تقوم الدالة بحساب المطلوب ، وعليه ، الاكسس لا يسمح لك بإرسال بيانات من نوع مختلف ، 2. ولكن الدالة تحتاج الى متغيرات اخرى لتقوم بعملها ، لذا نعرّف هذه المتغيرات داخل الدالة 🙂 كما انك تستطيع ان لا تُعرّف المتغيرات كما في رقم #1 ، بل تقوم بتعريفها داخل الدالة ، ولكن حينها تقع عليك مسؤولية التأكد من ان نوع البيانات صحيحة 🙂 فدع الاكسس يقوم بعمله ، وهي الطريقة الصحيحة 🙂 جعفر
  8. وعليكم السلام 🙂 1. اختار جميع الحقول اللي تريد لونها يتغير ، ثم انقر على زر التنسيق الشرطي من القائمة اعلاه . 2. اعطي نفس التنسيق الذي ذكرت لجميع حقول الموظف . شكرا اخوي ناقل ، استفدت من كلماتك 🙂 جعفر
  9. وعليكم السلام 🙂 عملت بحث ، ولقيت العديد من المواضيع ، وهذا منهم: جعفر
  10. وعليكم السلام 🙂 غالبا هي مشكلة في اعدادات لغة unicode الوندوز . فإذا كان برنامجك بالعربي ، فاختار احد الدول العربية ، واذا كان البرنامج بالفرنسي ، فاختار فرنسا ، وهكذا ... جعفر
  11. السلام عليكم 🙂 علاقة الجدولين عندك: . 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 جعفر
  12. نعم ، حسب بيانات مايكروسوفت في الملف Win32API_PtrSafe والمرفق في اول مشاركة لي 🙂 جعفر
  13. جرب هذا احذف هذه الاسطر #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 فيه تعديل في السطر الاخير ، فلا تستعمل السطر اللي عندك ، وانما اعمل نسخ للسطر الذي كتبته لك اعلاه 🙂 جعفر
  14. ظاهرا هناك خلل في نسخة الاوفيس المستخدمة ، فجرب ان تعمل لها تحديث ، او جرب نسخة اخرى فيها جميع تحديثات الاوفيس 🙂 جعفر
  15. المشاركة اعلاه فيها طلبك: جعفر
  16. بالصحة والعافية 🙂 جعفر
  17. الله يسلمك ويعافيك اخوي موسى 🙂 مو اخبار الشواء هالعيد 😋 جعفر
  18. وعليكم السلام 🙂 عيدك مبارك اخوي عبدالله 🙂 1. هناك مكتبات تعمل على النواتين ، فقط تضيف PtrSafe لما تصرح عن المكتبة باستعمال Declare ، 2. وهناك مكتبات تحتاج الى تصريح خاص لنواة 32بت ، وتصريح آخر لنواة 64بت ، 3. وهناك مكتبات لا تعمل على 64بت ، ولا تعطي خطأ ، وهذه يجب ان تجد البديل لعملها او طريقة اخرى للقيام بما تريد. اما ان البرنامج يعمل لفترة معينة ثم يُغلق ، فلم اسمع عنها !! ارفق المكتبة ، والجزئية التي تستعملها في البرنامج ، وخلينا نشوف طريقة المثلى للتعامل معاها 🙂 جعفر
  19. استخدم ملفاتك الاصليه ، افصل الشبكة واشتغل من كمبيوتر ثاني ، وبتظهر لك المشكلة. اساس المشكلة مو الاكسس ، وانما الوندوز ، فلما حفظت/غيّرت اسماء ملفاتك يدويا ، الوندوز اضاف هذه العلامات اللي ما تنشاف بالعين ، او يمكن انت بدأت تكتب اسم الملف ، واتضح لك انك تكتب بالعربي ، فحذفت الكلمات العربية ولكنك لم تحذف اسم الملف كاملا ، وبقيت التشكيلات التي لا تراها ، ثم واصلت بكتابة الاسم بالانجليزي !! برنامجك يقرأ اللي الوندوز اعطاه 🙂 وابويا انا عليك موسى ، صح كنت مستعجل ، لكن ما متدوده ، صاني قلت لك: جعفر
  20. وعليكم السلام 🙂 وبعد ان اصلحت يدويا في الجدول مسارات قواعد البيانات ، شفت 3 ملفات ما يشوفها البرنامج : . للتأكد ان الاسم والمسار صح في الجداول ، مقارنه مع مكان الملفات: . اخذت اسم الملف الغير ظاهر في النموذج اعلاه (ما كتبته ، وانما عملت له نسخ ولصق) ، علشان يصير عندي المسار كاملا مع اسم الملف : . والصقته في VBE ، واذا المشكلة ممتدة الى اسماء الملفات كذلك : . وانا على سفر اليوم العصر ، فما بالحق اجرب اكثر ، للأسف 😞 على العموم ، انا قمت بتعديل مرفقك اعلاه ، فاللي يجي ورائي ان شاء يقدر يجرب مباشرة 🙂 ولكن ، بغض النظر ، فعملك جبّار وواضح فيه لمسات جميلة ، والكثير ممكن يستفيد منه 🙂 جعفر
  21. وعليكم السلام اخوي موسى 🙂 فتحت البرنامج ، ورحبت بي رسالة خطأ . هذا الرابط يوضح لك ما هي المشكلة . جعفر
  22. في الواقع هذه هي طريقة عمل الامر Hyperlink !! ولا يمكن التغلب على الرسالة عن طريق DoCmd.SetWarnings False ، لأنها الوندوز وليست رسالة الاكسس ، فالطريقة الوحيدة التي اعرفها هي استعمال اوامر اخرى مثل الامر Shell لتنفيذ المهمة بدل عن HyperLink 🙂 طبعا يمكنك عن طريق الريجستري ان تلغي ظهور هذه الرسالة ، ولكن هل ستقوم بهذا على كمبيوتر العميل كذلك !! جعفر
  23. وعليكم السلام ورحمة الله وبركاته 🙂 الله يطول في عمرك احوي ابو عبدالله ، هذه رسالة خطأ ، ولا علاقة لها برسائل أمان الاكسس !! الرسالة تقول انها ما تقدر تفتح المسار الموجود في الرسالة ، فاذا ارجت ان تفتح مسار او تفتح ملف ، فتأكد بأن المسار صحيح : . جعفر
  24. في البرنامج الموجود عندك ، افتح التقرير في وضع الثصميم ، وفي اعدادات Order By ، رجاء تحذف الموجود هناك ، وتحفظ التقرير ، ثم تجربه مرة اخرى. انا نادرا ما استعمل On Error Resume Next ، وانت ما شاء الله تستعمله في كل حدث!! لهذا السبب ، لم احصل على خطأ لما شغلت التقرير من الكود ، وانما تحصل على الخطأ لما تفتحه مباشرة. الامر On Error Resume Next لا يجعلك ترى اي خطأ ، بينما في واقع الامر تكون هناك اخطاء ، ولهذا السبب ترى ان البرنامج لا يعمل بطريقة صحيحة ، ولن تعرف السبب. 1492.not in select.accdb.zip
×
×
  • اضف...

Important Information