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

Moosak

أوفيسنا
  • Posts

    2,065
  • تاريخ الانضمام

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

  • Days Won

    51

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

  1. تفضل 🙂 New Microsoft Access Database (1).accdb
  2. الدالة DSum يمكنك استخدام دالة DSum لحساب إجمالي مجموعة من القيم في مجموعة محددة من السجلات (مجال (المجال: مجموعة من السجلات المعرفة بواسطة جدول أو استعلام أو تعبير SQL. تعيد وظائف تجميع المجال المعلومات الإحصائية حول مجال محدد أو مجموعة من السجلات.)). استخدم الدالة DSum في Visual Basic أو وحدة ماكرو (ماكرو: إجراء أو مجموعة إجراءات يمكنك استخدامها لتنفيذ المهام بصورة تلقائية. وتسجّل وحدات الماكرو في لغة البرمجة Visual Basic for Applications.) أو تعبير استعلام أو عنصر تحكم محسوب (عنصر تحكم محسوب: عنصر تحكم يستخدم في نموذج أو تقرير أو صفحة وصول إلى البيانات لعرض نتيجة تعبير. يُعاد حساب النتيجة في كل مرة يحدث تغيير في قيمة من القيم التي يستند إليها التعبير.). على سبيل المثال، يمكنك استخدام الدالة DSum في تعبير حقل محسوب في استعلام لحساب المبيعات الإجمالية التي قام بها موظف معين خلال فترة زمنية. أو يمكنك استخدام الدالة DSum في عنصر تحكم محسوب لعرض إجمالي مبيعات جارية لمنتج معين. بناء الجملة DSum(expr, domain, [criteria]) تحتوي الدالة DSum على الوسائط التالية. الوسيطة الوصف expr عبارة عن تعبير يحدد الحقل الرقمي الذي تريد حساب إجمالي القيم الموجودة به. قد يكون تعبير سلسلة (تعبير سلسلة: أي تعبير يقيّم إلى تتابع من الأحرف المتتالية. ويمكن لعناصر التعبير أن تتضمن: دالات تُرجع سلسلة أو سلسلة Variant ‏(VarType 8)‏‎؛ سلسلة أحرف، أو ثابت، أو متغير، أو (Variant. يحدد حقلاً في جدول أو استعلام أو قد يكون تعبيراً يقوم بعملية حسابية على البيانات الموجودة بهذا الحقل. في expr، يمكنك تضمين اسم حقل في جدول أو عنصر تحكم على نموذج أو ثابت أو دالة. إذا تضمن expr دالة، فقد تكون إما مضمنة أو محددة من قبل المستخدم، ولا تكون دالة تجميع مجال آخر أو دالة تجميع SQL. domain تعبير من سلسلة أحرف يحدد مجموعة السجلات التي تمثل المجال. قد يكون اسم جدول أو اسم الاستعلام الذي لا يتطلب معلمة. criteria تعبير من سلسلة أحرف اختياري يتم استخدامه لتقييد نطاق البيانات التي يتم تنفيذ الدالة DSum عليها. على سبيل المثال، تساوي criteria العبارة WHERE في تعبير SQL، بدون الكلمة WHERE. في حالة حذف criteria، تقوم الدالة DSum بتقييم expr على المجال بالكامل. ويجب أن يكون أي حقل مضمن في criteria حقلاً في domain؛ وإلا ستقوم الدالة DSum بإرجاع Null (قيمة خالية ((خالية: قيمة يمكنك إدخالها أو استخدامها في تعبيرات أو استعلامات للإشارة إلى البيانات المفقودة أو غير المعروفة. تشير الكلمة الأساسية خالية إلى القيمة خالية. لا تحتوي بعض الحقول مثل حقول المفاتيح الأساسية على القيمة خالية.(. تنويهات في حالة عدم وجود أي سجل لا يلبي متطلبات الوسيطة criteria أو إذا كان المجال لا يحتوي على سجلات، تقوم الدالة DSum بإرجاع Null. وسواءً كنت تستخدم الدالة DSum في وحدة ماكرو، أو وحدة نمطية، أو تعبير استعلام، أو عنصر تحكم محسوب، يجب تكوين الوسيطة criteria بعناية للتأكيد على أنه سيتم التقييم بصورة صحيحة. يمكنك استخدام الدالة DSum لتحديد المعايير في الصف "المعايير" لاستعلام، في حقل محسوب في تعبير استعلام، أو في الصف "تحديث إلى" في استعلام تحديث (استعلام تحديث: استعلام إجرائي (عبارة SQL ) التي تغير مجموعة السجلات تبعاً للمعايير (شروط البحث) التي تحددها.). ملاحظة يمكنك استخدام إما الدالة DSum أو Sum في تعبير حقل محسوب في استعلام إجماليات (استعلام إجماليات: استعلام يعرض اختصار لعملية حسابية، مثل المعدل أو المجموع، لقيم في حقول متنوعة من جدول أو جداول. ولا يُعد استعلام الإجماليات نوع استعلام منفصل، بل أنه يتعدى مرونة استعلامات التحديد.). في حالة استخدام الدالة DSum، يتم حساب القيم قبل تجميع البيانات. إذا قمت باستخدام الدالة Sum، يتم تجميع البيانات قبل تقييم تعبير القيم الموجودة في الحقل. قد تحتاج إلى استخدام الدالة DSum إذا أردت عرض إجمالي مجموعة القيم من حقل غير موجود في مصدر السجل للنموذج أو التقرير الخاص بك. على سبيل المثال، نفترض أن لديك نموذجاً يعرض معلومات حول منتج معين. يمكنك استخدام الدالة DSum للاحتفاظ بإجمالي مبيعات جارية لهذا المنتج في عنصر تحكم محسوب. تلميح إذا أردت الاحتفاظ بمجموع تراكمي في عنصر تحكم على تقرير ما، يمكنك استخدام الخاصية المجموع_التراكمي الخاصة بعنصر التحكم هذا إذا كان الحقل الذي يستند إليه العنصر مضمناً في مصدر السجل للتقرير. استخدم الدالة DSum للاحتفاظ بالمجموع التراكمي على نموذج ما. ملاحظة لا يتم تضمين التغييرات التي تتم على السجلات الموجودة في domain "المجال" عند استخدام تلك الدالة. إذا أردت إسناد الدالة DSum على القيم التي تم تغييرها، يجب أولاً حفظ التغييرات بواسطة النقر فوق حفظ السجلات في القائمة سجلات، مع نقل التركيز إلى سجل آخر، أو بواسطة استخدام الأسلوب Update. ولتسهيل كتابة الدالة استخدم هذه الأداة 🙂 :
  3. دكتورنا @الحلبي .. هذه العملية التي وضحتها لك تعملها فقط لو أنت مستخدم في برنامجك هذا النوع من الأكواد .. وإذا كنت مستخدمنها وموجودة في برنامجك فعلا .. إبحث في أكواد البرنامج عن الكلمة Declare .. وطبق على تلك الدوال نفس الشرح اللي وضحته لك سابقا .. 🙂
  4. وعليكم السلام ورحمة الله وبركاته .. 🙂 يمكنك تنفيذها عن طريق استعلام تجميعي .. ثم تقوم بتحويله لنموذج فرعي في النموذج الرئيسي : ملاحظة مهمة : - وجدت أنك سميت الحقول بأسماء محجوزة للأكسس ( Date - Name ) فبدلتها إلى ( MyDate - MyName ) .. 🖐🏻 Database4.accdb
  5. دكتور @الحلبي سأحاول تبسيط المسألة لك بأبسط شرح ممكن أن تحصل عليه 🙂 * لكي يعمل عندك البرنامج على النواتين في نفس الوقت ... في الأغلب أنت ستحتاج تغيير نوع محدد من الأكواد .. وهي الأكواد التي تأتي كلمة ......... Declare ............. في سياقها .. لكي يعمل الكود على النواة 32 يكتب الكود هكذا : .....................................Private Declare Function ولكي يعمل الكود على النواة 64 يتم إضافة كلمة واحدة وهي ptrsafe بعد كلمة Declare فيصبح الكود هكذا : ................................... Private Declare ptrsafe Function ولكي تجمع بين هذين الخيارين من أجل أن يعمل البرنامج على الأجهزة المختلفة مهما كانت النواة يتم كتابتهما معا هكذا : #If VBA7 And Win64 Then 'For :64 Private Declare PtrSafe Function apiGetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long #Else 'For :32 Private Declare Function apiGetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long #End If وهذا هو مختصر المختصر 🙂
  6. أنت مبدع يا باش مهندس @ابو جودي 😀👌 وأنا طبعا ما قدمت إلا لمسات بسيطة والجهد كله من إبداعاتك يا فنان 😎🌹 ربنا يوفقك ويبارك فيك 👐🏻
  7. للعلم تم عمل تحديثات جديدة للواجهة : قمت بتطوير النموذج ليحمل أزرار فرعية وأزرار فرعية من الفرعية بناءا على طلب بعض الإخوة 🙂 كما تم إضافة خاصية إمكانية فتح الماكرو للأزرار .. وكذلك مع إمكانية فتح النماذج والتقارير في وضع التكبير Maximize .. وهذه صورة للوحة التحكم : ملاحظة : تم تحديث رابط التحميل في المشاركة الأولى 🙂
  8. تفضل أخي قمت بتطوير النموذج ليحمل أزرار فرعية وأزرار فرعية من الفرعية 🙂 وهذه لوحة التحكم : ملاحظة : تم تحديث رابط التحميل في أول مشاركة 🙂
  9. وعليكم السلام ورحمة الله وبركاته .. 🙂 الأفضل أن ترفق ملفك يابو الحسن علشان يتأكد الإخوة أنه حيضبط على ملفك صح ..
  10. فيه عندك حاجة اسمها الإرتساء الأفقي والإرتساء الرأسي .. ممكن تتحكم فيه بموقع العنصر ( يمين - يسار - كلاهما ) والإرتساء الرأسي ( للأعلى - للأسفل - كلاهما ) هذا ينطبق على جميع العناصر في النموذج .. جرب تضبطها بنفسك 🙂 النتيجة : ( ويمكنك نقل الأيقونات أيضا إلى اليسار ) 🙂 Modern Main Page With Main Menu ENGLISH.rar
  11. لله درك يا أبو جودي 🙂 إحنا ما لحقنا نفهم الأكود السابقة إلا ونلقاك غيرت التشكيلة الداخلية 😂🖐🏻 نحتاج سنة ثانية علشان نستوعب الصدمة الجديدة .. 👊🏻 فن وروعة وإبداع ما يكفوش لوصف هذي التحفة الفنية الفريدة 😊 بس باقي حتة ملاحظات صغننين وإن شاء الله تكون الأخيرة 😅✋🏻: في عندنا شح في (الواوات) هنا 😁 مثلا هذي في تفقيط الرقم : ألف (و) واحد .. ألفان (و) واحد محتاجة مسافة ==> عمانيبيسة ==> ومحتاجة واو بينهم الفواصل => صفر و صفر (و) واحد. معلش إستحملنا اليومين دول ( دا احنا واقفين لك وحنطلع عينك يا راجل ) أمااااااااااااااااااااااال 😂
  12. أسأ الله العظيم رب العرش العظيم أن يمن بالرحمة والغفران على جميع موتاكم وموتى المسلمين وأن يلبسكم ووالديكم وذويكم لباس الصحة والعافية.. يا الله يا رب العالمين 🙂👐🏻 أحسنت وأبدعت وأتقنت باش مهندس عمر .. موضوع جميل ويفتح بوابة لآفاق أوسع ما كنا نحسبها ممكنة في السابق .. 😊 فعلا العالم يتغير 😉👌🏻
  13. هذا ما توصلت إليه ولله الحمد ☺️ بعد الكثير من المحاولات وفك الطلاسم ( المحمد عصامية 😅) قمت بعمل التعديلات التالية : 1 - تفقيط القيم السالبة ( بالإشتراك مع الأخ العزيز @Foksh ) مع تعديل موضع كلمة "سالب" لتكون بعد كلمة "فقط". 2- ظهور كلمة صفر مكان القيم الصفرية. 3 - وهو التعديل الأكبر : إضافة متغير اختياري من نوع (True/False) في نهاية الدالة لإظهار الجملة "فقط ....... ريال عماني لاغير" أم لا ... بمعنى أنك هل تريد تحويل الأرقام فقط من غير العملة 😎 هذه هي صيغة الدالة بعد التعديل : ConvertNumberToWords(Number , language , ShowExtras ) Number = الرقم المراد تحويله إلى نص language = اللغة ("AR" / "En") ShowExtras = إظهار الإضافات (True / False) وبذلك أصبح استدعاء الدالة بهذه الأشكال (أنظر للنتيجة) : (1) ConvertNumberToWords(23.5,"Ar") فقط ثلاثة وعشرون ريالًا عمانيًا وخمسمائة بيسة لا غير ConvertNumberToWords(23.5,"En") Only twenty-three Omani Rials and five hundred Baisas No more (2) ConvertNumberToWords(23.5,"Ar",False) ثلاثة وعشرون فاصل خمسة ConvertNumberToWords(23.5,"En",False) twenty-three point five كل التعديلات تمت على نهج المهندس الكبير @ابو جودي بحيث لم يتم استخدام الحروف العربية في الكود ووو ... وهذه لقطة من الاستعلام لمعاينة الناتج النهائي 🙂 وهذا هو الملف المعدل : Convert currency numbers to words v 6(Moosak).accdb ملاحظة مهمة : واجهتني عدة مشكلات وتغلبت عليها بفضل الله ، ولكن بقيت مشكلة واحدة ما عرفت كيف أتصرف معها 😅 عند تحويل الأرقام إلى نصوص بدون ذكر العملة جعلته يتعامل مع الأرقام بعد الفاصل بكليتها بغض النظر عن طول السلسلة الرقمية ، مثال : ولكن المشكلة التي واجهتني هي عندما يكون هناك أصفار بعد الفاصل ، فبعد تحويلها لأرقام يتم تجاهل الأصفار التي على يسار الرقم هكذا: وهذا السؤال متروك حله لأهل الخبرة ؟؟؟
  14. تم حل هذه النقاط الثلاثة بنسبة 95% وباقي 5% وبدأت أشعر فعليا بعظيم الجهد اللي تم على هذي الأكواد والشغل الجبار وحسيت بمعاناة سيد المعلمين @ابو جودي 😅🖐🏻️ وشايف فيه أخطاء مع الخانات العشرية وجار العمل على إصلاحها .. وقد لاحظت أن النتيجة في بعض الأحيان تختلف في الاستعلام عن النتيجة عند تجربتها مباشرة في VBA .. وهذا تحدي لحاله.
  15. أساس المشكلة عندك أخي أبو الحسن أنك تعمل على نسخة أكسس قديمة .. ( من 2007 فما قبل ) لذلك لن تعمل معك بعض المميزات المستخدمة في نموذج الرسائل .. أنا نقلت لك جميع العناصر على نسخة أحدث وأشتغلت تمام التمام .. 🙂 فإذا لم تعمل معك فعليك بإعادة النظر في تحديث نسخة الأكسس التي لديك .. DATA14.accdb
  16. تسألنا أم تخبرنا ؟ أهلا بك في عالم أوفيسنا أخي عامر .. شرفت وآنست 🙂🌹 الأفضل أنك ترفق ملفك أخي عامر وتوضح المطلوب بالشرح الكافي والوافي 🙂
  17. أخي أبو الحسن ، أضن أن أفضل حل هو أن ترفق ملفك 🙂 أرفقه في هذا الموضوع :
  18. تعديل بسيط على نموذج العم فادي 🙂 : kg.accdb
×
×
  • اضف...

Important Information