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

Foksh

أوفيسنا
  • Posts

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

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

  • Days Won

    181

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

  1. يا أخي القلوب المتآلفة محبتها ، نعمة من الله ..
  2. بالعكس ، يسعدنا مشاركتكم وباقي الأساتذة والخبراء في أي موضوع . الساحة لكم لضيق الوقت ، وأنتم جديرين بالثقة دون أي شك أستاذ خليفة
  3. استخدم النسخة الأولى 😉 فهي لا تعتمد على ابقاء سجل ضمن شرط أكبر أو أصغر
  4. جميل جداً ، الآن المطلوب الثاني يحتاج لشرح منك 😅 الأول فهمته بالعافية في الوقت الحالي في هذه الساعة 😁
  5. ممتاز ، جرب هذا التعديل الآن من خلال الكود التالي للزر :- Private Sub Update_takhrij_Click() Dim db As DAO.Database Dim rsSource As DAO.Recordset Dim rsTarget As DAO.Recordset Dim sourceTable As String Dim mnoFields As Variant Dim i As Integer Dim currentMNO As String On Error GoTo ErrHandler Set db = CurrentDb sourceTable = Me.txt1.Value mnoFields = Array("MNO", "MNO2", "MNO3", "MNO4", "MNO5", "MNO6", "MNO7") Set rsSource = db.OpenRecordset("SELECT * FROM [" & sourceTable & "]", dbOpenSnapshot) Set rsTarget = db.OpenRecordset("TAB_takhrij_X", dbOpenDynaset) Do While Not rsSource.EOF For i = 0 To UBound(mnoFields) currentMNO = Trim(Nz(rsSource(mnoFields(i)), "")) If currentMNO <> "" Then rsTarget.AddNew rsTarget!bookID = CStr(rsSource!bookID) rsTarget!TableNo = CLng(rsSource!TableNo) rsTarget!MNO = currentMNO rsTarget.Update End If Next i rsSource.MoveNext Loop rsSource.Close rsTarget.Close Set rsSource = Nothing Set rsTarget = Nothing Set db = Nothing MsgBox "تم حفظ الأحاديث بنجاح", vbInformation + vbMsgBoxRight, "" Exit Sub ErrHandler: MsgBox "حدث خطأ", vbCritical + vbMsgBoxRight, "" End Sub الملف :- takhrij.zip
  6. وعليكم السلام ورحمة الله وبركاته ،، دعنا أولاً نركز على المطلب الأول في الزر Update_takhrij .. هل المطلوب كهذه النتيجة :- TAB_takhrij_X ID TableNo BookID MNO 1 1 1_10 18056 2 1 1_11 18058 3 1 1_12 3101 4 1 1_13 7336 5 1 1_14 7432 6 1 1_15 5548 7 1 1_20 7609 8 1 1_23 13701 9 1 1_25 8845 10 1 1_27 9323 11 1 1_29 8844 12 1 1_31 287 13 1 1_33 13686 14 1 1_34 285&652 15 1 1_36 268 16 1 1_38 1518 17 1 1_39 5927 18 1 1_41 4886 19 1 1_44 18077 20 1 1_46 266&50321&6603 21 1 1_48 5044 22 1 1_49 4947 23 1 1_9 11389 من الجدول الأول طبعاً !!! إذا لا ، اشرحه شرحاً أدق إذا سمحت ..
  7. وعليكم السلااااااااام ورحمة الله وبركاته ،، مهندسنا الغالي يا مرحبا يا مرحبااا بالإبداعات الجميلات الفاتنات 😅 أتكلم عن أفكارك تراني ما هذا يا رجل !!!! ترفع لك القبعة على هذه الفكرة الجميلة جداً بكل صدق وأمانة 🤗 راقت لي كثيراً ، وخصوصاً فكرة ان الملاحظات تظهر حسب اسم الجهاز لأصحاب قاعدة البيانات المشتركة على أكثر من جهاز . أحسن الله إليك و لوالديك ، وأثابكم الجنة على ما صنعتم .. لي فكرة ، ولكن ليس الآن موعدها لأطرحها عليك 😁
  8. ولا يهمك أخي ابو يوسف ، تم التفعيل للتجربة .. شكراً لك للإفادة
  9. نعم صحيح ما تفضلتم به معلمي الفاضل ، بدلاً من تكرار الكومبوبوكس في كل نموذج تريده ، هي فكرة جميلة ان تقوم بانشائه داخل الجدول ، وعند الاستيراد يكون جاهزاً ، ولكن إن كان يعتمد على معرف العميل مثلاً كقيمة اساسية وليس الإسم كما في مثال أخونا الكريم صاحب الموضوع . انا من جهتي اعتمد النسخ واللصق للكومبوبوكس فيكون جاهزاً بمصدر واسمه موحداً في جميع النماذج أو التقارير التي يلزمها . أستاذي الفاضل ، فعلاً ما تفضلتم به ، وهنا كان الأنسب لصاحب الموضوع أن يرفق أكثر من سجل لكل عميل لرؤية النتائج بشكل أوسع وأفضل . لم ترفق سوى سجل لكل عميل وهنا كان الأولى ارفاق أكثر من سجل متنوعة
  10. وعليكم السلام ورحمة الله وبركاته .. بدايةً وأنت تعلم أنه كثيراً ومراراً وتكراراً ننصح بأن نبتعد عن التسميات العربية للعناصر والمكونات داخل قاعدة البيانات .. أيضاً بالنسبة لي شخصياً ( والأمر ليس ملزماً ) أن لا أجعل القوائم المنسدلة ( الكومبوبوكس ) داخل حقول الجداول ، بل داخل النماذج بحيث يكون بدلاً من اسم العميل داخل كل حقل في الجدول ، أن يكون رقمه المعرف به . وذلك سيعكس عليك عند انشاء الاستعلامات الإحصائية والتقارير السهولة في الحصول على المعلومة . ناهيك عن أن حجم السجل مع التكرار سيكون أكبر من القيمة الرقمية ( كمعرف رقم المعميل على سبيبل المثال ) . على العموم .. المهم في الموضوع هو أنني قمت بإنشاء استعلام لجمع الفواتير لكل عميل ، واستعلام آخر لجمع السندات لكل عميل ، واستعلام أخير يأتيك بالتفاصيل داخل التقرير ، في المرفق التالي ، حيث يتم اختيار اسم العميل ثم زر افتح تقرير العميل . date.zip
  11. العفو يا معلمي الفاضل ، ما كنت قد تعلمت لولا ردودكم التي تعبر عن خبرة عميقة متأصلة . وبيني وبينك سر صغير 🤫 لم أقم يوماً باستخدام ويندوز أو أوفيس بواجهة عربية منذ ويندوز 95 . وعلى خطاكم عند استخدامي واجهة عربية فإني اتوووه وأدور حول نفسي لإيجاد حل لمشكلة صغيرة . أثابكم الله على دعائكم ، وأسأل الله أن يجعل لكم بمثل ما دعيتم وأكثر 💐
  12. ماذا لو أضفنا الحقل Mhr_id داخل الإستعلام ، وجعلناه مخفياً غير ظاهر واعتمدنا ترتيب قيمه تصاعدياً ، هكذا !! Database4.zip
  13. هل هذا ما تريده ؟؟ اوفسنا.zip
  14. أخي @عبد اللطيف سلوم ، لا تبخل علينا في ملف بسيط للإطلع عليه والإستفادة 😊
  15. عند النقر على زر حذف ملفات التفعيل ، سيتم اغلاق القاعدة نفسها ، ثم بعد ذلك افتح القاعدة هذه المقصد يا استاذي انه لا تفتح القاعدة اللي في الصورة وبعدين تضغط الزر حذف ملفات التفعيل
  16. تم استخدام جوجل شيت كسيرفر يتم فيه تسجيل جميع الحركات والتفعيلات والاستيراد حسب رقم معرف جهاز العميل ، والتالي صورة توضيحية سابقة :- استخدم النسخة التي في هذه المشاركة هنا . بحيث احذف النسخة السابقة ( الأولى ) وقم بتشغيل ملف حذف ملفات التفعيل السابقة أولاً ، ثم قم بتشغيل النسخة الجديدة بعد تنقيحها من جميع الأخطاء السابقة الإحترازية ( بناءً على ردود الأخوة المشاركين ) . وهذه صورة لطريقة التفعيل عند المطور :-
  17. وعليكم السلام ورحمة الله وبركاته .. تسعدني مشاركتك أستاذنا أبو عبدالله طبعاً انت قمت بتشغيل الملف بدون اتصال بالانترنت ، ولذلك لم يتم تسجيل جهازك على السيرفر . في النسخة الأصلية من الفكرة ، فعلاً لن يتم عمل البرنامج بعد انتهاء النسخة التجريبية وهي 14 يوم . وبالتالي انت مضطر لتفعيل النسخة من الاتصال بالانترنت ، وليس في فكرتي اي رقم يتم تزويده للعميل ، فقط اتصالك بالانترنت ويتم التفعيل في وقت قصير من تسجيل الجهاز في السيرفر . كما أخبرتك ، من المفترض ان يتوقف العمل على البرنامج . حتى أن التلاعب بالتاريخ بتقديمه أو تأخيره لن يجدي نفعاً ( في النسخة الكاملة من أداة التفعيل ) . الفكرة باختصار :- عند تشغيل البرنامج لأول مرة على الجهاز عند العميل ، يتم قراءة معرف خاص . بعد تسجيل النسخة على السيرفر ، والتواصل مع المطور ، يمكن للعميل اختيار المدة التي يريدها ( أسبوع ، شهر ، 3 أشهر ، 6 أشهر ، سنة ، كامل ) . هنا دور المطور من خلال السيرفر يتم التفعيل لرقم معرف الجهاز بالمدة ، ومطالبة العميل بالنقر على زر استرداد بيانات التفعيل . ويتم التفعيل بصمت دون اي تدخل من العميل . ولنفترض جدلاً انك طلبت تفعيل 1 شهر بدءاً من تاريخ 01/10/2025 وتنتهي في 01/11/2025 . وجئت بتاريخ 05/10/2025 ، وطلبت التفعيل لشهر آخر . هنا سيصبح لديك ( الباقي 25 يوم ، + 30 يوم شهر التمديد = 55 يوم ) أي بعد تاريخ الانتهاء سيتم اضافة 30 يوم وبهذا ينتهي التفعيل بتاريخ 01/12/2025 . في فكرتي يوجد أيضاً حماية حق العميل حتى بعد الفورمات ، بحيث . ولنفترض انك قمت بعمل فورمات وتنصيب نسخة ويندوز جديدة ، هنا عند تشغيلك للبرنامج سيتم قراءته التشغيل على انه نسخة جديدة ، وبالتالي عند النقر على زر استرداد بيانات التفعيل ، سيتم الاتصال بالسيرفر والبحث عن آخر تفعيل موجود لك مسبقاً ، وبالتالي تسترجع تفعيلك بنفس التاريخ دون اي تدخل .... على العكس ، يسعدني هذه الحديث بتوضيح ما ترغب بالإستفسار عنه لتكتمل الصورة لك .
  18. وعليكم السلام ورحمة الله وبركاته ,, إذا سمح لي بالمشاركة الأولى 🤗 ، خطر ببالي انشاء استعلامين بدايةً ، حيث :- الاستعلام الأول ( qry_Tahseel_By_Mada ) خصصته لعرض التحصيل حسب المواد ( عدد المهارات لكل درجة داخل كل مادة ) . وهدفي منه تحليل توزيع درجات المهارات داخل كل مادة . SELECT mada_id, AA, COUNT(AA) AS عدد_المهارات FROM tbl_Mharat_tqyeem GROUP BY mada_id, AA; أما الاستعلام الثاني ( qry_Tahseel_By_Mharah ) ، تم تخصيصه لعرض التحصيل حسب المهارات ( عدد الطلاب لكل درجة في كل مهارة ) . والهدف منه تحليل أداء الطلاب في كل مهارة على حدة . SELECT tbl_Mharat_tqyeem.Mhr_id, tbl_Mharat_tqyeem.Mharh_Nm, tbl_Mharat_tqyeem.AA, Count(tbl_Mharat_tqyeem.AA) AS عدد_الطلاب FROM tbl_Mharat_tqyeem GROUP BY tbl_Mharat_tqyeem.Mhr_id, tbl_Mharat_tqyeem.Mharh_Nm, tbl_Mharat_tqyeem.AA; وبناءً على هذين الإستعلامين ، قمت بإنشاء المخطط البياني لينتج لدي الشكل التالي :- والمرفق بهذه الفكرة :- Database2.zip
  19. وعليكم السلام ورحمة الله وبركاته .. قد يخدمك هذا الرابط https://www.fast-report.com/blogs/connect-database-report وهذا الفيديو
  20. وعليكم السلام ورحمة الله وبركاته .. إن شاء الله الأمر يسير أخي الكريم . في حدث عند التغيير لمربع النص الخاص بالبحث = SearchText ، قم بتعديل الكود من :- Private Sub SearchText_Change() [FormSearch].Requery End Sub ليصبح كالتالي :- Private Sub SearchText_Change() [FormSearch].Requery Me.Total = DSum("Mount", "QSearch") Me.Total.Requery End Sub وإن شاء الله تظهر معك النتيجة كما تريد ، وهذا ملفك للتجربة برنامج مصروفات خاص 2007.zip
  21. وعليكم السلام ورحمة الله وبركاته .. رغم أن طلبك غير مفهوم بشكل واضح ، ولكن هل ما تقصده أنك تريد اخفاء الصف الذي تكون فيه حالة الدفع = نعم ؟؟؟؟؟؟ وإذا كان غير ذلك ، فلا تبخل علينا بارفاق ملف بسيط لفهم آلية تصميمك . فقد تكون مشكلتك اضافة شرط الى الإستعلام بتحديد السجلات التي يتم عرضها فقط اذا حالة الدفع = False 😉
  22. وإياكم معلمي الفاضل ، وأشكرك ثقتك بطلابك هنا في هذا المنتدى العريق بجهودكم .. حين واجهتها فعلاً لم يخطر في مخيلتي أنه لربما تكون هناك خيارات في اكسيس لها علاقة بهذه المشكلة ، إلى أن وجدت أن Syntax مفعلة فعلاً في قاعدة البيانات التي كنت اعمل عليها . ولربما أن المشكلة هي نسخ كائنات من قاعدة مفعلة أساساً لهذا الخيار أم أن الإستعلامات تم نسخها من قاعدة بيانات SQL Server فعلاً . هل المقصد أنك نقلت بعض الكائنات ( من بينها الإستعلامات ) الى القاعدة الجديدة وبعدها حدثت هذه المشكلة ؟؟ قد يكون الإستعلام أساساً مكتوب بهذه الدالة وليس تم تحويله ( أي من المصدر ) !! أيضاً أضف الى ما تفضلتم به ، أن ALike بشكل مشابه لـ Like ولكن مع معالجة الفرق بين حالة الأحرف (Case Sensitivity) في بعض الحالات ، وهنا ذهب فكري إلى دوال أخرى له مشابهات مثل استخدام OR أو XOR في الجمل الشرطية IF 🤐 وهنا - في تلك الفترة - اكتشفت أن هناك الكثير من الدوال التي لا نعرفها أو لم نستخدمها عادة ولها وظائف جداً مهمة وتختلف في النتيجة عن ما نريده عند كتابة الأكواد .
  23. وعليكم السلام ورحمة الله وبركاته .. معلمنا الفاضل ، أسعد الله مسائك . قد مررت بهذا السؤال مسبقاً وكنت لا أعلم سببه ، ولكني اكتشفت السبب بالصدفة 😅 موضحاً في الصورة التالية :- وأعتقد أن السبب في هذا يعود الى أن الجداول مرتبطة بـ SQL Server أو قاعدة بيانات خارجية . والمرجح عندي سابقاً لأنني كنت أقوم بتثبيت نسختين من أوفيس ( 64 بلإصدار أعلى = 2019 ، و 32 بإصدار 2010 ) فقد يكون هو أحد الأسباب . مع أنني غير متأكد من الإحتمال الثاني حقيقةً . هذا والله أعلم
×
×
  • اضف...

Important Information