-
Posts
4479 -
تاريخ الانضمام
-
Days Won
192
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه Foksh
-
-
الفكرة قيد التطوير والتوسع ، بعد مشاورات ومقترحات الأستاذ @Moosak ، التي فتحت لي باب التطوير و التوسع الأكبر ، بأن يتم جعل الفكرة كجزء يمكن إضافته لأي مشروع مهما كان تخصصه
.
-
21 ساعات مضت, jjafferr said:
مع الاعتذار ، فانا مسافر من يوم غد 🙂
تعود سالماً لأهلك إن شاء الله ..
-
37 دقائق مضت, منتصر الانسي said:
ماذا تعنيه بهذا أي Requery تقصد بالضبط
مقصدي أن الطريقة التقليدية التي نستخدمها عادةً بوضع Me.Combo2.Requery في حدث AfterUpdate .
ولكن بعد مراجعة الكلاس وتحفته الفنية ، لاحظت أنه يقوم بأكثر من مجرد Requery ؛ فهو يقوم بمسح القيم القديمة وبناء جملة SQL ديناميكية لفك الارتباط باسم النموذج .
-
1
-
-
طيب بالعودة إلى ملفك وفكرتك ، انت تستعمل مفتاح Tab للإنتقال 5 مرات .. لذا جرب استبدال الأقواس [tab] بهذه الأقواس {tab} .
-
وعليكم السلام ورحمة الله وبركاته ..
جرب هذا التعديل أخي الفاضل ، لأنني أستخدم تطبيق واتس اب سطح المكتب ، وليس واتس اب ويب ..
-
1
-
-
.. ما شاء الله ، فكرة جميلة ونظيفة ولا تشوبها شائبة في التنفيذ . بس استخدام Requery
الشيء الجميل في الموضوع هو أنك إذا أردت تغيير المنطق ، ففقط تغيره في مكان واحد وهو الكلاس ، وليس في 50 نموذجاً مثلاً .
جزاك الله خيراً لهذه المشاركة الجميلة والقيمة ..
-
1
-
-
تم نقل الرد إلى هذا الموضوع المنفرد
-
11 ساعات مضت, ابوخليل said:
وحقيقة ليتك تفرد هذه المشاركة بموضوع وعنوان جديد يخصها لتفردها ومن اجل سهولة البحث والوصول اليها
العفو أستاذنا الجليل ابو خليل ،
لكم ذلك إن شاء الله 😇 .
8 ساعات مضت, kkhalifa1960 said:جربيتها وجربت طرق أخرى مثل الاوتلوك للاسف كلها طرق فاشلة ... هل جربت الارسال من الجيميل للياهو جرب من الجيميل للجيميل بتوصل الرسالة صح .
لكن من الجيميل للياهو الرسالة تم الارسال لكنها لم تصل للياهو .... الى ان توصلت لما ادرجته بمشاركتي السابفة .
ليتك جربت أولاً الطريقة قبل ردك هذا بهذا الوصف 😇 .
وصدقني لو سألت صديقك شات جي بي تي عن مثلاً:-
أنا أرى أنه وبجهودك وأفكارك ، يمكن ان يكون ناتج 1+1=3 بطرق تحايلية ، إلا أن صديقي يخالفنا الرأي تماماً. وهذا أزعجني بتشكيكه هذا.
وحينها سيأتيك بإجابات من كوكب الغزالين بأنه يمكن تحقيق 1+1=3
وللتجربة ، قمت بإرسال إيميل الى البريدين المسجلين في ملفك المرفق لتجربتك ، فتحقق من وصولهما إذا أردت
-
عن تجربتي الشخصية سأتحدث . حيث قمت سابقاً بتنفيذ الفكرة لمشروع آخر ليرسل الإيميلات من بريده في Gmail إلى أي ايميل تريده ؛ دون إدخال أي وسيط أو موقع خارجي . حيث سيكون تعاملك مع خدمات جوجل مباشرة
قمت بإنشاء جدول جديد باسم tbl_EmailSettings . ويحتوي الحقول التالية :-
- IDMail = حقل ترقيم تلقائي .
- SenderEmail = حقل نصي ، ويمثل أيميلك الذي تريد استخدامه كإيميل مرسل .
-
SMTPServer = حقل نصي ، ويمثل الخدمة المستخدمة في Gmail لإرسال البريد الإلكتروني . وتكون عادة =
smtp.gmail.com - SMTPPort = حقل رقمي ، ويمثل المنفذ الذي سنستخدمه للإيميلات الصادرة . وهو عادة لـ Gmail يكون 465 .
- SMTPPassword = حقل نصي ، وهو الحقل المهم جداً هنا والذي ستكون قيمته كلمة مرور التطبيق الذي سنقوم بإنشائه من خلال بريدك الإلكتروني الذي سجلت به في الحقل SenderEmail . أما كيف نحصل عليه فسيكون الشرح تالياً .
- UseSSL = حقل من نوع Yes/No . وهو مهم إلى حد ما . والسبب أنه جميع خدمات البريد الحديثة (Gmail, Yahoo, Hotmail) تشترط وجود تشفير SSL . لذا فقيمته بالنسبة لك ستكون دائماً True .
الآن كيف نحصل على SMTPPassword المقدم من Gmail ؟ إليك الطريقة خطوة بخطوة ببساطة .
- في متصفحك ، ادخل إلى ( إعدادات حساب Google ) .
- تحقق أولاً وقبل كل شيء من تفعيل ميزة ( التحقق بخطوتين ) أو ( 2-Step Verification ) في حسابك .
- ابحث في خانة البحث عن ( كلمة مرور التطبيق ) أو ( كلمات مرور التطبيقات )، او ( App Password ) ، حسب لغة الموقع لديك .
- ادخل كلمة المرور الخاصة بالإيميل الذي تريد استخدامه كإيميل مرسل .
- في خانة ( اسم التطبيق ) أو ( App Name ) ، أدخل اسم للتطبيق ، مثلاً ( SenderMailer ) . ثم انقر زر ( إنشاء أو Creat ) .
- الآن سيزودك الموقع بكلمة من 16 حرف ، انسخها والصقها في الحقل SMTPPassword .
الآن في الجدول المخصص للأعدادات ، سيكون لديك الحقول المهمة وقيمها كالتالي :-
- SMTPServer = عنوان الخادم وهو smtp.gmail.com
- SMTPPort وهو المنفذ = 465
- SMTPPassword = كلمة المرور التي حصلنا عليها من 16 حرف ( يفضل بدون مسافات )
- UseSSL = نعم أو علامة صح
- SenderEmail = إيميلك الذي سجلت به والذي ستستخدمه للإرسال
الآن في زر الإرسال المخصص لكل ايميل بشكل فردي ، سنستخدم الكود البسيط التالي :-
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
وفي زر الإرسال الجماعي ، سنستخدم الكود التالي :-
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وملاحظة بسيطة ، وهي تستطيع تغيير موضوع عنوان البريد الذي سيصل لأي شخص ترسل له ( بشكل منفرد ) بتغيير قيمة "رسالة تجريبية" داخل زر الإرسال . أو من خلال الزر المخصص للإرسال الجماعي بتغيير قيمة "تنبيه بريدي" ليكون هو العنوان لموضوع البريد .
وهذا ملف تجريبي بعد الإضافات التي ذكرتها . فقط يرجى ملئ الجدول بالإيميل و كلمة المرور التي تتكون من 16 حرف فقط .
الفكرة و المشاركة كانت تتبع الموضوع التالي هنا ، وتم فصلها لإفرادها وكي تعم الفائدة على من يمر باحثاً عن فكرة إرسال بريد من آكسيس دون قيود .
-
3
-
1
-
5 ساعات مضت, Debug Ace said:
حلو قوى
و عجبتنى جدا نكهتك الفوكشية
العفو يا صديقي .. يبقى خليني أحاول أمتعك بالتجربة بنفسك إنت والأصدقاء والأخوة ، والتي تم دعمها بالتأثيرات الصوتية أيضاً ..
الإصدار المتوافق مع 64 :-
الإصدار المتوافق مع 32 :-
-
7 ساعات مضت, jjafferr said:
1. انت دخلت في جدول محظور الدخول فيه ، ولم اقرأ اي محترف ان تجرأ وقام بالتعديل عليه
بالفعل ، وأعلم هذا .. ولكن كنوع من الجرأة كما سميتها تطرقت لهذه الفكرة من باب التجربة ليس إلا 😉
وبالفعل رسائل الخطأ غير واضحة ، لأن الرسالة الإنجليزية متأصلة في آكسيس ولم أتمكن من ضبطها وتعديلها داخلياً إلا من خلال استعمال حدث النموذج عند الخطأ .. ولم أقم بإدراج إجابتي لأنها خارجة عن الشروط 😜
7 ساعات مضت, jjafferr said:اعتقد التحدي القادم يجب ان يكون ساحة مفتوحة لإستعمال اي طريقة ، سواء بالبرنامج نفسه او حتى الاستعانة ببرامج خارجية
هذا سيكون عليك في الشهر القادم إن شاء المولى عز وجل .. ( ما رأيك؟ 👀 )
5 ساعات مضت, Debug Ace said:بسيطة بدون خصائص الحقول ولو من الجدول فقط
يكون Table Validation Rule كالتالى :أنت هنا يا صديقي ، قمت بزرع الشروط جميعها داخل خصائص الجدول ، وكذلك رسالة الرد العامة حتى لو كان حقلاً واحداً مخالفاً ..
23 دقائق مضت, منتصر الانسي said:ولماذا لا نجمع بين مزايا كل حل كما بالمرفق هنا؟
ولكن لاأدري إذا ما كان ماكرو البيانات يندرج ضمن المحضورات المذكورة في التحدي
الدمج بين الطريقتين فكرة جميلة أيضاً ..
ملاحظتي ، وهي أن السادة الأخوة والأصدقاء الخبراء والموهوبين في المنتدى يبدو أنهم لم يتشجعوا للمشاركة في هذا الموضوع الصغير 😎
-
لا تنسوا أن الأفكار قد تكون كثيرة ، والحلول لم تنتهي بعد 😉
-
نكهتي الفوكشية
-
2
-
-
وعليكم السلام ورحمة الله وبركاته ..
شكراً لك على الهدية القيمة .. وخطر ببالي سؤال يخص التصميم
.
بأي إصدار تم إنشاء قاعدة البيانات في أساسها ؟؟؟ أم هي الفكرة من خلال المديول فقط !!!!
وأقصد تحديداً النموذج ufTreeview
-
1
-
-
37 دقائق مضت, jjafferr said:
انا اميل الى اشعار المستخدم بالخطأ على مستوى الحقل وليس على مستوى السجل ، حتى يتمكن من التعديل مباشرة ،
كلامك سليم وجميل أخي جعفر .. لكن الميزةفي فكرتك هي بمثابة خط الدفاع الأخير . يعني حتى لو تم إدخال البيانات عبر استعلام إلحاق مثلاً أو من مصدر خارجي ، سيأتي الحارس الشخصي للجدول وهو هنا الماكرو لإيقافها .
38 دقائق مضت, jjafferr said:ولما يسمح لنا اخوي @Foksh ، بنتكلم عن الطريقة ان شاء الله 🙂
سامحك الله أخي جعفر .. من أنا لأسمح أو أمنع
..
لاحظ أن الشرط حماية هيكل الرواتب ( ربط الراتب بالدرجة ) ، فهذا الشرط لا يمكن عمله على مستوى الحقل أبداً
، لأننا هنا سنقارن حقلين ببعضهما . لذا ومن رأيي الشخصي ، لا بد من وجود قاعدة تعمل على مستوى السجل .
-
4 ساعات مضت, jjafferr said:
وتماشيا مع روح الشروط (وليس تماشيا مع الشروط 🙂 ) ، وهي ثغرة قانونية استندت عليها في المرفق 🙂
فكرة جميلة جداً تجميع بين عدم ظهور الشروط في خصائص الحقول + القوة والمتانة + دعمها للرسائل العربية
-
1
-
-
في آخر نسخة لك ، انظر للخلل في الإحصائيات :-
وحيث تم إضافة العاطفة البرمجية ( مقتبس من مشروع RobotaAI ) لأخي أحمد يوسف . هذه النسخة الأخيرة من اللعبة بالإصدارين 32 و 64 ..
- إصدار تفاعلي أكثر مرونة عن اللعب ضد الكمبيوتر ..
- إضافة تفاعل عاطفي مزاجي للكمبيوتر عند اللعب ضده بحيث يكون متهاون حتى في ردود أفعاله النصية عند المستويات .
- حسم الأمر بالمستوى الصعب ، فليس دائماً يكون ارتكاز الكمبيوتر على مركز اللعبة ليلعب به دائماً ..
الملف مفتوح المصدر :-
-
1
-
30 دقائق مضت, Debug Ace said:
طيب وانت جرب المرفق بتاعى اللى فى المشاركة السابقة وقول لى رايك الى ان اقوم بتجربة التعديل الاخير لمرفقك
-
4 دقائق مضت, Debug Ace said:
لسة فيه عندك bugs يا سيد Foksh
احذف القديم ، وشغل الجديد يا هندسة .. 😎
13 دقائق مضت, ابوخليل said:
كل الامثلة لا تعمل على 2010 😠
معلمنا الفاضل ، انا مستغرب جداً من عدم عمل الإصدار 32 لديك .. انظر من جهاز آخر بالقرب مني ويعمل على أوفيس 2010 32 ..
-
24 دقائق مضت, Debug Ace said:
ولكن انت محتاج تراجع اكوادك تانى يا عثل فى عندك bugs
جرب كدة ونشوف النتيجة !!
-
12 دقائق مضت, Debug Ace said:
ولكن انت محتاج تراجع اكوادك تانى يا عثل فى عندك bugs
ماشي يا محمد .. الـ Bugs ده اللي بتتكلم عنه سببه إنك بالنقر على الأزرار بينما الكمبيوتر كان يفكر .. ولكن جاري المعالجة في المرفقات التي سيتم رفعها في المشاركة التالية ..
على العموم ، انا زودت قفل زيادة علشان تفرح يا عم 😉
-
1
-
-
8 دقائق مضت, Debug Ace said:
لا تعتقد انى سوف انقل افكار او خبرات او حلول المشاركين يا سيد Foksh
لا لا يا هندسة ، مش ده قصدي !! ولا حتى قريب منه ، استغفر الله أن نظن بأحد ظناً سيء . على العكس ثقتنا كبيرة ببعضنا
انا ناوي أشارك أفكاري من خلال ملفين مغلقين للتجربة وطرح الأفكار التي نفذتها بالتطوير على فكرتي الأساسية السابقة ..
وهذين ملفين 32 و 64 للتجربة ، وإبداء الرأي لمن يريد .
وثق تماماً أنني سأفرج عن الملف مفتوح المصدر بعد مشاهدة بعض المشاركات .
-
منذ ساعه, Debug Ace said:
طيب وانت تقوم بعمل التطوير اجعل منافسك هو الحاسوب لان انت اللى بتعمل كل شئ انا عاوزها لعبة تفاعلية حقيقية بينك وبين الحاسوب
تقصد بهذا الشكل ؟؟
-
1
-
1
-
-
وعليكم السلااااااام ورحمة الله وبركاته ..
وبما أنني من عشاق تصميم الألعاب في آكسيس .. وقد كان لي تجربة مع هذه اللعبة الجميلة ، وقد قمت بتضمينها ضمن برنامج إدارة النوادي الرياضية في هذا الموضوع هنا .. وكانت تجربتي بالشكل القديم التالي :-
ولكن وبما أننا في 2026 ، فسأقوم بتطويرها بشكل أجمل ضمن هوايتي المتواضعة .😁.
-
2
-
ربط الاكسس بالاكسيل
في قسم الأكسيس Access
قام بنشر
وعليكم السلام ورحمة الله وبركاته..
أعتقد سيكون لديك طريقين للعمل عند التسميع في ملف اكسل .
1. فتح ملف اكسل وإبقائه في الخلفية مفتوحاً ( حتى لو بواجهة مخفية ) . وهذا سيشكل عبئ كبير على الذاكرة مستقبلاً..
2. أن يتم فتح ملف اكسل كلما تم تحديث لمربع نص .
طبعاً هذا يعتمد على عدد الحقول المستهدف تحديثها في اكسل ، وهل الفكرة قد تكون في أكثر من نموذج يتم تحديث قيم محددة لخلية محددة ؟؟؟؟؟
الكثير من التساؤلات يجب توضيحها قبل الشروع بالتنفيذ 😇