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

نجوم المشاركات

  1. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      9

    • Posts

      1,745


  2. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      6

    • Posts

      3,491


  3. عبدالله كاظم

    عبدالله كاظم

    02 الأعضاء


    • نقاط

      4

    • Posts

      57


  4. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      4

    • Posts

      12,207


Popular Content

Showing content with the highest reputation on 03 فبر, 2018 in all areas

  1. السلام عليكم صحيح تفحص التاريخ وآخر ثلاثة ايام غير عملي فقد يتوقف العمل في البرنامج اكثر من ذلك وحينها يتم حذف جميع النسخ رغم اننا في المثال اخذنا الحيطة باخذ نسخة عند الفتح ، يبقى المسألة محتملة المخاطرة لذا بحثت في المنتديات المتخصصة وخرجت بهذا الكود الجميل الذي يحقق المطلوب بكل كفاءة : Sub DeleteOldFiles() Dim fso As New FileSystemObject Dim fil As File Dim oldfile As File Dim BackUpPath As String 'This is the FOLDER where your backups are stored Do Until fso.GetFolder(BackUpPath).Files.Count < 4 For Each fil In fso.GetFolder(BackUpPath).Files 'Checks to see if this file is older than the oldest file thus far If oldfile Is Nothing Then Set oldfile = fil If oldfile.DateLastModified > fil.DateLastModified Then Set oldfile = fil Next fil fso.DeleteFile oldfile, True Set oldfile = Nothing Loop End Sub هذا الكود يتطلب تثبيت مكتبة microsoft Script Runtime
    2 points
  2. افتح استعلامك في وضع التصميم ومن نافذة خصائص كنرال حدد فورمات و اختر ستاندرد ولكي لا يظهر بوينتات في حقل الاسفل الفورمات اختر رقم 0 كما مبينة في الصورة والنتيجة
    2 points
  3. تم تغيير عنوان المشاركة
    2 points
  4. السلام عليكم و رحمة الله تعالى وبركاته أساتذة و خبراء منتدانا الغالي حياكم الله أردت أن أنجز عمل بمعيتكم الكريمة . و هو إنجاز سلسلة دروس في vba الأكسس لتقوم إدارة المنتدى من بعد ذلك بتثبيت هذا الموضوع ليطلع عليه كل من يريد التعلم و يبقى صدقة جارية لكل من ساهم فيه و لو بحرف واحد. العمل سوف يقسم إلى مجموعة دروس مثلا : المتغيرات ,الجمل الإختيارية , الجمل التكرارية , الكائنات ......الخ. و سوف نحاول شرح جميع دوال و تعليمات VBA أكسس الموجودة مع إعطاء أمثلة في نهاية كل درس. على أن يتم تجميعه في الأخير مرتبا حسب تسلسل الدروس و لا يتم الإنتقال من درس لآخر حتى نستوفي كل ما نستطيع حول هذا الدرس. العمل المطلوب: كلما نبدأ في درس جديد. يقوم الأساتذة الكرام بتقديم الدوال و التعليمات التي تندرج تحت عنوان هذا الدرس و تقديم شرحها مع وضع مثال بسيط لإستعمال الدالة أو التعليمة على أن لا يتم تكرار الدوال و التعليمات الموجودة مسبقا في الدرس من قبل أحد الأعضاء. و قبل البدء أنتظر إقتراحاتكم فيما يخص طريقة العمل أو ترتيب دروس و عناوينها. و إن شاء الله غدا أو بعد غد سوف نبدأ بالعمل على بركة الله.
    1 point
  5. إخواني الأعزاء هذا برنامج يمكن الاستفادة منه في كل مايتعلق بالتعامل مع طلبات الشراء المقدمة للموردين ، ولن أطيل الكلام والشرح ففي قسم المساعدة - HELP بالبرنامج ما يغني عن الشرح وما أريد لفت النظر إليه هو أن كلمة السر للدخول على البرنامج والتعامل مع كل الأوامر المحمية بالبرنامج هي 123 والتي يمكنك تعديلها ، أرجو أن يجد فيه المطلع ما يفيد . مع حبي وتقديري أبو عبدالله PURCHASE ORDER SOFTWARE E01.rar
    1 point
  6. تفضل لاحظ انه يحذف جميع الملفات ويبقي على أحدث 3 ملفات فقط x.rar
    1 point
  7. اتفضل اخي ولاتنسا تضغط لايك هههههه Test10.rar
    1 point
  8. ما تقدمت به سهل الاضافة .....و لكن هل يمكن ارسال الملف لاجل العمل عليه.......:
    1 point
  9. اتفضل اليكم رابط قوالب للاكسل من شركة مايكروسوفت نفسه https://templates.office.com/ar-sa/templates-for-Excel
    1 point
  10. استاذن من استاذنا الغالي @صالح حمادي مهمة جدا اتفضل انسى طريقة التنسيق الشرطي واستخدم الكود في التقرير Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer) If Me.total = 0 Then Me.total.BackColor = vbRed Else Me.total.BackColor = vbWhite End Sub الاصلي.rar
    1 point
  11. نعم جربه او ارفق نسخة مصغرة من قاعدتك
    1 point
  12. اتفضل اليك هذا Private Sub Owner_Company_AfterUpdate() Me.Invoice_No = Nz(DMax("[Invoice_No]", "[New_Invoice]", "[Owner_Company]='" & Me.Owner_Company & "'"), 0) + 1 End Sub 13 - Copy.zip
    1 point
  13. السلام عليكم بهذه المعطيات تريد أن يبدأ "التاريخ 2 الجديد" من أول يوم من الشهر بالشروط التي ذكرتها... وتعديل بسيط للمعادلات تم لذلك... بن علية حاجي 2ملف_2.rar
    1 point
  14. وعليكم السلام تسلم يديك استاذي صالح حمادي نعم هو المطلوب الله يعطيك العافيه الف الف شكر اليك يالغالي تحياتي اليك
    1 point
  15. السلام عليكم تفضل أخي أبو زاهر استعمل هذا الكود و إن شاء الله يكون هو الحل. Dim i As Integer Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount rst.MoveFirst Forms![frmSales].SetFocus Forms![frmSales]![SubSales].SetFocus For i = 1 To RC Me.Refresh If rst!Xsave = True Then DoCmd.GoToRecord , , acNewRec Forms![frmSales]![SubSales]![Rajmsanf] = rst!Rajmsanf Forms![frmSales]![SubSales]![ID_Sanf] = rst!ID_Sanf Forms![frmSales]![SubSales]![Alkmiah] = rst!Alkmiah Forms![frmSales]![SubSales]![Price] = rst!Price Forms![frmSales]![SubSales]![mjmo] = rst!mjmo Forms![frmSales]![SubSales]![safi] = rst!safi End If rst.MoveNext Next i rst.Close: Set rst = Nothing ادراج الموشر عليه.rar
    1 point
  16. 1 point
  17. الاخ عبد اللطيف بارك الله في جهودك المبذولة لاجل تقديم برنامج بهذه الصورة الرائعة اما بخصوص البرنامج يمكن لك ان تجرب البرنامج وتضع له اسماء مواد ومخزن افتراضي وتصرف منه وتبيع وتشتري وتستعمل الطباعة الحية الا حد العشرين فاتورة او اكثر لتتأكد من خلو البرنامج من مشاكل محتملة عند الاستعمال اما بخصوص كتابة اساس البرنامج باللغة الانكليزية دون العربية حتى لاتظهر مشاكل في الاكواد حسب رأي الاخوة الكرام فأقل لك اذا كنت تستخدم اكسس 2013 او 2016 فكن مطمئن من عدم حدوث مشاكل في الجداول والنماذج والاستعلام والتسميات العربية المكتوبة بالاكواد فهذا عن تجربة هذا رأي المتواضع وجنابكم الغبراء واقدم اعتذاري
    1 point
  18. وعليكم السلام ورحمة الله وبركاته جرب DoCmd.OpenForm "اسم نموذج التفاصيل", , , , acFormAdd
    1 point
  19. وعليكم السلام ممكن هذه الطريقة تنفع Option Compare Database Private iCkeck As Integer ''تعيين المتغير في أعلى صفحة الكود Private Sub Form_Timer() ''اعطاء القيمة للمتغير عبر اختبار الشرط if ...... then iCkeck = 1 else iCkeck = 0 end if ''تغيير لون الزر عبر اختبار الشرط التالي If iCkeck = 0 Then Me.Command0.BackColor = RGB(214, 0, 3) ElseIf iCkeck = 1 Then Me.Command0.BackColor = RGB(78, 147, 217) End If End Sub
    1 point
  20. وعليكم السلام ورحمة الله ان شاء الله قد تجد من يساعدك لكن اقدم بعض النصائح برجاء ان تقبلها مني ان كان الكشف المرسل لك من البنك يطلب القيمة فقط فالن تستفيد من ربط الملفين اهم سبب ان مجرد ما يستلمه البنك ستتغير القيم لان الملف اللي بيسحب منه مرتبات مدرسة الحامول عندك مش في البنك اما اذكان الملف يسلم مطبوع ممكن تصمم نفس تصميم البنك في ورقة تانية مع المرتبات وتستدعي المرتب ولو الموضوع مشكلتك ان المرتب سابق الرقم القومي اعمل عمود تاني للمرتب او استخدم دوال تانية للبحث مع vlookup زي index مثلا وفي الاخير لازم تكون الورقة مش محمية علشان الناس تقدر تساعدك فيها كمان بره الموضوع في كشف مرتباتك عند اعباء وظفية استخدم vlookup احسن من if
    1 point
  21. أمورك شوي متلخبطة ... إطرح موضوع موضوع علشان يكتمل تصميمك صح ...
    1 point
  22. داله ( NETWORKDAYS.INTL ) يمكنها حساب ايام العمل الرسميه و عدم احتساب ايام العطلات الرسميه خلال فتره تاريخيه محدده كتاب المرجع الشامل لدول الاكسيلhttp:// http://adyou.me/g6EF
    1 point
  23. السلام عليكم أولا أشكرك على اقتراحك و تفاعلك و احب ان اوضح ان النسخة الحالية من المنتدى متوافقة تماما م الهاتف اي يمكن التفاعل والرد ، بل و الادارة من خلال الهاتف يمكن فتح الموقع من اي متصفح على الهاتف و حفظ الصفحة كايقونة مستقلة من جوجل اضغط على الثلاث نقاط اعلي يمين الصفحة فى الاندرويد ثم Add to homescreem و من الفايرفوكس Page Add Page Shorcut فتظهر الايفونة كانها تطبيق فى الموبايل و تفتح المنتدى مباشرة
    1 point
  24. لأن الشرط ينتهي عند الساعة الثانية صباحا.. لمعالجة المشكلة.. في نهاية الحد الثاني من التعبير أضف +1 فقط بهذه الطريقة SELECT TB_conform.Date1, TB_conform.tem, TB_conform.ser FROM TB_conform WHERE ((([Date1] & " " & [tem]) Between CDate([Forms]![FM_report]![text1] & " " & [Forms]![FM_report]![Time1]) And CDate([Forms]![FM_report]![text2] & " " & [Forms]![FM_report]![Time2])+1));
    1 point
  25. الاخ سلمان كنت تعطينا الملف بالقطارة ..كنت اتمنى الملف كامل من البداية جرب الاستعلام التالي كمصدر للتقرير SELECT TB_conform.Date1, TB_conform.tem, TB_conform.ser FROM TB_conform WHERE ((([Date1] & " " & [tem]) Between CDate([Forms]![FM_report]![text1] & " " & [Forms]![FM_report]![Time1]) And CDate([Forms]![FM_report]![text2] & " " & [Forms]![FM_report]![Time2]))); بالتوفيق
    1 point
  26. :: عليكم السلام ..... ضع مثال ليتسنى لنا مساعدتك .
    1 point
  27. :: عليكم السلام ... :: يرجى وضع مثال لما تفضلت به يوضح المطلوب لتحصل على اجابة لسوالك ...
    1 point
  28. السلام عليكم و رحمة الله تعالى و بركاته. إخوتي الكرام حياكم الله و جمعة مباركة إن شاء الله تعالى. لقد جئتكم اليوم بشيء جديد لم نتعود على القيام به بالإكسس. أضع بين أيديكم ساعة رقمية تشتغل على سطح المكتب في الركن العلوي الأيسر و يمكن تحريها كما نشاء. أولا لتشغيل البرنامج يجب تثبيت نوع الخط ديجتال المرفق مع البرنامج. ثانيا أهم نقطة في البرنامج أنه يشتغل مع إقلاع الونداوز بالضغط على زر "تشغيل مع الإقلاع". و يمكن إيقاف التشغيل مع الإقلاع بالضغط على زر "إيقاف تشغيل مع الإقلاع". و الصورة توضح ذلك: digital.rar
    1 point
  29. السلام عليكم اخي صالح عمل جميل ، كالمعتاد اقتراح اضافة شوية اشياء له: خلينا نعتبر هذا البرنامج هو العقل المدبر ، اللي لازم يكون شغال بتشغيل الكمبيوتر ، ولا ينطفئ إلا بإطفاء الكمبيوتر ، خلي فيه Logo الشركة ، وبياناتها ، خلينا نستفيد من الساعة في: عمل Backup يومي لبرنامجي أ وبرنامجي ج في الساعة الفلانية ، وخليني اتذكر موعد الاجتماع يوم d/m/yy الساعة hh:mm ، ووووو وكذلك اذا الزبون اراد ان يرسل لي ملاحظة في ايميل عن برنامجه ويريد .... جعفر
    1 point
  30. تفضل أخي هذه نسخة مفتوحة المصدر بصيغة mdb ساعة رقمية.rar وهذه نسخة مفتوحة المصدر بصيغة accdb ساعة.rar
    1 point
  31. اخي هذا تقرير فاصل الصفحات اكتب البيانات المطلوبة في راس التقرير وشاهد النتيجة تقرير فواصل الصفحات.zip
    1 point
  32. الــدرس الثاني : الجملة الشرطية ( IF ) تعتبر الجملة IF من أشهر الجمل الشرطية و أكثرها استعمالا في جميع لغات البرمجة ولها عدة صيغ كلها تبدأ بــIf و تنتهى بكلمة End If ما عدى صيغة واحدة. وتستخدم الجملة IF لتنفيذ عمليات معينة حسب شرط محدد, يعني إذا تحقق الشرط ينفذ و إلا فلا. طرق استعمال الجملة ((if: 1- الصيغة ( If –Then ) : - وصيغتها العامة : IF condition THEN statements - ومعنى هذه الصيغة : انه اذا تحقق الشرط (condition ) فسيتم تنفيذ الامر ( statements ) مثال : " مسن" IF age >=65 THEN category = 2- الصيغة ( If – Then – End If ) : صيغتها العامة : IF condition THEN statements1 Statements2 END IF تقوم هذه الصيغة بتنفيذ مجموعة من الاوامر اذا تحقق الشرط (Condition) بدلا من تنفيذ امر واحد. مثال : If age >= 25 Then category ="شباب" travail ="السن مقبول" End if 3- الصيغة ( If – Then – Else ) : صيغتها العامة : If condition Then statements1(التعليمات المنفذة في حال تحقق الشرط ) Else statements2(التعليمات المنفذة في حال عدم تحقق الشرط) End If - هذه الصيغة تنفذ مجموعة الأوامر (statements1 ) عندما يتحقق الشرط (condition ) و عندما لا يتحقق الشرط فإنها تنفذ مجموعة الأوامر (Statements2). مثال : If grade >= 50 Then Text1 ="ناجح" Else Text1 ="راسب" End If 4- الصيغة ( If – Then –ElseIf ) : - صيغتها العامة : If condition1 Then statements1( التعليمات المنفذة في حال تحقق الشرط الأول) ELSEIF condition2 THEN statements2(التعليمات المنفذة في حال عدم تحقق الشرط الأول و تحقق الشرط الثاني) ELSE statements2(التعليمات المنفذة في حال عدم تحقق جميع الشروط السابقة) End If مثال : If grade >= 90 Then Text1 ="ممتاز" ElseIf grade >= 80 Then Text1 ="جيد جدا" ElseIf grade >= 70 Then Text1 ="جيد" ElseIf grade >= 60 Then Text1 ="مقبول" Else Text1 ="راسب" End If ملاحظات: - في الصيغة الأخيرة ( If – Then –ElseIf ) اذا تحقق احد الشروط فان البرنامج ينفذ العملية ثم يذهب الى نهاية الجملة و لا يتحقق من الشروط الباقية. - في حالة أردنا إستعمال شرطين معا أو أكثر نستعمل العبارة And. - في حالة أردنا تحقق أحد شرطين ليتم تنفيذ العملية نستعمل Or
    1 point
  33. على بركة الله نبدأ أول درس و ننتظر ملاحظاتكم حول أي شيء نسيته و هو متعلق بهذا الدرس أو أي معلومة أخطأت بها: الــدرس الأول : المتغيرات تعتبر المتغيرات النواة الأساسية أو حجر الأساس بالنسبة لكل برنامج في أي لغة برمجة كانت. يعني قبل البدأ يجب أن تقوم بتعريف المتغيرات التي تحتاجها و تحدد نوعها قبل كل شيء. 11- أنواع المتغيرت: هناك العديد من أنواع المتغيرات و كل نوع يخصص له حجم معين في الذاكرة. سوف نقوم بإضافة شرح جميع أنواع المتغيرات و الحجم الذي يأخذه كل نوع من الذاكرة: String: نص يتسع المتغير النصي إلى 2 جيجا بايت و كل حرف يشغل 1 بايت Boolean: ياخذ نوعين من القيم True و False (طوله 2 بيت ) Byte: بايت يكون رقم بين 0 من 255 (طوله 1 بايت) Integer : عدد صحيح (طوله 2 بيت ) قيمته من 32768- إلى 32767 Long : عدد صحيح طويل (طوله 4 بيت) قيمته من 2,147,483,648- إلى 2.147.483.647 Signal: عدد عشري (طوله 4 بيت) قيمته من 3.402823x1038- إلى 1.401298x10-45- للقيم السالبة و من 1.401298x10-45 إلى 3.402823x1038 للقيم الموجبة Currency: عملة (طوله 8 بيت) قيمته من 922،337،203،685،477.5808- إلى 922،337،203،685،477.5807 Double : مزدوج عدد عشري (طوله 8 بيت) قيمته من 1.79769313486231x10308- إلى 4.94065645841247x10-324- للقيم السالبة. و من 4.94065645841247x10-324 إلى 1.79769313486232x10308 للقيم الموجبة Date: نوع البيانات تكون على شكل تاريخ (طوله 8 بيت) يبدأ تاريخ vba من 1/1/100 حتى 31/12/9999 Object : لتخزين الكائنات التي تحتوي على خصائص و وظائف و يتم تعيينه بجملة set ويشغل في الذاكرة 4 بايت أو حسب خصائص و وظائف الكائن المحدد. و سوف نخصص درس لعرض أنواع الكائنات. Variant : لتخزين كل الأنواع السابقة ويمكن تخزين المصفوفات بداخله أيضاً 2- طريقة الإعلان عن المتغيرات: الإعلان عن متغير يعني حجز مكان في ذاكرة الكمبيوتر باسم هذا المتغير و يحدد حجمه حسب نوع المتغير. و يتم تعريف المتغير أو الإعلان عنه بواسطة العبارة DIM . مثال: Dim A as Integer للإعلان عن أكثر من متغير: Dim a,b as integer للإعلان عن أكثرمن متغير لأنواع مختلفة في نفس السطر: Dim A As Double, B As Integer 3- ملاحظات: - - يفضل الإعلان عن نوع المتغير لزيادة سرعة التعامل معه . - - المتغيرات التي لم تحدد نوعها يعمل فيجول بيسك علي الإعلان عنها تلقائيا من النوع Variant وهو أبطأ أنواع المتغيرات . - - بالنسبة للإعلان عن أكثر من متغير من نفس النوع بالطريقة التالي: Dim a,b as integer هنا b فقط من النوع integer أما a فهو في هذه الحالة يعتبر من النوع Variant يجب أن يتم التعريف بهذا الشكل: Dim a integer,b as integer أو Dim a as Integer Dim b as Integer 4- شروط تسمية المتغيرات: - - اسم المتغير يجب أن يبتدأ بحرف . - - يمكن استعمال الحروف التي تلي الحرف الأول رقم أو حرف أو الإثنين معا. - - لا يجب أن تكون هناك فراغات بين أسماء المتغير و يمكن استعمال الشكل التالي: id_user - - يجب عدم استعمال نقطة أو رمز خاص مثل ( ؟ ، * ، ) ، ( ، /......... إلخ ) ولكن يمكن استخدام الشرطة السفلية ( _ ) - - أن لا يكون اسم المتغير من الكلمات المحجوزة في الأكسس.
    1 point
  34. المعمول به والمتوفر الآن هو الارسال عبر بوابة مزود الخدمة بمعنى ان الخدمة مدفوعة وليست مجانية اي تشتري كمية من الرسائل ثم تعيد ارسالها ويوجد الكثير من البوابات تقوم بتزويد الخدمة نذكر منها عندنا مثلا لا على سبيل الحصر : سعوديsms ومملكة الرسائل و موبايليوز وتختلف كل واحدة عن الاخرى ببعض الاختلافات حسب اللغة البرمجية للموقع فالطريقة الاولى مثلا في البوابة الثانية والثالثة تفرض وجود الاداة InetCtls.Inet داخل الفورم ويصاحبها مكتبة لتشغيل الاداة وهي msinet.ocx يتم تسجيلها داخل ملفات النظام في وندوز ، بينما الطريقة الثانية في البوابة الاولى يتم الارسال بدون هذه الاداة الوسيطة . وحيث انه يوجد من تطرق للطريقة الاولى وقام بعرضها في بعض منتديات اكسس الشقيقة ، لذا يطيب لي ان اعرض الطريقة الثانية مع الامثلة : في البداية يلزم الاشتراك في الموقع مقدم الخدمة ويوجد شرط الزامي وهو تسجيل رقم جوال المستخدم كمعرف له وعن طريقه يتم تفعيل الاشتراك بعد الاشتراك تحصل على ثلاث رسائل مجانية للتجربة رابط التسجيل : http://saudisms.net/p/method_register يهمنا النتيجة المحصلة بعد التسجيل وهي : 1- اسم المستخدم 2- كلمة المرور 3- اسم المرسل الآن يمكنك تجربة ارسال رسالة واحدة من الموقع الى جوال آخر للتأكد ورؤية بيانات الرسالة وكيف يظهر اسم المستخدم والاحتفاظ بالرسالتين الاخريين لتجربتهما من خلال اكسس بعض البوابات تشترط ان يكون في رصيدك اكثر من 50 رسالة حتى تتمكن من تغيير اسم المرسل الآن جاء دور التطبيق وهو مثال قام الموقع بعمله وانظر ايضا من الموقع نفسه لدعم المبرمج http://saudisms.net/p/api ومع اني املك امثلة اكثر تقدما لاكثر من بوابة الا ان هذا اقرب الى فهم المتعلم ويمكنه تطويره بنفسه . الكودات الموجودة في المثال : وحدات نمطية عامة لكشف الرصيد ولارسال الرسائل ولتحويل البيانات Option Compare Database Public Function UrlEncoding(str As String) As String ' تحويل البيانات إلى تشفير الآسكي قبل إرسالها Dim strResult As String Dim i As Integer For i = 1 To Len(str) strResult = strResult + " " & Asc(Mid(str, i, 1)) Next i UrlEncoding = strResult End Function Public Function GetCredits(strUserName As String, strUserPassword As String) As Integer ' للحصول على الرصيد On Error GoTo ErrHandler Dim intFinalResult As Integer Dim WinHttpReq As New WinHttpRequest Dim strResponseBody As String WinHttpReq.Open "GET", "http://saudisms.net/gw/Balance.php?userName=" & strUserName & "&userPassword=" & strUserPassword WinHttpReq.Send strResponseBody = WinHttpReq.ResponseText intFinalResult = CInt(Replace(Left(strResponseBody, 50), " ", "")) GetCredits = intFinalResult Exit Function ErrHandler: MsgBox Err.Number & ": " & Err.Description, vbExclamation, "sms error" End Function Public Function SendSMS(strUserName As String, strUserPassword As String, strNumbers As String, strOriginator As String, strMessage As String) As String ' ارسال الرسالة On Error GoTo ErrHandler Dim intFinalResult As Integer Dim WinHttpReq As New WinHttpRequest Dim strResponseBody As String Dim strSendResult As String WinHttpReq.Open "GET", "http://saudisms.net/gw/?userName=" & strUserName & "&userPassword=" & strUserPassword & _ "&numbers=" & strNumbers & "&userSender=" & strOriginator & "&msg=" & strMessage & "&By=API" WinHttpReq.Send strResponseBody = WinHttpReq.ResponseText intFinalResult = Replace(Left(strResponseBody, 10), " ", "") Select Case intFinalResult Case 1: strSendResult = "SMS Sent Successfully." Case 1010: strSendResult = "Missing Data, Message content or Numbers." Case 1020: strSendResult = "Wrong Login Combination." Case 1030: strSendResult = "Same message with same destinations exist in queue, Wait 10 seconds befoure resending it." Case 1040: strSendResult = "Unrecognized Charset." Case 1050: strSendResult = "Msg Empty. Reason, message fileration remove message content." Case 1060: strSendResult = "Insufficient Credits to procces sending." Case 1070: strSendResult = "Your Credits is 0, Insufficient to procces sending." Case 1080: strSendResult = "Message Not Sent, Error Sending Message." Case 1090: strSendResult = "Repetition filter catch the message." Case 1100: strSendResult = "Sorry, Message Not Sent. Try later." Case 1110: strSendResult = "Sorry, Bad Originator (Sender Name) you used. Try another Originator." Case 1120: strSendResult = "Sorry,The country you are trying to send to is not covered by our network." Case 1130: strSendResult = "Sorry, Consult our network administrator regarding defiend netowrk for you account." Case 1140: strSendResult = "Sorry, You exceeded maximum messages parts. Try sending fewer parts." End Select SendSMS = intFinalResult Exit Function ErrHandler: MsgBox Err.Number & ": " & Err.Description, vbExclamation, "sms error" End Function ثم نموذج وحيد ويشتمل على اكواد لتطبيق الوحدات النمطية اعلاه Private Sub cmdGetCredits_Click() 'اظهار الرصيد On Error GoTo ErrHandler Dim strUserName As String, strUserPassword As String strUserName = UrlEncoding(txtUserName) strUserPassword = UrlEncoding(txtUserPassword) txtCredits = GetCredits(strUserName, strUserPassword) Exit Sub ErrHandler: MsgBox Err.Number & ": " & Err.Description, vbExclamation, "sms error" End Sub Private Sub cmdSendSMS_Click() On Error GoTo ErrHandler Dim strUserName As String, strUserPassword As String Dim strNumbers As String Dim strOriginator As String Dim strMessage As String strUserName = UrlEncoding(txtUserName) strUserPassword = UrlEncoding(txtUserPassword) strNumbers = UrlEncoding(txtNumbers) strOriginator = UrlEncoding(txtOriginator) strMessage = UrlEncoding(txtMessage) 'ارسال txtSendingResult = SendSMS(strUserName, strUserPassword, strNumbers, strOriginator, strMessage) Call cmdGetCredits_Click Exit Sub ErrHandler: MsgBox Err.Number & ": " & Err.Description, vbExclamation, "sms error" End Sub Private Sub Form_Load() DoCmd.Restore End Sub ملحوظة : رغم ان المثال يحتوي على الجمل البرمجيه اعلاه الا ان البيانات المكتوبة غالبا تبقى خلافا للمرفقات التي قد تعتريها العوارض . saudisms2.rar
    1 point
×
×
  • اضف...

Important Information