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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. اذا بتتوقف عن الاسئلة ، سنطلب من المنتدى ان يُغلق ، فالله يخليك واصل اسئلتك ضع هذا الكود في الحدث الحالي للنموذج الرئيسي: Private Sub Form_Current() If Me.[مصروف Query subform].Form.RecordsetClone.RecordCount = Then MsgBox "No Records" End If End Sub للعلم ، الكود فيه صفر ، ولكنه لسبب ما ، لا يظهر: RecordCount =0 Then جعفر
  2. وعليكم السلام هذه الرسالة لا علاقة لها بالرجوع الى الوراء ، وانما لها علاقة بتصغير/اخفاء الاكسس لهذا السبب ، لن نتمكن من معرفة المشكلة بدون فحص البرنامج جعفر
  3. وعليكم السلام نعم ممكن ، تطبع التقرير بالصيغة اللي تراها مناسبة ، pdf او Excel او Rtf ، وتحفظها على الكمبيوتر ، ويمكنك ارفاق هذا/هذه الملفات بالايميل بعدة طرق ، والرابط هذا فيه طريقتين ، Gmail و Hotmail: جعفر
  4. نعم بتسألني كيف ، بقول لك يعتمد على الشروط اللي تريدها لكل حقل ، بتقول لي عطني مثال ، بقول المثال لازم يكون من واقع برنامجك ، فلازم ترفق برنامجك وتشرح بالضبط اللي تريده جعفر
  5. السلام عليكم نعم ممكن ، ويمكنك ارسال الايميل بعدة طرق ، والرابط هذا فيه طريقتين: ولكن ، رجاء افتح موضوع جديد بهذا الخصوص جعفر
  6. كده الموضوع اصبح جامد أوي واشمل بكثير من المتوقع جعفر
  7. تفضل هذا النموذج ، بزر استيراد بيانات اول صفحة ، وزر حفظ البيانات في الاكسل: والكود (لاحظ اسم ومسار ملف الاكسل ، في الحدثين): Option Compare Database Dim ExcelApp As Object 'Excel.Application Dim WkBk As Object 'Excel.Workbook Private Sub cmd_Import_From_Excel_Click() File_Path = Application.CurrentProject.Path & "\372.62293-SER OH.xls" Set ExcelApp = CreateObject("Excel.Application") Set WkBk = ExcelApp.Workbooks.Open(FileName:=File_Path) 'With WkBk.Sheets("input data") With WkBk.Sheets(1) Me.Control_No = .Range("B2").Value Me.SN = .Range("B3").Value Me.DATE = .Range("B4").Value Me.TS_Name = .Range("B5").Value Me.Component_PN = .Range("B7").Value Me.Description = .Range("B8").Value Me.JIC_NO = .Range("B10").Value Me.JIC_Rev_NO = .Range("B11").Value Me.JIC_Rev_Date = .Range("B12").Value Me.CMM_JIC_Approval = .Range("B13").Value Me.CMM = .Range("B14").Value End With If Not (ExcelApp Is Nothing) Then ExcelApp.Quit Set WkBk = Nothing Set ExcelApp = Nothing End Sub Private Sub cmd_Save_to_Excel_Click() File_Path = Application.CurrentProject.Path & "\372.62293-SER OH.xls" Set ExcelApp = CreateObject("Excel.Application") Set WkBk = ExcelApp.Workbooks.Open(File_Path) ExcelApp.Application.Visible = False 'True 'With WkBk.Sheets("input data") With WkBk.Sheets(1) 'WkBk.Sheets(1).Range("B2").Value = Me.Control_No .Range("B2").Value = Me.Control_No .Range("B3").Value = Me.SN .Range("B4").Value = Me.DATE .Range("B5").Value = Me.TS_Name .Range("B7").Value = Me.Component_PN .Range("B8").Value = Me.Description .Range("B10").Value = Me.JIC_NO .Range("B11").Value = Me.JIC_Rev_NO .Range("B12").Value = Me.JIC_Rev_Date .Range("B13").Value = Me.CMM_JIC_Approval .Range("B14").Value = Me.CMM End With WkBk.Save WkBk.Close Set WkBk = Nothing Set ExcelApp = Nothing MsgBox "Done" End Sub 372.Database1.mdb.zip جعفر
  8. نعم يمكن ، ولكن بطريقة غير مضمنه ، يعني نقرأ البيانات بزر ، ونحفظ البيانات بزر بس السؤال هو ، لماذا تريد ان تغير البيانات من الاكسس ؟ جعفر
  9. تفضل ، انا اقصد هذه الطريقة ونعم يمكن العمل بطريقتك ، وهي ستكون اسهل ، ولكن ، انت تعمل السجل ، وقد تكون بياناته ليست لجميع الموظفين ، لكنك تدفع ثمن هذا السجل بكثرة حقوله ، كما انه كلما زاد عندك المستخدمين ، اضطررت ان تغير الجدول وتضيف مستخدم جديد ، وهذا غير عملي ولا تحتاج الى نموذج لطباعة التقرير جعفر 370.Database21.accdb.zip
  10. وعليكم السلام اذا تتبعت خطوات البرنامج في الرابط التالي ، فستعرف كيف تتحكم في الاكسل ، وستحقق المراد جعفر
  11. اعطني دقائق وارد عليك ان شاء الله
  12. اعتقد بأنك يجب ان تعطي المستخدم اكثر من سبب لإستحدام هذا النموذج ، ومنها اقتراحاته لتحسين البرنامج ، اقتراحات لإضافات معينة ، شكوى عن عدم اشتغال شئ معين ، اخرى ، ... وهكذا ، بس اعمل هذه الاقتراحات بشكل مربع سرد ، لكي يختار ويرسل جعفر
  13. عفوا ، هذا يُعتبر تدخل في اصل فكرة البرنامج ، والعقل المدبر للبرنامج يقدر يجيب عن هذا السؤال جعفر
  14. أخي عبدالله شرح الطريقة ، لكني اود ان اضيف معلومات بين سطوره 1. تستطيع ان تربط الجداول من البرامج الاخرى الى برنامجك ، وبدون استيراد البيانات ، 2. اذا كان استيراد الجداول ضروريا ، فيمكن عمل ذلك ايضا ، وبعدها: يا نعمل استعلام للنماذج/التقارير مباشرة من هذه الجداول اذا امكن ، او نعمل جدول مؤقت ، نستخلص البيانات من الجداول الاخرى اليه ، سواء عن طريق استعلامات او كود ، وبعده نعمل من هذا الجدول المؤقت استعلام للنماذج/التقارير جعفر
  15. عفوا نسيت ذكر SQL وعن طريق الجدول المحلي ، ترسل البيانات الى جدول SQL ، انت في الكود تعمل جدول محلي ثم تلغيه ، فالفرق هنا ان يكون الجدول المحلي ثابت ، بسجل واحد فقط جعفر
  16. وعليكم السلام ورحمة الله وبركاته عمل جميل ، بفكرة جديدة مستحدثة ، بارك الله فيك عندي ملاحظة واحدة: في بعض الدول الانترنت متقطّع ، فرأي ان تعمل جدول محلي وتجعله مصدر لبيانات النموذج ، بحيث معلومة التقييم يتم الاحتفاظ بها في قاعدة البيانات المحليه ، وعند الضغط على زر ارسال التقييم: أ- اذا تمت عملية ارسال البيانات ، فيتم حذف البيانات من الجدول المحلي ب- ولكن اذا لم يكن هناك انترنت: تخبر المستخدم بذلك ، بدل الرسالة الموجودة حاليا ، والتي لن يفهمها او يفهم ماالذي يجب القيام به ، وتخبره بأنه اذا لا يوجد انترنت الآن ، فانه يمكنه لاحقا ان يفتح النموذج وسيرى تقييمه في النموذج ، وما عليه إلا ان يضغط زر ارسال التقييم مرة ثانية جعفر
  17. السلام عليكم تجربتي في التاريخ الهجري قليلة ، لهذا السبب عادة لا اتدخل في اسئلته افكر في طريقتين: الاولى: - اعمل حقل غير مضمن في احد النماذج الرئيسية ، وادخل فيه التاريخ الهجري كل يوم (يدويا او برمجيا ثم تصححه اذا شاء الامر) ، واجعل الاستعلام يقارن تاريخ الجدول ، بهذا التاريخ - ولكن قبل فتح الاستعلام ، يجب ان تخبر البرنامج انك تريد استخدام التاريخ الهجري للمقارنة والحساب ، وهنا الطريقة: http://www.officena.net/ib/topic/64763-التاريخ-الافتراضي-الهجري/?do=findComment&comment=421491 يعني: زر فتح الاستعلام سيكون: كود استعمال التاريخ الهجري (كما في الرابط اعلاه) كود فتح الاستعلام/التقرير كود إعادة التاريخ الى ميلادي (كما في الرابط اعلاه) الثانية: 1. هي ان نغير التاريخ الهجري الى ميلادي او العكس (عن طريق الكود في الاستعلام) : http://www.officena.net/ib/topic/56008-دالة-تحويل-التاريخ-الهجري-إلى-ميلادي/?do=findComment&comment=354428 او http://www.officena.net/ib/topic/36309-تحويل-التاريخ-الهجري-الى-ميلادي-وبالعكس/?do=findComment&comment=192182 ولو عندك تاريخ ام القرى ، فنستطيع استعمال: http://www.officena.net/ib/topic/59213-تحويل-التاريخ-الميلادي-الى-ام-القرى-هدية-وبطريقة-حصرية/?do=findComment&comment=378783 2. ونحن نعرف انه قد يكون هناك فرق عند تحويل تاريخ الجهاز الميلادي الى هجري ، والفرق يكون اقصاه 3 ايام ، لذا في الاستعلام وللمقارنة بين التواريخ ، لا تقارن يوم الجدول بيوم الجهاز المحول ، وانما قارن يوم التاريخ مع يوم الجهاز المحول +-3 ايام (يعني 3 ايام قبل تاريخ الجدول و3 ايام بعده) ، وطبعا تكون تعرف ان النتائج تقريبية وليست اكيدة قلت لك تجربتي مع التاريخ الهجري قليلة جعفر
  18. اليك التعديلات: 1. عمل جدول خاص بالموظفين: . 2. تغيير جدول Maintb الى التالي: . الآن ، كل سجل يخص موظف واحد فقط ، وكلما اردت اضافة معلومات ، فيجب إضافة سجل/سجلات جديده للموظف حسب الحاجة من المهمات طبعا الآن يجب ان تغير في نموذج الادخال ، وعليه لازم نغير طريقة عمل النماذج اللي اشتغلنا عليها سابقا ، وكذلك التقرير. جعفر 368.Database1.mdb.zip
  19. ولكن في الجدول Maintb ، هناك حقل واحد فقط لجميع الحقول في المربع الاحمر!! يعني هل افهم من كلامك ، انه كلما اردت اضافة مهمة Category لشخص ، فيجب ان تغير بقية الحقول كذلك؟ اذا كان الجواب نعم ، فهذا معناه ان جدولك يحتاج الى تعديل ، بحيث كلما تُدخل مهمة ، فيجب ان تعمل سجل جديد في الجدول يخص هذا الشخص فقط. انتظر منك الرد لإجراء التعديل على الجدول. جعفر
  20. هل من الطبيعي ان جميع الاشخاص لديهم نفس هذه المعلومات التي في المربع الاحمر؟ والمعلومات المتغيرة فقط تلك التي في المربع الازرق؟ جعفر
  21. بسبب تجاربي ، انا اوقفته من النموذج Form1 ، فتستطيع تشغيله الآن جعفر
  22. ماشاءالله عليك ، هذه هي الطريقة المحترفة جعفر
  23. سيدي الفاضل من الخطأ ان تبدا اسم الكائنات برقم ، او اسم حقل ، واتذكر في احد المنتديات الاجنبية ، كنت وسط أفضل المبرمجين ، وجاءنا سؤال في المنتدى ، وكان احد جداوله يبدا برقم ، ولم نفلح في الوصول الى حل (مع ان السؤال ما كان بذاك التعقيد) ، ولما تم تغيير اسم الجدول ، تم الحل بسهولة !! . نموذج frm_Favorite: زر Add / Remove هو الذي يضيف المواد الى المفضلة ، وتعرف ان المادة اُضيفت الى المفضلة عندما يصبح لون الخلفية اخضر ، نموذج frm_Medication: عند تشغيل النموذج ، ستظهر لك جميع الادوية ، حيث All سيكون مختار ، وعندما تختار Favorite ، ستظهر لك الادوية المفضلة فقط عندما تريد ان تبدأ من البداية ، يجب ان تستخدم الاستعلام qry_User_All_to_Zero ، حتى يُزيل جميع الادوية المفضلة (طبعا استعمل هذا الاستعلام مرة واحدة وفي البداية فقط) ، عند بدأ البرنامج ، يقوم البرنامج بحفظ رقم المستخدم في وحدة نمطية ، وهذا الرقم متوفر للبرنامج الى اغلاقه ، وستلاحظ في الاستعلام الطريقة التي استعمل هذا الرقم ، وهي: . او في الكود: Me.Add_This_ID = Pass_ID() . وللعلم ، تم إضافة رقم الدكتور الى جميع الوصفات اللي يعملها ، فيعني تستطيع ان تعمل استعلام بإسم الدكتور ، بالاضافة/بدل عن Print_This جعفر 357.ER12345678.accdb.zip
×
×
  • اضف...

Important Information