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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. اترك الجواب لك ، وللأخوان الذين عندهم النسخ الاحدث 🙂 ونعم ، اللغة العربية متوفرة في جميع النسخ 🙂 جعفر
  2. وعليكم السلام 🙂 1. نعم ، فهناك الكثير من الامور التي تساعدك في العمل بطريقة اسرع ، في الواجهات ، 2. بوجه عام ، لا ، ولكن هناك اوامر اضافية للإضافات الموجودة في النسخ الاحدث ، 3. بوجه عام ، نعم ، ولكن قد تحتاج الى تعديلات بسيطه 🙂 جعفر
  3. وعليكم السلام اخي طارق 🙂 انا مررت بهذا الموضوع ثلاث مرات ، ولأني لم القى اي تفاصيل ، ذهبت الى موضوع آخر 🙂 وهذا قد يفسر ان عدد المرات التي تم قراءة الموضوع هو 84 مرة ، ولم تلق جواب !! وحتى لما انزلت المرفقين ، كذلك لم احصل على معلومة اضافية 🙂 وهذا قد يفسر ان عدد مرات تنزيل المرفق هو 25 مرة ، ولم تلق جواب !! ولما تلاحظ ان الموضوع اصبح له 4 ايام بدون جواب (من يوم الخميس الى اليوم الاثنين) ، فياريت ان تضع كل المعلومات اللي عندك عن هذا الموضوع في مشاركة واضحة مع امثلة 🙂 جعفر
  4. وعليكم السلام 🙂 اذا قصدك : هل ممكن ان استعمل هذا البرنامج على صيغة 2003 mdb ، فالجواب نعم ، واذا طلبك هذا البرنامج بصيغة 2003 mdb ، فإن شاء الله ارفقه كذلك ، ولكن بدون الوان في تفاصيل العمل 🙂 جعفر
  5. وعليكم السلام 🙂 اذا اخوي ابو آمنه فهم قصدك صح ، فعندك جوابه 🙂 اما اذا كان فهمي صح ، فهذا جوابي : دائما حاول ان تبتعد عن استعمال الاوامر Dsum , DCount , DLookup ، وكل اوامر ...D في الاستعلام ، فالامر سيكلفك وقت طويل لتخرج نتائج الاستعلام (طُلب مني تعديل على استعلام مشابه ، ولكن فيه حوالي 600 الف سجل ، والتعديل كان مثل ما اقترحت هنا ، واصبح الاستعلام يعمل باضعاف سرعة الاستعلام السابق 🙂 ) ، وبدلا عنها ، اعمل استعلام آخر بالنتائج المطاوبة من Dsum ، واستعمله في استعلامك الاخير ، كما عملت انا هنا : . طبعا يجب ان تقول في الاستعلام الاول ، اي حقل تريد ان تعرف مجاميعه ، وانا لم اضع الحقل ، لأني ما عرفته ، وعلى اساس هذا الحقل ، تعمل ربط بينه وبين الحقل في الجدول ، في الاستعلام الثاني 🙂 جعفر
  6. هذه الخطوة رقم 1 ، وهي عمل نسخة من البرنامج قبل ان يقوم بالضغط ، ليش !! لأن الله يسلمك ، معظمنا لا يعمل نسخة من البرنامج ، واذا اثناء العمليات اعلاه اطفأت الحاسبة/الكهرباء ، فعلى برنامجك السلام !! كنت اعتقد بأنه يقول بذلك ، ولكني تأكدت بعد سؤالك ، بأنه يتأكد ولكن لا يخبرك بالنتيجة !! لذلك ، فأنا اعمل على النسخة التالية التي ستنبهك بذلك 🙂 جعفر
  7. ماشاء الله ، شو قالوا لك ، طرزان 🙂 اهلا بك معنا بعد غيبة طويلة 🙂 في دورات الاكسس الخاصة اللي اعطيها ، انصح المتدربين عدم استعمال الانترنت (وبالذات اليوتيوب) في البحث عن طريقة عمل البرنامج او الكود ، وانما تتبع الاكواد اللي استعملها انا فقط !! والسبب ان الانترنت فيه الغث والسمين ، والمبتدئ يضيع ، بينما انا اضع اسهل الاكواد ، واتوسع في شرحها ، لتسهيل فهمها وتعديلها 🙂 في الواقع الموضوع اكبر بكثير من اللي انا تكلمت عنه ، واليك الجزئيات : - برنامج الخلفية فيه جدول tbl_CurrentVersion ، - برنامج الواجهة فيه ربط للجدول اعلاه ، بالاضافة الى جدول محلي loc_tbl_LocalVersion ، وفيه الوحدة النمطية fCheck_FE_Version (اللي جاهزة ولكني لم استعملها) ، - الفكرة هي : انك لما تكون عند واجهة جديدة ، تترك نسخة منها في مجلد ملف الجداول ، وتكتب رقم نسخة الواجهة الجديدة في الجدول tbl_CurrentVersion ، ولما يأتي المستخدم ويشغل نسخته ، فالمفروض ان تعمل الوحدة النمطية fCheck_FE_Version مقارنة بين رقم النسخة في tbl_CurrentVersion ، ورقم النسخة في loc_tbl_LocalVersion ، اي يقارن رقم النسخة اللي على السيرفر بالمقارنة مع تلك الموجودة على جهازه ، فإذا نسخة السيرفر كانت اجدد ، فيقوم بنسخ نسخة السيرفر الى كمبيوتر المستخدم ، 🙂 كلامي في مشاركتي السابقة عن الجدول loc_tbl_LocalVersion ، وتستراه في برنامج الواجهة FE بعد ان تقوم بربطه بملف الخلفية BE ، والذي سيطلب منك البرنامج مكانه 🙂 جعفر 297.FE_BE_Password_Both_mdb.zip
  8. السلام عليكم اخوي صلاح 🙂 هل انتبهت ان هذا الموضوع تاريخه سنة 2004 !!!! رجاء اعمل موضوع جديد لسؤالك ، واذا اردت ، يمكنك ان تشير الى هذا الرابط. جعفر
  9. كل برنامج من برامجك يجب ان يكون فيه جدول لرقم النسخة ، وملاحظاتك على النسخة ، ولما تفتح اول نموذج ، تقرأ رقم آخر النسخة من الجدول ، وتضعة في تسمية Caption النموذج ، فيظهر في اعلى يسار الشاشة ، هكذا : . جعفر
  10. وعليكم السلام اخي صالح 🙂 الضغط والاصلاح عمله مع كائنات الاكسس ، عدا الكود ، بينما الامر Decompile/Compile له علاقة بضغط واصلاح الكود 🙂 وفي برنامجي اتبعت ارشادات المحترفين في الجمع بين الطريقين ، وبالتسلسل الصحيح 🙂 جعفر
  11. السلام عليكم 🙂 ولكن تأكد من انك تحتفظ بالنسخة الاصلية الغير مشفرة ، فأي تعديل (ولابد ان يكون هناك تعديل ، فالمثل المتعارف عليه بين المبرمجين: اذا استعملت البرنامج مدة وما اردت فيه تعديل ،ولا رأيت فيه مشكلة ، فأنت المستخدم فيك المشكلة !!) ، ولا يمكن القيام بالتعديل على النسخة المشفرة ، وتحتاج الى النسخة الغير مشفرة لعمل التعديل 🙂 ويجب تتبع رقم نسخة برنامجك (لا ليس نسخة الاوفيس ، وانما نسخة برنامجك) ، والاحتفاظ بجميع النسخ لديك ، فقد لا يملك كل مستخدم ، النسخة النهائية !! جعفر
  12. وعليكم السلام 🙂 هل زرت هذا الرابط ، وانزلت الرفق : جعفر
  13. السلام عليكم اخي حسين 🙂 رجاء فتح موضوع جديد لسؤالك الجديد 🙂 جعفر
  14. السلام عليكم 🙂 الاستعلام الذي عملته انت : . بدون ربط بين الجداول ، وهذا معناه ، انك تطلب سجلات عددها : 16x8x11x16x27x24x10x6 = 875,888,640 (شوف صورة سجلات الجداول في الاسفل ، علشان تعرف من وين جئت بهذه الارقام 🙂 ) ، فهل سرعة محرك كمبيوترك CPU ، وكمية الذاكرة المؤقته RAM ، قادرة على عرض هذا الكم الهائل من السجلات 🙂 . خلينا نشوف استعلام علشان نفهم الموضوع : نخلي الجدولين فقط ، والي نعرف ان مجموع عدد السجلات سيكون : 16x8 = 128 . والنتيجة ، وكما يعرضها الاستعلام : . وهذا اللي عملنه انا بإستعمال مرفقك ، وهي الطريقة الافضل لبرنامجك : . ولكن ، هذه طريقة الاكسل في وضع البيانات ، بينما اذا اردنا تعديل الاكسس ، فيكون كالتالي: نعمل الجدول tbl_Salary والذي سيشمل جميع الجداول الثمانية ، وبدون حقلي "المحسوب" ، ومع اضافة حقل اسم "المجموعة" : . والنتيجة : . وعلى اساس هذا الجدول ، نعمل استعلام qry_Salary ، ونضيف الحقلين "مج الاستقطاع" و "الصافي" مع معادلاتهم : . ومقارنة سجلات الجدول السابق مع الاستعلام الجديد : . والآن وبكل بساطة تعمل الاستعلام الذي يقوم بعملية جمع الصافي : . والنتيجة : . جعفر 1197.wameed.accdb.zip
  15. السلام عليكم 🙂 هذا الموضوع مخالف وبإمتياز !! 4 اسئلة في موضوع واحد !! يا ريت الجميع يساعدنا ، اصحاب الاسئلة واصحاب الاجابة ، علشان مثل هذا الشيء لا يتكرر ، أَلَا كُلُّكُمْ رَاعٍ، وَكُلُّكُمْ مَسْئُولٌ عَنْ رَعِيَّتِهِ. اخي بلال : رجاء فتح موضوع جديد لآخر طلبك ، ورجاء ان تعطي فيه تفصيل مفصل عن طلبك ، وبمثال من مرفقك ، لأن شرحك للأسف غير كامل وغير واضح ، مما ينتج عنه التأخر في الرد عليه !! يُقفل . جعفر
  16. السلام عليكم 🙂 1. تعديل في محله ، وبدون ملاحظات 🙂 2. انا تعاملي قليل مع نذه الامور 🙂 جعفر
  17. وعليكم السلام اخوي حسين 🙂 لأن لكل واحد نقاط قوة ونقاط ضعف ، ولكل واحد منا وقت معين يقضيه في المنتدى ، فلما نقرأ السؤال وعرفنا جوابه ، فنسارع فيه ، واذا ما عرفنا جوابه ، فنتركه للخبراء 🙂 ولكن اذا كان السؤال يتطلب منا ان ننزل المرفق علشان نعرف المطلوب ، فهذا معناه ان الكثير ، سيترك سؤالك وينتقل الى السؤال الآخر ، وخصوصا اذا كنا نتصفح المنتدى من الهاتف !! فرجاء ساعدنا علشان نساعدك ، واعطنا جميع تفاصيل طلبك في السؤال ، مع امثلة ، ولا تجعلنا ننزل المرفق لمعرفة السؤال !! جعفر
  18. وعليكم السلام 🙂 سؤالك هو: تظهر لك رسالة خطأ التالية: . ويكون المؤشر باللون الازرق في الكود على: . والحل هو: ان تعمل استبدال ctrl+h لجميع الكود : او تغيير اسم قاعدة بياناتك هنا ، الى اسم آخر غير عن Database او db او الاسماء المحجوزة للأكسس : . جعفر
  19. وعليكم السلام 🙂 واهلا وسهلا بك في المنتدى 🙂 قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف 2. وطريقة البحث جدا سهلة ، وستحصل على ما تريد : . اكتب الكلمات اللي تريدها . وتظهر لك النتائج ، وكما في المثال اعلاه ، فهناك 16 صفحة من الروابط : . يُقفل. جعفر
  20. السلام عليكم 🙂 1. رجاء انزل البرنامج المرفق ، ثم انسخ الكائنين منه الى برنامجك الرئيسي ، واحذف البرنامج المرفق ، ثم العمل على نسخة من برنامجك الاصلي ، 2. تأكد ان جميع النماذج مغلقه ، ثم افتح النموذج zfrm_Testing ، وانقر على الزر . 3. هذا سيعمل مجلدات في مجلد برنامجك ، وفي كل مجلد المرفقات التي به (حسب ID سجل برنامجك) ، وسيقوم بتصدير جميع مرفقاتك الى المجلدات : . 4. لما ينتهي البرنامج من تصدير الملفات ، سيعطيك رسالة Done ، 5. افتح النموذج Masttr Form2 ، وسترى المرفقات موجودة على يمين الشاشة (انظر للصورة في الاسفل) ، 6. المرفقات في الاعلى تابعة للنموذج الرئيسي ، والمرفقات في الاسفل تابعة للنموذج الفرعي (رجاء التاكد ان المرفقات صحيحة ، وهي نفسها الموجودة في برنامجك) : . انا لم اقم بعمل كود لحذف اي شيء من برنامجك ، اذا اردت ان تضيف مرفق جديد ، فتستطيع ان تمسكه من متصفح الملفات ، وتفلته Drag and Drop سواء في المجلد العلوي او السفلي ، البرنامج تلقائيا يضيف المجلدات. بعد ان تتأكد ان البرنامج يعمل بطريقة صحيحة ، تستطيع يدويا ان تحذف حقول المرفقات من جدوليك ، ثم استعمل ضغط واصلاح 🙂 هذا هو الكود الموجود في النموذج zfrm_Testing ، والذي يصدر المرفقات الى مجلدات و ملفات خارجية : Private Sub cmd_Export_Attachments_Click() On Error GoTo err_cmd_Export_Attachments_Click Dim rst_tbl As DAO.Recordset Dim rst_Att As DAO.Recordset Dim myDir As String Dim File_Name As String 'table name : [Mastr Table] 'Attachment filed name : [مرفقات] Set rst_tbl = CurrentDb.OpenRecordset("Select * From [Mastr Table]") While Not rst_tbl.EOF ' Loop through the table 'check if the Dir exists, if not, make it myDir = Application.CurrentProject.Path & "\Attachments" 'Attachments Call Make_Dir(myDir) myDir = myDir & "\Mastr_Table" 'Mastr_Table Call Make_Dir(myDir) ' myDir = myDir & "\" & rst_tbl![CUSTOMER COD] 'Customer_Code ' Call Make_Dir(myDir) myDir = myDir & "\" & rst_tbl!ID 'ID Call Make_Dir(myDir) Set rst_Att = rst_tbl.Fields("[مرفقات]").Value While Not rst_Att.EOF ' Loop through the attachments. ' File_Name = myDir & "\" & rst_tbl!ID & "_" & rst_Att.Fields("Filename") 'ID and Attachment names ' rst_Att.Fields("FileData").SaveToFile File_Name ' Save current attachment rst_Att.Fields("FileData").SaveToFile myDir rst_Att.MoveNext Wend 'rst_Att rst_tbl.MoveNext Wend 'rst_tbl '' ' '[Payment Table] '[مرفقات] Set rst_tbl = CurrentDb.OpenRecordset("Select * From [Payment Table]") While Not rst_tbl.EOF ' Loop through the table 'check if the Dir exists, if not, make it myDir = Application.CurrentProject.Path & "\Attachments" 'Attachments Call Make_Dir(myDir) myDir = myDir & "\Payment_Table" 'Mastr_Table Call Make_Dir(myDir) ' myDir = myDir & "\" & rst_tbl![CUSTOMER COD] 'Customer_Code ' Call Make_Dir(myDir) myDir = myDir & "\" & rst_tbl!ID 'ID Call Make_Dir(myDir) Set rst_Att = rst_tbl.Fields("[مرفقات]").Value While Not rst_Att.EOF ' Loop through the attachments. ' File_Name = myDir & "\" & rst_tbl!ID & "_" & rst_Att.Fields("Filename") 'ID and Attachment names ' rst_Att.Fields("FileData").SaveToFile File_Name ' Save current attachment rst_Att.Fields("FileData").SaveToFile myDir rst_Att.MoveNext Wend 'rst_Att rst_tbl.MoveNext Wend 'rst_tbl rst_tbl.Close: Set rst_tbl = Nothing rst_Att.Close: Set rst_Att = Nothing Exit_cmd_Export_Attachments_Click: MsgBox "Done" Exit Sub err_cmd_Export_Attachments_Click: If Err.Number = 3420 Then 'ignore rst not there Resume Next ElseIf Err.Number = 3839 Then 'file exists Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub Public Function Make_Dir(Dir_Name As String) As Boolean 'Make_Dir = True ' a new Directory was made 'Make_Dir = False ' the Directory Exists 'check if the Dir exists, if not, make it If Dir(Dir_Name, vbDirectory) = "" Then MkDir Dir_Name Make_Dir = True ' a new Directory was made End If End Function . وهذا كود لحدث الحالي والذي يُظهر المرفقات في كائن webbrowser في النموذج Masttr Form2 : Dim myDir As String 'Mastr_Table, Dir exists, if not, make it myDir = Application.CurrentProject.Path & "\Attachments" 'Attachments Call Form_zfrm_Testing.Make_Dir(myDir) myDir = myDir & "\Mastr_Table" 'Mastr_Table Call Form_zfrm_Testing.Make_Dir(myDir) myDir = myDir & "\" & Me!ID 'ID Call Form_zfrm_Testing.Make_Dir(myDir) 'Payment_Table, Dir exists, if not, make it myDir = Application.CurrentProject.Path & "\Attachments" 'Attachments Call Form_zfrm_Testing.Make_Dir(myDir) myDir = myDir & "\Payment_Table" 'Payment_Table Call Form_zfrm_Testing.Make_Dir(myDir) myDir = myDir & "\" & Me!ID 'ID Call Form_zfrm_Testing.Make_Dir(myDir) 'specify that the browser is an object in the Form Set web = Me.objIE.Object Set web_2 = Me.objIE_2.Object 'Master, Open/Navigate the page myDir = Application.CurrentProject.Path & "\Attachments" 'Attachments myDir = myDir & "\Mastr_Table" 'Mastr_Table myDir = myDir & "\" & Me!ID web.Navigate myDir 'Payment, Open/Navigate the page myDir = Application.CurrentProject.Path & "\Attachments" 'Attachments myDir = myDir & "\Payment_Table" 'Mastr_Table myDir = myDir & "\" & Me!ID web_2.Navigate myDir جعفر 1195.zip
  21. ولكني اريد ان ارجع الى مقترحي السابق : واليك التفاصيل من واقع تجربتي مع اطباء الاسنان ، وكلامنا عند النقر المزدوج على الضرس ، وبها يتم ادراج سجل جديد في النموذج الفرعي : 1. سيكون لديك سجل عن رقم الضرس التي تم قلعها ، ومتى وملاحظات الدكتور ، 2. بالنسبة الى حشو الضرس (والذي هو محل نقاشنا) ، ومن تجربتي ، وبعد 5 الى 10 سنوات ، يأتي الشخص الى الدكتور وفيه وجع ، ويقوم الدكتور بالفحص ويسأل : اي ضرس تم العمل عليه سابقا ، متى تم العمل عليه ، ماهي الخطوات التي قام الدكتور بعملها (هل اكمل العمل في جلسة واحدة لسبب معين ، او اكثر من جلسة ، وماذا عمل في كل جلسة) ، من الدكتور الذي قام بالعمل ، وهل هناك ملاحظات خاصة تركها الدكتور لهذا الضرس ، هل تم ازالة العصب ، هل تم عمل حشو مؤقت من نوع معين ، على ان يرجع الشخص بعد وقت معين لجلسة اخرى لعمل حشو من نوع آخر ، متى تم تنضيف الاسنان . هذه بعض الملاحظات اللي تجي على بالي ، وبرنامجك لا يقوم بها ، بينما اذا عملت البرنامج مثل اقتراحي ، فيمكنك اضافة جميع هذه الملاحظات في النموذج الفرعي (وهو جاهز بنسبة 70-80%) ، وحذف الـ 54 كائن من Option Group والتي تزيد من ثقل النموذج !! مجرد إضافة حقل "نوع العمل" كومبوبكس ، واسم الدكتور ، والسلام 🙂 طبعا الكود سيقوم بإظهار وإخفار الضروس ، حسب "نوع العمل" 🙂 ومثل ما قلت لك سابقا : . جعفر
×
×
  • اضف...

Important Information