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

Foksh

أوفيسنا
  • Posts

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

  • Days Won

    192

مشاركات المكتوبه بواسطه Foksh

  1. 2 ساعات مضت, 2saad said:

    بمعني أي شي يتغير أو يكتب في الجدول المرفق بملف  الاكسس يسمع في شيت الاكسيل

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

    أعتقد سيكون لديك طريقين للعمل عند التسميع في ملف اكسل .

    1. فتح ملف اكسل وإبقائه في الخلفية مفتوحاً ( حتى لو بواجهة مخفية ) . وهذا سيشكل عبئ كبير على الذاكرة مستقبلاً..

    2. أن يتم فتح ملف اكسل كلما تم تحديث لمربع نص .

     

    طبعاً هذا يعتمد على عدد الحقول المستهدف تحديثها في اكسل ، وهل الفكرة قد تكون في أكثر من نموذج يتم تحديث قيم محددة لخلية محددة ؟؟؟؟؟

     

    الكثير من التساؤلات يجب توضيحها قبل الشروع بالتنفيذ 😇

  2. 37 دقائق مضت, منتصر الانسي said:

    ماذا تعنيه بهذا أي Requery تقصد بالضبط

    مقصدي أن الطريقة التقليدية التي نستخدمها عادةً بوضع Me.Combo2.Requery في حدث AfterUpdate .

    ولكن بعد مراجعة الكلاس وتحفته الفنية ، لاحظت أنه يقوم بأكثر من مجرد Requery ؛ فهو يقوم بمسح القيم القديمة وبناء جملة SQL ديناميكية لفك الارتباط باسم النموذج .

    • Like 1
  3. :clapping: .. ما شاء الله ، فكرة جميلة ونظيفة ولا تشوبها شائبة في التنفيذ . بس استخدام Requery :biggrin:

    الشيء الجميل في الموضوع هو أنك إذا أردت تغيير المنطق ، ففقط تغيره في مكان واحد وهو الكلاس ، وليس في 50 نموذجاً مثلاً .

     

    جزاك الله خيراً لهذه المشاركة الجميلة والقيمة .. 

    • Like 1
  4. 11 ساعات مضت, ابوخليل said:

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

    العفو أستاذنا الجليل ابو خليل ،

    لكم ذلك إن شاء الله 😇 .

     

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

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

    لكن من الجيميل للياهو الرسالة تم الارسال لكنها لم تصل للياهو  .... الى ان توصلت لما ادرجته بمشاركتي السابفة .

    ليتك جربت أولاً الطريقة قبل ردك هذا بهذا الوصف 😇 .

    وصدقني لو سألت صديقك شات جي بي تي عن مثلاً:-

    أنا أرى أنه وبجهودك وأفكارك ، يمكن ان يكون ناتج 1+1=3 بطرق تحايلية ، إلا أن صديقي يخالفنا الرأي تماماً. وهذا أزعجني بتشكيكه هذا.

    وحينها سيأتيك بإجابات من كوكب الغزالين بأنه يمكن تحقيق 1+1=3

     

    :cool: وللتجربة ، قمت بإرسال إيميل الى البريدين المسجلين في ملفك المرفق لتجربتك ، فتحقق من وصولهما إذا أردت :cool:

     

    AccessSender.thumb.gif.752c66196b4441271f58217c4ed27168.gif

  5. cooltext486578456950156.png.aa369c4e607d447fe441425dd77d9298.png

     

    عن تجربتي الشخصية سأتحدث . حيث قمت سابقاً بتنفيذ الفكرة لمشروع آخر ليرسل الإيميلات من بريده في Gmail إلى أي ايميل تريده ؛ دون إدخال أي وسيط أو موقع خارجي . حيث سيكون تعاملك مع خدمات جوجل مباشرة

    1.png.af746c9db3c7cf346a601a610170792b.png

    :excl:  قمت بإنشاء جدول جديد باسم tbl_EmailSettings . ويحتوي الحقول التالية :-

    • IDMail = حقل ترقيم تلقائي .
    • SenderEmail = حقل نصي ، ويمثل أيميلك الذي تريد استخدامه كإيميل مرسل .
    • SMTPServer = حقل نصي ، ويمثل الخدمة المستخدمة في Gmail لإرسال البريد الإلكتروني . وتكون عادة =
      smtp.gmail.com
    • SMTPPort = حقل رقمي ، ويمثل المنفذ الذي سنستخدمه للإيميلات الصادرة . وهو عادة لـ Gmail يكون 465 .
    • SMTPPassword = حقل نصي ، وهو الحقل المهم جداً هنا والذي ستكون قيمته كلمة مرور التطبيق الذي سنقوم بإنشائه من خلال بريدك الإلكتروني الذي سجلت به في الحقل SenderEmail . أما كيف نحصل عليه فسيكون الشرح تالياً .
    • UseSSL = حقل من نوع Yes/No . وهو مهم إلى حد ما . والسبب أنه جميع خدمات البريد الحديثة (Gmail, Yahoo, Hotmail) تشترط وجود تشفير SSL . لذا فقيمته بالنسبة لك ستكون دائماً  True .

    1.png.af746c9db3c7cf346a601a610170792b.png

    :excl:  الآن كيف نحصل على SMTPPassword المقدم من Gmail ؟ إليك الطريقة خطوة بخطوة ببساطة .

    1. في متصفحك ، ادخل إلى ( إعدادات حساب Google ) .
    2. تحقق أولاً وقبل كل شيء من تفعيل ميزة ( التحقق بخطوتين ) أو ( 2-Step Verification ) في حسابك .
    3. ابحث في خانة البحث عن ( كلمة مرور التطبيق ) أو ( كلمات مرور التطبيقات )، او ( App Password ) ، حسب لغة الموقع لديك .
    4. ادخل كلمة المرور الخاصة بالإيميل الذي تريد استخدامه كإيميل مرسل .
    5. في خانة ( اسم التطبيق ) أو ( App Name ) ، أدخل اسم للتطبيق ، مثلاً ( SenderMailer ) . ثم انقر زر ( إنشاء أو Creat ) .
    6. الآن سيزودك الموقع بكلمة من 16 حرف ، انسخها والصقها في الحقل SMTPPassword .

     

    :excl:  الآن في الجدول المخصص للأعدادات ، سيكون لديك الحقول المهمة وقيمها كالتالي :-

    1. SMTPServer = عنوان الخادم وهو    smtp.gmail.com
    2. SMTPPort وهو المنفذ = 465
    3. SMTPPassword = كلمة المرور التي حصلنا عليها من 16 حرف ( يفضل بدون مسافات )
    4. UseSSL = نعم أو علامة صح
    5. SenderEmail = إيميلك الذي سجلت به والذي ستستخدمه للإرسال

    1.png.af746c9db3c7cf346a601a610170792b.png

    :excl:  الآن في زر الإرسال المخصص لكل ايميل بشكل فردي ، سنستخدم الكود البسيط التالي :-

        Dim result As String
        Dim strRecipient As String
        Dim strMessageBody As String
        
        strRecipient = Trim(Nz(Me.B2.Value, ""))
        strMessageBody = Nz(Me.Fonda.Value, "")
        
        If strRecipient = "" Then
            MsgBox "يرجى إدخال إيميل المستلم أولاً", vbExclamation + vbMsgBoxRight, ""
            Me.B2.SetFocus
            Exit Sub
        End If
        
        result = SendSmartEmail(strRecipient, "رسالة تجريبية", strMessageBody)
        
        If result = "Success" Then
            MsgBox "تم الإرسال بنجاح", vbInformation + vbMsgBoxRight, ""
        Else
            MsgBox "فشل في الإرسال", vbCritical + vbMsgBoxRight, "خطأ"
        End If

    1.png.af746c9db3c7cf346a601a610170792b.png

    :excl:  وفي زر الإرسال الجماعي ، سنستخدم الكود التالي :-

        Dim rs As DAO.Recordset
        Dim result As String
        Dim counter As Integer
        Dim strTo As String
        Dim strMsg As String
        
        Set rs = Me.RecordsetClone
        
        If rs.RecordCount = 0 Then
            MsgBox "لا توجد سجلات للإرسال إليها في هذا النموذج", vbInformation + vbMsgBoxRight, ""
            Exit Sub
        End If
        
        If MsgBox("هل أنت متأكد من إرسال إيميلات لجميع السجلات الحالية؟", vbQuestion + vbYesNo + vbMsgBoxRight, "تأكيد الإرسال") = vbNo Then Exit Sub
    
        counter = 0
        rs.MoveFirst
        
        Do Until rs.EOF
            strTo = Nz(rs!Gmail, "")
            strMsg = Nz(rs!Fonda, "")
            
            If strTo <> "" Then
                result = SendSmartEmail(strTo, "تنبيه بريدي", strMsg)
                
                If result = "Success" Then
                    counter = counter + 1
                End If
            End If
            
            rs.MoveNext
        Loop
        
        MsgBox "تمت عملية الإرسال بنجاح" & vbCrLf & _
               "عدد الإيميلات المرسلة: " & counter, vbInformation + vbMsgBoxRight, ""
        
        Set rs = Nothing

     

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

     

    :excl:  وهذا ملف تجريبي بعد الإضافات التي ذكرتها . فقط يرجى ملئ الجدول بالإيميل و كلمة المرور التي تتكون من 16 حرف فقط .

     

    Nouveau.zip

     

     

    05.png.8fe3b502e8827cbc9c5d0d0a8c4e8770.png

    الفكرة و المشاركة كانت تتبع الموضوع التالي هنا ، وتم فصلها لإفرادها وكي تعم الفائدة على من يمر باحثاً عن فكرة إرسال بريد من آكسيس دون قيود .

    • Like 3
    • Thanks 1
  6. 5 ساعات مضت, Debug Ace said:

    حلو قوى :clapping:و عجبتنى جدا نكهتك الفوكشية 

    العفو يا صديقي .. يبقى خليني أحاول أمتعك بالتجربة بنفسك إنت والأصدقاء والأخوة ، والتي تم دعمها بالتأثيرات الصوتية أيضاً ..

     

    الإصدار المتوافق مع 64 :-

    Connect 4 - 64.zip

     

    الإصدار المتوافق مع 32 :-

    Connect 4 - 32.zip

  7. 7 ساعات مضت, jjafferr said:

    1. انت دخلت في جدول محظور الدخول فيه ، ولم اقرأ اي محترف ان تجرأ وقام بالتعديل عليه

    :biggrin: بالفعل ، وأعلم هذا .. ولكن كنوع من الجرأة كما سميتها تطرقت لهذه الفكرة من باب التجربة ليس إلا 😉
    وبالفعل رسائل الخطأ غير واضحة ، لأن الرسالة الإنجليزية متأصلة في آكسيس ولم أتمكن من ضبطها وتعديلها داخلياً إلا من خلال استعمال حدث النموذج عند الخطأ .. ولم أقم بإدراج إجابتي لأنها خارجة عن الشروط 😜

    1.png.af746c9db3c7cf346a601a610170792b.png

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

    اعتقد التحدي القادم يجب ان يكون ساحة مفتوحة لإستعمال اي طريقة ، سواء بالبرنامج نفسه او حتى الاستعانة ببرامج خارجية :biggrin:

    هذا سيكون عليك في الشهر القادم إن شاء المولى عز وجل .. ( ما رأيك؟ 👀 )

    1.png.af746c9db3c7cf346a601a610170792b.png

    5 ساعات مضت, Debug Ace said:

    بسيطة بدون خصائص الحقول ولو من الجدول فقط
    يكون Table Validation Rule كالتالى :

    أنت هنا يا صديقي ، قمت بزرع الشروط جميعها داخل خصائص الجدول ، وكذلك رسالة الرد العامة حتى لو كان حقلاً واحداً مخالفاً .. :smile:

    1.png.af746c9db3c7cf346a601a610170792b.png

    23 دقائق مضت, منتصر الانسي said:

    ولماذا لا نجمع بين مزايا كل حل كما بالمرفق هنا؟

    ولكن لاأدري إذا ما كان ماكرو البيانات يندرج ضمن المحضورات المذكورة في التحدي

    الدمج بين الطريقتين فكرة جميلة أيضاً .. :clapping:

    1.png.af746c9db3c7cf346a601a610170792b.png

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

  8. 37 دقائق مضت, jjafferr said:

    انا اميل الى اشعار المستخدم بالخطأ على مستوى الحقل وليس على مستوى السجل ، حتى يتمكن من التعديل مباشرة ،

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

    38 دقائق مضت, jjafferr said:

    ولما يسمح لنا اخوي @Foksh ، بنتكلم عن الطريقة ان شاء الله 🙂

    سامحك الله أخي جعفر .. من أنا لأسمح أو أمنع :smile: ..

     

    لاحظ أن الشرط حماية هيكل الرواتب ( ربط الراتب بالدرجة ) ، فهذا الشرط لا يمكن عمله على مستوى الحقل أبداً :biggrin: ، لأننا هنا سنقارن حقلين ببعضهما . لذا ومن رأيي الشخصي ، لا بد من وجود قاعدة تعمل على مستوى السجل .

  9. 4 ساعات مضت, jjafferr said:

    وتماشيا مع روح الشروط (وليس تماشيا مع الشروط 🙂 ) ، وهي ثغرة قانونية استندت عليها في المرفق 🙂

    فكرة جميلة جداً تجميع بين عدم ظهور الشروط في خصائص الحقول + القوة والمتانة + دعمها للرسائل العربية  :clapping:

    • Thanks 1
  10. في آخر نسخة لك ، انظر للخلل في الإحصائيات :-

    X-OError.gif.04bb7ced726122c8b2e5666b8ffe6825.gif

     

    وحيث تم إضافة العاطفة البرمجية ( مقتبس من مشروع RobotaAI ) لأخي أحمد يوسف . هذه النسخة الأخيرة من اللعبة بالإصدارين 32 و 64 ..

    X-O Game - 64.zip

    X-O Game - 32.zip

     

    1. إصدار تفاعلي أكثر مرونة عن اللعب ضد الكمبيوتر ..
    2. إضافة تفاعل عاطفي مزاجي للكمبيوتر عند اللعب ضده بحيث يكون متهاون حتى في ردود أفعاله النصية عند المستويات .
    3. حسم الأمر بالمستوى الصعب ، فليس دائماً يكون ارتكاز الكمبيوتر على مركز اللعبة ليلعب به دائماً ..

     

    الملف مفتوح المصدر :-

    X-O Game - Open Source.accdb

    • Haha 1
  11. 4 دقائق مضت, Debug Ace said:

    لسة فيه عندك bugs يا سيد Foksh 

    احذف القديم ، وشغل الجديد يا هندسة ..  😎

     

    13 دقائق مضت, ابوخليل said:

    :angry:  كل الامثلة لا تعمل على 2010  😠 

    معلمنا الفاضل ، انا مستغرب جداً من عدم عمل الإصدار 32 لديك .. انظر من جهاز آخر بالقرب مني ويعمل على أوفيس 2010 32 ..

    TicTacToe.gif.8c0d7001fd180b6aa9e6a689a546d5c3.gif

  12. 12 دقائق مضت, Debug Ace said:

    ولكن انت محتاج تراجع اكوادك تانى يا عثل فى عندك bugs

    ماشي يا محمد .. الـ Bugs ده اللي بتتكلم عنه سببه إنك بالنقر على الأزرار بينما الكمبيوتر كان يفكر .. ولكن جاري المعالجة في المرفقات التي سيتم رفعها في المشاركة التالية .. :biggrin:

    على العموم ، انا زودت قفل زيادة علشان تفرح يا عم 😉

    • Haha 1
  13. 8 دقائق مضت, Debug Ace said:

    لا تعتقد انى سوف انقل افكار او خبرات او حلول المشاركين يا سيد Foksh

    لا لا يا هندسة ، مش ده قصدي !! ولا حتى قريب منه ، استغفر الله أن نظن بأحد ظناً سيء . على العكس ثقتنا كبيرة ببعضنا :wub:

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

    وهذين ملفين 32 و 64 للتجربة ، وإبداء الرأي لمن يريد .

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

     

    X-O Game - 32.zip

    X-O Game - 64.zip

  14. منذ ساعه, Debug Ace said:

    طيب وانت تقوم بعمل التطوير اجعل منافسك هو الحاسوب لان انت اللى بتعمل كل شئ انا عاوزها لعبة تفاعلية حقيقية بينك وبين الحاسوب

    تقصد بهذا الشكل ؟؟

     

    TicTac.gif.380fe8615df1daff5cf7ee60fc48efe9.gif

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

    وبما أنني من عشاق تصميم الألعاب في آكسيس .. وقد كان لي تجربة مع هذه اللعبة الجميلة ، وقد قمت بتضمينها ضمن برنامج إدارة النوادي الرياضية في هذا الموضوع هنا .. وكانت تجربتي بالشكل  القديم التالي :-

    X-O.gif.553207f48912bbf09c7e92efae6da68e.gif

     

    ولكن وبما أننا في 2026 ، فسأقوم بتطويرها بشكل أجمل ضمن هوايتي المتواضعة .😁.

    image.png.5e290a3ac98fee4a63b43793b0b4544d.png

    • Like 2
×
×
  • اضف...

Important Information