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

أبو عبدالله الحلوانى

الخبراء
  • Posts

    1,715
  • تاريخ الانضمام

  • Days Won

    5

مشاركات المكتوبه بواسطه أبو عبدالله الحلوانى

  1. السلام عليكم ورحمة الله وبركاته

    حبيت اضيف معلومة صغيرة ارجو ان يصوب اساتذتي خطأها ان كانت خطأ 

    احب دوما أعوض عن القيم النصية بقيم رقمية بالأكواد كلما كان ذلك متاحا

    تجنبا لمشكلات الترجمة واختلاف اللغة بالأجهزة التي سيعمل عليها البرنامج وهذا مثال تعديلا بسيطا علي كود استاذا جعفر لنتفادي وجود اسم اليوم داخل الكود وارجو التجربة مع تغير اعدادات الويندوز للغة العربية والانجليزية بعد التعديل.

        If Weekday(TD) = 6 Then
        
            fOver_Time = DateDiff("n", DS, DE) \ 60 & ":" & DateDiff("n", DS, DE) Mod 60
        
        ElseIf Weekday(TD) = 5 Then
        
            fOver_Time = DateDiff("n", STO2, DE) \ 60 & ":" & DateDiff("n", STO2, DE) Mod 60
        
        ElseIf Weekday(TD) < 5 Or Weekday(TD) > 6 Then   'Or you can say Else Only Here
        
            fOver_Time = DateDiff("n", STO1, DE) \ 60 & ":" & DateDiff("n", STO1, DE) Mod 60
        
        End If

    مجرد معلومة افدتها من اساتذتي بالمنتدي واحببت مشاركتها معهم (هذه بضاعتكم ردت اليكم)

    تمنياتي بالتوفيق

    • Like 1
    • Thanks 1
  2. 27 دقائق مضت, ابوخليل said:

    اجادة وصف السؤال وفهمه هو نصف الاجابة 

    السلام عليكم ورحمة الله وبركاته

    وانا ايضا اشارك استاذنا أبو خليل ما قال ففهم السؤال هو نصف الاجابة كما قيل

    ولكن اعتقد ان الأخ عمر يريد ان يضيف سجلات متعددة الي الجدول بنفس البيانات ويكون المتغير هو الرقم المتسلسل وعدد السجلات المطلوبة هو الرقم الذي يحدده في النهاية.

    ان كان هذا هو المطلوب فخذ تلك الوحدة النمطية وجرب ووافنا بالنتائج

    Public sub GenrateRecords(byval tbl as string,byval Rfrist As byte,byval Rend As byte)
    Aim rec As Recordset,n as byte
    set rec = CurrentDb.OpenRecordset(tbl, dbOpenDynaset, dbSeeChanges)
    
      With rec 
        for n = Rfrist To Rend       'هنا رقم اول سجل وآخر سجل تريد ادراجه
          .AddNew
          !field_ID = "String" & n   'string = البادئة النصية التي تريد
          !field1 = control1         'بدأ من هذا السطر اسماء الحقول في الجدول وما يقابلها بالنموذج
          !field2 = control2
          !field3 = control3
          !field4 = control4
          .update
        next
      end with
    
    End Sub

    وتستدعيها هكذا 

    Call GenrateRecords ("Table Name",1,15)

    بعد تغير ما يلزم تغيرها بالوحدة حسب مسميات الحقول لديك 

     

    • Like 2
  3. وعليكم السلام ورحمة الله وبركاته

    7 ساعات مضت, safari said:

    محتاج تساعدونى ازاى اصمم نموذج اسمه مثلا :  اقفال الفترة المالية 

    هذه سهلة يمكنك القيام بها بدون مساعدة ان شاء الله كل ما تحتاجه فكرة العمل

    7 ساعات مضت, safari said:

    منه يتم اقفال فترة تسجيل فواتير المبيعات مثلا  و امنع فى نفس الوقت تسجيل اى فواتير جديدة يكون تاريخها خلال فترة الاقفال ؟

    عن طريق تشيك بوكس 

    الفكرة بسيطة ان شاء الله من وجهة نظري المتوضعة نضع حقل في جدول العمليات يحوي قيمة رقمية 0 - 1 أو true - false  حسب رغبتك يتم تحديثها عند اغلاق الدورة المالية الي 1 وتأخذ القيمة 0 عند عدم الاغلاق 

    طبعا الأمر سيحتاج الي آلية برمجية للتعامل مع هذا الحقل 

    ومن فوائد هذا الحقل اننا سنوقف كل التعاملات مع السجل الذي يحوي القيمة 1 مثلا بهذا الحقل من تعديل أو اضافة أو حذف أو... لكون هذه المعاملة تم اقفالها ماليا

    8 ساعات مضت, safari said:

    لكن لو شيلت التشيك بوكس ممكن اضيفها عادى ..

    أعتقد من الناحية المحاسبية ان عملية التعديل أو الاضافة لن تكون مسموحة علي دورة مالية منتهية لذي فكرة اعادة فتح الدورة المالية بعد الاقفال شيء خطأ محاسبيا 

    ولكن ان كان ولا بد وحسب ما يتراءي لك من وجهة نظر لا أعلمها ففي الفكرة السابقة كفاية لكونك تعيد تحديث حقل الاقفال الي صفر وينتهي الأمر وتعود الدورة المالية للعمل مرة أخري 

    أرجو أن يكون كلامي لا اشكال فيه 

    تمنياتي بالتوفيق

  4. 4 دقائق مضت, ناقل said:

    نعم ... هو هذا كان الهدف من السؤال ... بارك الله فيك ... 

    أولا-  أعتذر لاقتحامي النقاش بدون استئذانكم فأنت صاحب الموضوع :wub:

    ثانيا- سعدت بموافقتك ما أقصد واعتقد أن كلنا حولها ندندن :biggrin:

    • Haha 1
  5. منذ ساعه, أبو إبراهيم الغامدي said:

    نسيت أن أذكر شيئاً يتعلق بمواقع التوصل وهو الأمان المشفر، ومنصات IFrame التي يعمل من خلالها المستعرض لا تقدم هذه الميزات..

    بغض النظر عن مواقع التواصل كيف يمكن استخدام طريقتكم لعرض الصفحات التي تتطلب متصفح ميزات غير متوفرة في تلك الأداة المصاحبة للأكسس 

    حيث أن هذا الكود يعتمد علي اننا نقوم بكتابة الشفرة او نمررها كما فعلتم بمرفقكم المميز الفاتورة الالكترونية داخل الأداة وفقط 

    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
    </head>

    باختصار كيف يمكن دمج هذا الكود مع كود الصفحة المطلوبة ليتسنا لنا عرضها علي اداة الويب بروزر الخاصة بالأكسس

    حيث ان هذا ما يحدث عند استدعاء بعض الصفحات علي هذه الأداة

     

    وجزاكم الله عنا خيرا

    1234.png

    • Like 1
  6. جزاكم الله عنا خيرا 

    لقد عمل المرفق بكل سلاسة وبشكل مذهل كالعادة فليس هذا الابداع بالشئ الجديد عليكم

    قد كنت فقدت الأمل في التعامل مع أداة الويب بروزر حتي سمعت كلماتكم هذه في اماكنية ترقية الأداة وأرجو ان يتسع وقتكم للرد علي استفساري البسيط هذا

    لدي صفحة اريد التعامل معها من خلال الأكسس كيف احقن هذه الصفحة بالكامل أو امرر عنوان هذه الصفحة بما تحتوي من شفرات بعد استخدام طريقتكم هذه للتعامل معها كمتصفح edge

    في ٥‏/١‏/٢٠٢٢ at 13:58, أبو إبراهيم الغامدي said:
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
    </head>

    وجزاكم الله خيرا

    • Like 1
  7. وعليكم السلام ورحمة الله وبركاته

    يمكنك ان تضع هذا الكود في وحدة نمطية (Module)

    Public Sub ColorCurrentRec(frm As Form, RecKey As Control, ByVal bakColor As Integer, ByVal ForColor As Integer)
      Dim ctl As Control
      
      On Error Resume Next
      
    
    '===================================
    'The required color argument for QBColor function
    'is a whole number in the range 0-15.
    '
    'The color argument has these settings:
    '
    'Number  Color   Number  Color
    '0       Black   8       Gray
    '1       Blue    9       Light Blue
    '2       Green   10      Light Green
    '3       Cyan    11      Light Cyan
    '4       Red     12      Light Red
    '5       Magenta 13      Light Magenta
    '6       Yellow  14      Light Yellow
    '7       White   15      Bright White
    '=============================================
      
      For Each ctl In frm.Section(0).Controls
        With ctl
    '      If .Section = 0 Then
    		'you can change the condition as you want here
            .FormatConditions(0).Modify acExpression, , RecKey.Name & "=" & RecKey
            If Err.Number = 7966 Then
              Err.Clear
              .FormatConditions.Add acExpression, , RecKey.Name & "=" & RecKey
            End If
            If Err.Number <> 438 Then
              .FormatConditions(0).BackColor = QBColor(bakColor)
              .FormatConditions(0).ForeColor = QBColor(ForColor)
              .FormatConditions(0).FontBold = True
            End If
    '      Else
    '        Exit For
    '      End If
        End With
      Next ctl

    ثم تستدعيها من خلال الفورم الذي تريده هكذا

    'ID = اسم الحقل الذي ستسند قيمة الشرط اليه ممكن تغير شرط التساوي داخل الوحدة النمطية الي ما تشاء او تجعل الحقل يساوي null
    '8 = هذه قيمة لون الخلفية للحقل ويمكن تغير القيمة من 0 - 15
    '9 = هذه قيمة لون النص للحقل ويمكن تغير القيمة من 0 - 15
    'حسب الجدول الموضح للقيم في الوحدة النمطية
    
    Call ColorCurrentRec(me, ID, 8, 9)

    تمنياتي بالتوفيق

     

    • Like 1
  8. في ٢١‏/١١‏/٢٠٢١ at 05:42, د.كاف يار said:

    فقط قم بتغيير اسماء الجداول المرتبطة بقاعدة البيانات على السيرفر

     

    تكون الاسماء بهذا الشكل

    image.png.6e9c093d7e5018a5260bc7e7bbcbb199.png

    بعد التغيير تكون بهذا الشكل و تنتهي المشكلة

    image.png.021577c1dc8979b2aa3aa490e36fcb36.png

    ستعود الأمور كما كنت عليه قبل النقل الى السيرفر الخارجي

    بالاضافة الي ما تفضل به الاساتذة الكرام

    قد واجهتني مشكلتك عند التعامل مع السرفر لأول مرة وكانت المشكلة في عدم جلب المفتاح الرئيس لكل جدول فعند تصدير الجداول من الاكسس ببعض البرامج لا يتم تحديد المفاتيح الأساسية لكل جدول لذي تظهر الجداول بالأكسس مجمدة ولا تعمل وكانها غير موجودة أصلا لذي عليك الدخول الي السرفر والتعديل في تصميم الجداول لتحديد المفاتيح الأساسية لكل جدول 

    هذا والله اعلم 

    عودا أحمد @ابو محمد2 

    • Like 1
  9. في ١٩‏/١١‏/٢٠٢١ at 02:44, king5star said:

    مساعدة من الخبراء ان أمكن 

    هل من الممكن تشغيل سكريبتك بالاكسس دون الحجة لتفعيله يدوياً كما موضح بأخر الفيديو مع العلم باننى قمت بمحاولات لا تحصي ولكن لا يعمل بالجودة المطلوبة .

    رغم كوني لست من الخبراء الذين تستدعيهم ولكن هذه تجربتي في التعامل مع الاسكربت لعلها تفيدك

    فقط بعد تصميم الاسكربت وتحديد متي اريد تنفيذ الوظيفة الخاصة به ( وفي الغالب بيكون الوقت اما قبل أو بعد شيئ ما) اقوم بوضعها بملف الستأب -- للبرنامج الخاص بي 

    وفي العادة استخدم هذا البرنامج المجاني لعمل الملف التنفيذي لبرامجي والذي يسمي smart install maker 

    وفي الشاشة التالية اضيف كل الاسكربتات التي اريد تشغيلها مع عملية التسطيب واحدد وقت تنفيذ كل اسكربت وزمن تنفيذ هذه الاسكربتات قبل الفك ام بعده 

    تمنياتي بالتوفيق 

    ارجو ان اكون قد افدتك بشئ

     

    123.png

    • Like 1
  10. 11 دقائق مضت, حسين العربى said:

    احب اوضح لحضرتك اني انا والاستاذ الفاضل ابو خيل  بنتكلم في نقطة مرتجع شراء بيتخصم  مبلغه من الشراء ام من البيع

    لو لاحظت اخي ردي الاول ستري اني قمت بعرض لطريقة الحساب 

    30 دقائق مضت, أبو عبدالله الحلوانى said:

    هب أنك انت العميل وقمت بشراء فاتورة بها ثلاثة اصناف وقمت بارجاع احد هذه الاصناف الي البائع منطقيا ما هي القيمة التي ستطالب بها البائع عند ارجاع الصنف اليست تلك القيمة البيعية التي قمت بشراء الصنف بها اي نفس القيمة المثبتة بالفاتورة. اليس كذلك؟

    اي اننا نقوم بعكس عملية الشراء في حالة مرتجع الشراء يعني كما في مثالك ارجعت من الصنف الذي اشتريته بـ 1 دينار عدد 1 صنف بقيمة؟؟!

    1 دينار طبعا فكما اشتريته بـ 1 دينار عندما اقوم بارجاعه الي المورد سيرد الي 1 دينار اليس كذلك؟

    وعندما بعت نفس الصنف بـ 2 دينار وقام المشتري برد 2 صنف ماذا تعتقد اني سأرد اليه من مبلغ اليس 4 دينار؟!

    اذا سيكون حساب المبلغ علي مثالك :

    صافي قيمة المشتريات = (10 صنف * 1 دينار = 10 دينار - 1 صنف * 1 دينار = 9 دينار)

    صافي قيمة المبيعات =( 5 صنف * 2 دينار = 10 دينار - 2 صنف * 2 دينار = 6 دينار)

    أما بالنسبة الي حساب الربح الناتج من عملية الشراء فينج من خلال المعادلة المحاسبية التالية:

    اجمالي الربح = (بضاعة اخر المدة + صفي المبيعات) - (بضاعة أول المدة + صافي المشتريات)

    أو المعادلة الرياضية التالية:

    (الكمية المباعة * سعر البيع) - ( الكمية المباعة * سعر الشراء)  وكما في مثالك سيكون العمل بهذا الشكل

    الكمية المباعة هي (5-2=3) * 2 دينار = 6  دينار - (لكمية المباعة 3 * سعر الشراء 1 دينار = 3 دينار )

    اذا الربح هو 3 دينار

    آسف علي الاطالة 

    ارجو ان اكون فهمت مرادك بشكل صحيح

    • Thanks 1
  11. 4 دقائق مضت, حسين العربى said:

    انا عاوز من اعمل تقرير به كود الصنف  والاسم   والكمية شراء والكمية بيع   وسعرالشراء  وسعر البيع  والتاريخ 

    واجمالي الشراء

    واجمالي البيع

    واجمالي الربح

    اليك اخي تلك الفكرة البسيطة والنصيحة ان اردت ان تضم بياناتك في جدول واحد:

    1- اجعل جدول لرأس الفاتورة يضم (رقم الفاتورة - نوع الفاتورة (بيع شراء مرتجع) وكود العميل واجمالي قيمة الفاتورة ونوع السداد وقيمة السداد ...)

    2- اجعل جدول لنوع العمليات (كود العملية - ونوع العملية - شراء , بيع , مرتجع بيع , مرتجع شراء)

    3- اجعل جدول للأصناف يشمل ( كود الصنف - اسم الصنف - الكمية المتاحة - وسعر الشراء - سعر البيع)

    4- وجدول لكل العمليات أو تفاصيل الفاتورة ويشمل ( رقم الفاتورة - كود العملية - كود الصنف - الكمية - القيمة - الاجمالي)

    هذا الجدول الأخير يمكن من خلاله عمل ما نريد من خلال الاستعلامات التجميعية بكل سهولة ويسر ان شاء الله

    تمنياتي بالتوفيق

    • Like 1
  12. السلام عليكم ورحمة الله وبركاته 

    وبعد اذن استاذنا ابوخليل

    21 دقائق مضت, حسين العربى said:

    اما بالنسبة لمرتجع الشراء  الزبون اشتري ورجع مثلا اشتريت ساعة كمية 1 من الصنف مثلا 3333 سعره شراء مثلا 10 دينار  ورجعته تاني  للعميل الي اشتريت منه يخصم من الشراء ام من البيع

    لنتفهم المسألة لنقم بتصور مثالا عمليا لعملية البيع التي تمت 

    هب أنك انت العميل وقمت بشراء فاتورة بها ثلاثة اصناف وقمت بارجاع احد هذه الاصناف الي البائع منطقيا ما هي القيمة التي ستطالب بها البائع عند ارجاع الصنف اليست تلك القيمة البيعية التي قمت بشراء الصنف بها اي نفس القيمة المثبتة بالفاتورة. اليس كذلك؟

    وكذلك الحال بالنسبة لعملية المرتجع من المشتريات

  13. 23 دقائق مضت, ابا جودى said:

    بعد جزاكم الله خيرا 

    هذا المرفق على طريقتكم

    وجزاكم الله خيرا 

    بل هي طريقكتم وفكرتكم بالأساس؛  وعدلت فيها بدون استإذان لعلمي بعدم ممانعتم من ذلك - فبحر جودكم يأبي عليكم البخل بعلم -

    وبعد فقد أوحشتموني وأوحشني التواصل معكم فقد شغلتنا عنكم مشاغل الحياة ولكنكم لم تغيبو عن الــ 💚 

    حفظكم الله ورعاكم وسدد خطاكم

  14. 3 دقائق مضت, abouelhassan said:

    بس ده الشريط الخاص بالاكسيس مش بفورم 

    نعم من خصائص الفوم في وضع التصميم للفورم من خصائص عدل علي خاصية close button الي لا 

    اعتذر لا استطيع ارفاق صورة توضيحية الآن ولكن ارجو ان يكون الكلام واضح لو حاولت التطبيق قليلا

     

    • Like 1
  15. السلام عليكم 

    اعلم ان الموضوع قديم 

    ولكن جائتني بالآونة الأخيرة طلبات لمشاركة المرفق المرفوع علي دريف فأحببت ان اضع المرفق هنا لكون جوجل دريف صنف المرفق علي انه قديم ووضع بقائمة المحذوفات لذا ساضعه هنا علي سرفر المنتدي لعله يستفيد به من مر من هنا يوما

    وجزا الله خيرا كل من حاول تحميل الملف واعتذر عن عدم استطاعته تحميله للسبب الموضح بعاليه 

    التاريخ كتابة .rar

    • Like 1
  16. السلام عليكم 

    يبدو انك تحاول ادخال النص في الحقل registration_text  لا في registration_document_number

    فلو لاحظت الصورة لرأيت ان الأول والذي يحمل وصف البيان نوعه رقم طويل 

    أما الآخر والذي يحمل وصف رقم المستند نوعه نص 

    ولكن كلا اسمي الحقلين مخالف للوصف باللغة العربية 

    والله اعلم 

    حاول تغير نوع الحقل الأول registration_text الي نص

  17. السلام عليكم 

    هذه فكرة سريعة واعذرني لا املك الوقت الكافي للاطلاع علي المرفق والتعديل عليه 

    ولكن اعتقد ان تطبق الفكرة لن يكون صعبا ان شاء الله ولن يكلق اعادة البناء من جديد 

    فقط اضافة حقل رقم الفرع في جدول المستخدمين - وكذلك في الجدول الرئيس للبيانات التي سيتم البحث والتعديل عليها وهكذا ...

    يتم تعديل بسيط في مصدر بيانات النماذج الخاصة بالبحث والادخال والتعديل بجعل مصدر البيانات استعلام يقوم بفلترت البيانات حسب رقم الفرع الخاص بالمستخدم الذي يستعمل البرنامج 

    وفقط

    ودمتم

    وتمنياتي بالتوفيق

  18. السلام عليكم ورحمة الله 

    جزا الله أساتذتنا خيرا 

    من وجهة نظري ان هذا الكود القصير يفي بالغرض ويستخرج اسم اليوم من التاريخ وسيظهر اسم اليوم باللغة الاقليمية للجهاز سواء كانت اعدادات اللغة عربية او اجنبية

    Format(Filed_date,"dddd")
    'Replace the filed_date with what youer filed date name

    واثمن كل جهود اساتذتنا 

    اما وان رمت الاجتهاد فيمكنك التعديل علي كود استاذنا ابا جودي بأن تقوم بتغير اسماء المتغيرات الي اللغة الانكليزية هكذا

    Public Function DayName(dtDate,lng)
    
    Dim strSat    As String
    Dim strSun    As String
    Dim strMon    As String
    Dim strTues   As String
    Dim strWed    As String
    Dim strThurs  As String
    Dim strFri    As String
    
    if lng=0 then
      strSat = ChrW("1575") & ChrW("1604") & ChrW("1587") & ChrW("1576") & ChrW("1578")
      strSun = ChrW("1575") & ChrW("1604") & ChrW("1575") & ChrW("1581") & ChrW("1583")
      strMon = ChrW("1575") & ChrW("1604") & ChrW("1575") & ChrW("1579") & ChrW("1606") & ChrW("1610") & 	 ChrW("1606")
      strTues = ChrW("1575") & ChrW("1604") & ChrW("1579") & ChrW("1604") & ChrW("1575") & ChrW("1579") & ChrW("1575") & ChrW("1569")
      strWed = ChrW("1575") & ChrW("1604") & ChrW("1575") & ChrW("1585") & ChrW("1576") & ChrW("1593") & ChrW("1575") & ChrW("1569")
      strThurs = ChrW("1575") & ChrW("1604") & ChrW("1582") & ChrW("1605") & ChrW("1610") & ChrW("1587")
      strFri = ChrW("1575") & ChrW("1604") & ChrW("1580") & ChrW("1605") & ChrW("1593") & ChrW("1577")
    else
      strSat = Saturday
      strSun = Sunday
      strMon = Monday
      strTues = Tuesday
      strWed = Wednesday
      strThurs = Thursday
      strFri =Friday
    end if
    
      DayAr = Choose(Weekday(dtDate), strSun, strMon, strTues, strWed, strThurs, strFri, strSat)
    
    End Function

    وتستدعي الدالة بهذا الشكل

    me.d = DayName(date_filed,0)  '-> For Arabic
    me.d = DayName(date_filed,1)  '-> for English

    والسلام

    • Like 3
  19. وعليكم السلام 

    سؤال غريب حقيقة - ولكن لماذا ستتخلي مايكروسوفت عن الأكسس من وجهة نظرك 

    نعم نري ان مايكروسوفت تقلل من الامكانيات الخاصة بالاكسس في الاصدارات الاحدث ولكنها تعوض هذا بزيادة بعض الاشياء الأخري في المقابل - وتصنع ملحقات خاصة بالاشياء التي قامت بالغاءها من الاصدارات السابقة أحيانا، علي سبيل المثال في اصدار 2010 من الأكسس هنالك مزية متوفرة وهي تصدير الجداول الي الـ SQL  وهذه الميزة تم الغاءها من الاصدارات الأحدث كـ 2016 وما فوق - ولكن تم صنع ملحق يمكن تحميله من موقع مايكروسوفت خاص بتصدير جداول الأكسس الي الـ SQL.

    ولكن مالذي يحملها علي التخلي عنه بالكلية؟

    وان تخلت عنه هل ستقوم من سحب الاصدارات القديمة من السوق ما اعتقد هذا فرغم ظهور الاصدارات الاحدث فما زال بالامكان الحصول علي الاصدارات الاقل وتشغيلها حتي بجانب الاصدارت الاحدث علي جهاز واحد ولا ضير!

    وعلي كلا اعتقد ان هناك كثير من برمجيات قواعد البيانات يمكن استخدام برمجيات اخري لتصميم الواجهات معها 

    مثل: أوراكل - والـ SQL - و الـ SQL server وغيرها مع احد لغات البرمجة كـ html - vb  وغيرها لتصميم الواجهات.

    تمنايتي بالتوفيق سؤالك قد حيرني حقا. 

    • Like 1
×
×
  • اضف...

Important Information