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

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

  1. ابو ياسين المشولي

    • نقاط

      6

    • Posts

      1,752


  2. mennad sofiane

    mennad sofiane

    03 عضو مميز


    • نقاط

      6

    • Posts

      462


  3. شوقي ربيع

    شوقي ربيع

    الخبراء


    • نقاط

      4

    • Posts

      1,134


  4. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      4

    • Posts

      3,491


Popular Content

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

  1. بجد ضحكتني والاخ ماعجبه الكلام قال دمك خفيف اخي بارك الله فيك من قوانين المنتدى وشرح المطلوب كي يقوم الاخوة بالمساعدة انت في العنوان كانك تريد شغل طلبك وعجزت عن شرحما تريد فلا تلوم غيرك بالرد لوم نفسك اولا تحياتي للجميع
    3 points
  2. بسم الله الرحمان الرحيم السلام عليكم اغلبيتنا يعلم بان الاكسل جيد في انشاء برامج حسابية صغيرة لاكن مع مرور الوقت و زيادة حجم قاعدة البيانات للبرنامج يصبح هناك نوع من البطئء و التشنج في البرنامج لان الاكسل عبارة عن جداولة الكترونية و ليس بقاعدة بيانات و ايضا كما نعلم بان الاكسيس جيد جدا بالنسبة الاكسل لاستخدامه كقاعدة بيانات وب بالفعل الاكسيس مازال لحد الان يستعمل كقاعدة البيانات في البرامج المتوسطة لذى فكرة في دمج الاكسل و الاكسيس معا للستفادة من قوة الاكسل في الجداول و الحسابات و جمال الفورم مع الاكسيس المتميز في قوة قاعدة البيانات و عدم تاثره كثيرا بكبر حجمها كما هو معمول مع لغات البرمجة الكبيرة ك c++ vb.net java python ...... اذن ستجدون في هذا الموضوع مثال شامل لربط الاكسل بالاكسيس فقط بالاكواد بحيث سنتعامل مع الاكسيس بسلاسة كبيرة وذلك استخدام اوامر sql مع vbq بسهولة كبيرة وتنفذ جميع الاوامر من حذف او اضافة او تعديل او التقارير المعروف بها الاكسيس من خلال الاكسل دون فتح ملف الاكسيس (في الحقيقة يفتح ملف الاكسيس لاكن لن تلاحظ ابدا بانه مفتوح) والعملية المتبعة في ذلك مقسمة الى ثلاث مراحل فتح اتصال مع الاكسيس تنفيذ اوامر sql (select insert update delete) غلق الاتصال مع الاكسيس لا اطيل عليكم و اترككم مع الملف و لاي استفسارات انا في الخدمة تحياتي للجميع و ارجو ان تستفيدو من الموضوع ConnectDatabaseAccess.rar
    2 points
  3. أخي يجب عليك أن تضع عنوان مناسب لطلبك و تشرح المطلوب بالتفصيل حتى يستطيع الشباب مساعدتك موضوع مخالف يغلق
    2 points
  4. جرب هذا الكود ضعه في وحدة نمطية جديدة ثم قم باستدعائه في حدث التقرير في المكان الذي تريد ان يظهر فيه العلامة المائية اجعلها نقطة البداية لهذا الامر وانطلق ،،، تحياتي Call Watermark(Me) Public Function Watermark(rpt As Access.Report) Dim strMessage As String Dim lngHorSize As Long Dim lngVerSize As Long Debug.Print rpt.Name strMessage = "Alwazeer" With rpt 'Set scale to pixels, and set FontName and 'FontSize properties. .ScaleMode = 3 .FontName = "Courier" .FontSize = 48 .ForeColor = 12632256 ' Horizontal width. lngHorSize = .TextWidth(strMessage) ' Vertical height. lngVerSize = .TextHeight(strMessage) ' Calculate location of text to be displayed. .CurrentX = (.ScaleWidth / 2) - (lngHorSize / 2) .CurrentY = (.ScaleHeight / 2) - (lngVerSize / 2) ' Print text on Report object. .Print strMessage End With End Function
    2 points
  5. طلب عمل ماذا؟؟ عمل سحر ام شعوذة ام ماذا ههههه .. يرجى تعديل العنوان
    2 points
  6. بسم الله الرحمان الرحيم السلام عليكم اصدقائي اعضاء منتدى اوفيسنا تم الانتهاء بحمد لله من قاعدة البيانات تم الاعتماد على الاكسيس كقاعدة البيانات لذى لن يكون هناك اي ثقل او ضغط على الاكسيل فواتير الشراء و فواتير البيع اضافة فاتورة بحث وتعديل او طباعة البحث عن الاصناف باستعمال خاصية النص التنبئي اتبعنا السعر الوسط للاصناف في حال توفر كميات مختلفة باسعار مختلفة في المخزون الاصناف الجديدة تدخل اوتوماتيكيا الى المخزن مباشرة من فاتورة الشراء و كذالك يتم تكويدها اوتوماتيكيا امكانية اضافة القيمة المضافة للفواتير حسب ارادة المستخدم اضهار ان كانت الفاتورة مسددة ام لا و ايضا اضهار ان كان مسدد جزء من الفاتورة و المبلغ المتبقي الموردين و العملاء اضافة بحث وتعديل او حذف اضهار كل الفواتير المتعلقة بالعميل او المود اضهار الفواتير الغير مسددة او الغير مدفوعة للعميل او المورد كشف حساب تفصيلي لكل عميل او مورد طباعة كشف الحساب اضهار عدد الفواتير المتعلقة بكل عميل او مورد و اضهار مجموع المبالغ المدفوعة او المسددة و مجموع المبالغ المستحقة المخزون قائمة كل الاصناف مع امكانية التعديل على اسم الصنف اضهار قائمة بالاصناف القريبة النفاذ وذلك على حسب كمية يحددها المستخدم اضهار قائمة الاصناف التي نفذت من المخزون قائمة بكل عمليات الشراء الخاصة بكل صنف قائمة بكل عمليات البيع الخاصة بكل صنف صافي ربح الصنف امكانية استراد قائمة اصناف من ملف اكسل خارجي جاري العمل عللى مكانية استراد الاصناف من صيغ اخرى كالاكسيس او الملفات النصية سندات الصرف و سندات القبض اضافة بحث وتعديل او حذف + طباعة السندات بحث بواسطة رقم السند او رقم الفاتورة او اسم العميل او المورد او بين فترة زمنية معينة اثناء اضافو السندات سواء قبض او صرف لا تضهر الى الفواتير الغير مسددة عند اختيار الفاتورة يضهر مبلغها اوتوماتيكيا امكانية اختيار طريقة الدفع نقدا او شيك مضهر البرنامج امكانية تغير ثيم البرنامج امكانية تغير لغة البرنامج (عربية انجليزة و فرنسية) يعتمد البرنامج على واجهة الاكسل الرئيسة و اليوزرفورم معا معلومات اخرى امكانية رفع قاعدة بيانات البرنامج على سيرفر محلي او عام (لاخوف على قاعدة البيانات في حال سقوط الونداوز) امكانية العمل على البرنامج من طرف اكثر من مستخدم في وقت واحد هذه بعض الصور المسربة للبرنامج هذا ماتم انجازه بفضل الله الى حد الساعة لذى احتاج من كل الاعضاء ابداء اقتراحاتهم حول الامور المنجزة و ايضا اعطائنا اي اضافات تودون ان اضيفها للبرنامج لانه لم يعد يتوفر في جعبتي اي افكار لذي ارجو من لهم خبرة في التعامل مع هذا النوع من البرامج ان يبدو اقتراحاتهم او يرةني بعض البرامج التي يمكن ان استمد منها افكار اخرى تحياتي للجميع اخوكم في الله شوقي ربيع
    1 point
  7. اتفضل عدلت لك التقرير وما فهمت عايز تجميع على حسب الفترة ممكن احد الاخوة بيعطيك المطلوب شوف التقرير هل هو هذا ماتريده عملت كل اجمالي الضريبة في التقرير لا اعلم هل هو صح ام غطاء المهم حسب مافهمت ضريبة الخصم والتحصيل (1).rar
    1 point
  8. السلام عليكم ورحمة الله وبركاته اليوم سأقدم لكم ملف بسيط للصور المتحركة الجميلة و البسيطة ويمكن أي مستخدم اضافتها في برنامج الموظفين ولذا هذا الملف البسيط لا يحتاج الى الشرح . أخوكم في الله المبرمج : مناد سفيان الجزائر. excel image 2018.rar
    1 point
  9. الرسالة اللي تواجه فيها مشكلة تح حلها اللي بعدها ما فهمتها ممكن الاخوان بيفهمو هذا كود الرسالة الاولى Dim x As Boolean x = Me.T2 If Me.tr > x Then MsgBox ("لايمكنك الحفظ !! فرصيد الصندوق غير كاف ") Me.Undo Else
    1 point
  10. نعلم جميعاً أن لكل متغير مجال محدد ( PHP VARIABLE SCOPES ) ولا يمكن استخدام المتغير إلا في نطاقه, ونعرف أن المتغيرات الشاملة ( PHP GLOBAL VARIABLES ) لا يمكن استخدامها داخل الدوال إلا باستخدام كلمة global . لكن ماذا إذا أردت استخدام المتغيرات الشاملة كوسيط لدالة function argumentt . يمكن تمرير المتغيرات الشاملة كوسائط للدوال باستخدام مرجع reference للمتغير وليس استخدام المتغير نفسه عن طريق وضع علامة & قبل وسائط الدالة. كما تعلم أنه يمكن تمرير قيم الوسائط للدالة ( php passing arguments by value ) وهذه الطريقة تستخدم الوسائط دون تغيير قيمتها الأصلية أنظر الكود التالي شرح الكود : 1- في السطر رقم 2 قمنا بتعريف الدالة fix_names ومررنا إليها المتغيرات n1,n2,n3 2- في السطر رقم 3,4,5 قمنا بتطبيق الدالة ( PHP UCFIRST ) التي ستقوم بتحويل الأحرف الأولى لقيم المتغيرات إلى أحرف كبيرة. 3- في السطر رقم 6 طلبنا طباعة قيم المتغيرات بعد التحويل. 4- في السطر رقم 8,9,10 قمنا بتعريف المتغيرات a1,a2,a3 . 5- ثم في السطر رقم 11 قمنا بتطبيق الدالة fix_names على هذه المتغيرات, فيتم طباعة المتغيرات مع تغيير الأحرف الأولى لها . 6- أما في اسطر رقم 13 قمنا بطباعة المتغيرات a1,a2,a3 فتكون النتيجة هي القيم الأصلية دون تغيير. بالتالي تمرير قيم الوسائط إلى الدوال يحافظ على قيم الوسائط دون تغيير , على عكس تمرير الوسائط بالمرجعية ( Passing By reference ) أنظر الكود التالي شرح الكود 1- في السطر رقم 2 قمنا بإنشاء دالة ( PHP FUNCTIONS ) وهي fix_names باستخدام الوسائط arguments وهي n1, n2,n3 بالإضافة إلى وضع & قبل كل وسيط. هذه الدالة تقوم بتحويل الحرف الأول لأي متغير من النوع string إلى حرف كبير Capital letter باستخدام الدالة مسبقة الإعداد في بي إتش بي ( PHP UCFIRST ). 2- ثم في السطر رقم 8,9,10 قمنا بتعريف ثلاثة متغيرات a1 , a2, a3 لتنفيذ الدالة fix_names عليهم 3- ثم في السطر رقم 11 قمنا باستدعاء الدالة fix_names وتم تمرير الثلاثة متغيرات كوسائط لهذه الدالة, فقامت الدالة بتحويل الحرف الأول ولكن حتى هذه اللحظة لن يتم طباعة النتيجة لأننا لم نطلب الطباعة داخل الدالة في الأساس. 4- ثم في السطر رقم 12 طلبنا طباعة المتغيرات الثلاث باستخدام echo , فكانت النتيجة واحدة مما يوضح أن تمرير الوسائط للدوال بالمرجعية يقوم بتغيير القيمة الأصلية لها على عكس تمرير قيم الوسائط. أيضاً من الاستخدامات المفيدة لتمرير الماغيرات بالمرجعية, هو استخدامها مع جملة ( PHP Foreach As ). فكما نعلم أن جملة foreach as تقوم بعمل التكرار الحلقي على قيم المصفوفات بحيث يتم تخصيص كل قيمة لمتغير ثم الاستفادة من هذا المتغير فيما بعد, لكن دون التأثير على القيم الأصلية داخل المصفوفة. ماذا إن أردت تغيير القيم الأصلية للمصفوفة عند استخدام foreach as ؟ نعلم جميعاً أن جملة foreach as تكتب بهذه الصيغة : الآن إذا أردنا تغيير القيم الأصلية للمصفوفة يجب علينا تمرير القيم بالمرجعية عن طريقة إضافة علام ( & ) قبل value$ كما يظهر في الصيغة التالية : لتوضيح الفكرة سنقوم بعمل مصفوفة لمجموعة من الأسماء تبدأ بالأحرف الكبيرة ثم سنمرر هذه الاسماء بالمرجعية إلى جملة foreach as لتحويل حالة جميع الأحرف إلى الأحرف الكبيرة الأن عن إضافة علامة ( & ) إلى القيمة عند كتابة جملة foreach as سيتم عمل مرجع ( Reference ) للقيم الأصلية داخل المصفوفة , وبالتالي عند تطبيق الدالة ()strtoupper سيتم تحويل حالة جميع الأحرف إلى أحرف كبيرة. تحميل الملف : foreach_pass_by_reference.zip
    1 point
  11. PHP IF STATEMENT ) أو (إذا) من أدوات الشرط الغير حلقية ( Non-looping conditional ) , وتستخدم لفحص تحقق شرط معين بحيث إن كانت إجابة الفحص هي نعم true يتم تنفيذ عملية معينة , أما إن كانت خطأ تقوم بإنهاء العملية أو تنفيذ عملية أخري. صيغة جملة if يتم كتابة جملة if بهذا الشكل ا كان حسابك البنكي bank_balance$ رصيده أقل من 1000 دج أو أياً كانت عملتك , فستقوم بإيداع مبلغ 1000 دجmoney$ , فيتم كتابة البرنامج بهذا الشكل وإذا كانت قيمة رصيدك أكبر من 1000 سيقوم بتجاوز العملية واستكمال البرنامج. أما إذا أردت تنفيذ عملية أخري في حالة عدم تحقق الشرط , أي الجواب (لا) false يجب أن تستخدم جملة else (غير ذلك). وبهذا يمكن طباعة جملة تفيد بأن الرصيد الموجود كافي إذا كان الرصيد أكبر من 1000 بهذا الشكل ماذا إن كنت تريد سحب مبلغ في حالة عدم تحقق الشرط, أي أن الرصيد أكبر من 1000 , فيمكنك وضع شرط آخر بحيث إذا كان الرصيد الموجود أكبر من أو يساوي 2000 ستقوم بسحب مبلغ 500 دج with_draw$ بهذا الشكل يمكنك إضافة إي عدد من جملة elseif , ولكن إن كان العدد سيكون كثيراً للغاية يمكنك إستبدال elseif بـ ( PHP SWITCH STATEMENT ). علامة الاستفهام الشرطية ? يمكن استبدال جملة if بالمعامل الاستفهامي ? ( CONDITIONAL QUESTION MARK ) في حالات الشرط الصغيرة أو التي لا تحتاج إلا سطر واحد في الكود السابق نسأل , هل كمية الوقود أقل من أو تساوي 1 ؟ , فإذا كانت الإجابة نعم true سيتم طباعة السلسلة النصية (string) “املأ خزان الوقود” , وإذا كانت الإجابة لا false سيتم طباعة “يوجد وقود كافي”. ويمكن تخصيص نتيجة الشرط إلي متغير enough$
    1 point
  12. شكرا أخي شفان هذا هو المطلوب ربنا يبارك فيك ..... دائما القاك على العهد
    1 point
  13. ألف شكر استاذ أبو ياسين جزاك الله كل خير ... نور الله بصائرك
    1 point
  14. اخي بارك الله فيك انت عامل الجدولين بنفس النموذج الفرعي والرئيسي مايحتاج كود الحاق في حال لم يكون مصدر النموذج نفس الجدول يكون هكذا DoCmd.SetWarnings False DoCmd.RunSQL "insert INTO newentryhead (entryno,entype,endate,endetail) VALUES (entryno,entype,endate,endetail)" DoCmd.SetWarnings True
    1 point
  15. ما شاء الله بارك الله فيك أستاذ شيفان وجزاك خيرا على حسن الاستجابة والمساعدة وإتمام المطلوب
    1 point
  16. اتفضل تم العمل هذه الوحدة النمطية Option Compare Database Option Explicit Public Function GetQablaRimoz(SText) Dim i Dim Text Dim Nu As Integer For i = 1 To Len(SText) If (Mid(SText, i, 1)) = ":" Then Nu = Nu + 1 Text = Text & Mid(SText, i, 1) End If Next Dim LArray() As String LArray = Split(SText, ":") If Nu > 0 Then GetQablaRimoz = LArray(0) End If End Function Public Function GetBaadaRimoz(SText) Dim i Dim Text Dim Nu As Integer For i = 1 To Len(SText) If (Mid(SText, i, 1)) = ":" Then Nu = Nu + 1 Text = Text & Mid(SText, i, 1) End If Next Dim LArray() As String LArray = Split(SText, ":") If Right(SText, 1) <> "." Then If Nu = 0 Then GetBaadaRimoz = SText & " ." ElseIf Nu = 1 Then GetBaadaRimoz = LArray(1) & " ." ElseIf Nu = 2 Then GetBaadaRimoz = LArray(1) & LArray(2) & " ." ElseIf Nu = 3 Then GetBaadaRimoz = LArray(1) & LArray(2) & LArray(3) & " ." End If Else If Nu = 0 Then GetBaadaRimoz = SText ElseIf Nu = 1 Then GetBaadaRimoz = LArray(1) ElseIf Nu = 2 Then GetBaadaRimoz = LArray(1) & LArray(2) ElseIf Nu = 3 Then GetBaadaRimoz = LArray(1) & LArray(2) & LArray(3) End If End If End Function وهذه الاستعلامات التحديث Q1 UPDATE T3reeft SET T3reeft.AlT3reef = GetQablaRimoz([T3reeft]![T3reeftText]) WHERE (((T3reeft.AlT3reef) Is Null)); Q2 UPDATE T3reeft SET T3reeft.T3reeftText = GetBaadaRimoz([T3reeft]![T3reeftText]); قم بتشغيل استعلام الاول وبعدين الاستعلام الثاني اليك المرفق حذف البيانات المكررة.accdb
    1 point
  17. أخي العزيز الصور هل هي مرفق في الجدول أم ملف محفوظ بمجلد قاعدة البيانات أم ملف محفوظ بمجلد على جهاز المستخدم أم مجلد محفوظ على جهاز الخادم ( الشبكة )
    1 point
  18. هل تريد هذا ام ماذا تريد بالتفصيل ممكن تعطينا صور عن ماذا تريد او وضح اكثر اذا هذا لا يكون المطلوب القي نظرتا الى كويرى 1 توزيع تكراري ادارات.rar
    1 point
  19. لا اعرف لکن هناك طريقة بديلة اليك هذا الرابط
    1 point
  20. وعليكم السلام مرحبا بك فى المنتدى من الأفضل أن ترسل الملف لكى يتسنى للزملاء مساعدتك
    1 point
  21. تحياتي لك أستاذ مجدي، وشاكر مرورك الكريم.
    1 point
  22. تمام لك كل التقدير استاذنا شفان ريكاني الكود ممتاز تم الحل
    1 point
  23. جرب هذا الكود Private Sub Form_Current() If Not NewRecord Then Me.date_to = Date If IsNull(Me.date_from) Or IsNull(Me.date_to) Then Exit Sub Me.da = CalcAgeD(Me.date_from, Me.date_to) Me.mo = CalcAgeM(Me.date_from, Me.date_to) Me.ye = CalcAgeY(Me.date_from, Me.date_to) End If End Sub 6666.rar
    1 point
  24. السلام عليكم ورحمة الله تفضل business.rar
    1 point
  25. دالة الاستدعاء ( CALLBACK FUNCTION ) هي دالة تقوم بتعريفها بنفسك ثم تقوم بتمريرها كوسيط Argument لدالة أخرى. بحيث تقوم الدالة المستقبلة (الأساسية) باستدعاء الـ callback في أي وقت فتقوم دالة الاستدعاء بتغيير سلوك الدالة المستقبلة. وهناك بعض الدوال المدمجة في ( PHP ) تستخدم دوال الاستدعاء ومنها دالة ( array_map ) هي دالة من دوال المصفوفات تستقبل دالة استدعاء ( CALLBACK FUNCTION ) بحيث يتم تطبيق الـ callback على كل عنصر من عناصر المصفوفة. أنظر الكود التالي في السطر رقم 3 أنشأنا دالة عادية وقمنا باستخدام name$ كوسيط 2- تقوم هذه الدالة بتغيير حالة الحرف الأول من الوسيط إلى حرف كبير Uppercase باستخدام الدالة ()ucfirst ثم ارفاقها بـ “Hello” باستخدام الـتسلسل (STRING CONCATENATION ) ومن ثم استرجاع النتيجة ( RETURNING VALUESS ) . 3- في السطر رقم 7 قمنا بعمل مصفوفة ( PHP ARRAY ) من الأسماء names$ 4- في السطر رقم 8 قمنا بتمرير الدالة nameTOGreeting كوسيط Argument للدالة ()array_map 5- طباعة النتيجة باستخدام ( PHP print_r ) فتكون النتيجة هي Array ( [0] => Hello ’Mohamed! [1] => Hello Ahmed! [2] => Hello Ali! ) ولكن هل تتذكر أن السبب الأساسي لاستخدام الدوال هو انك تقوم بوضع مجموعة من الأسطر داخل دالة بغرض استخدامها مرات عديدة؟. بالطبع نعم لذا إن كات الدالة ستستخدم مرة واحدة لغرض محدد فقط فيفضل تمريرها كدالة مجهولة ( PHP ANONYMOUS FUNCTION ) انظر الكود التالي
    1 point
  26. نعلم جميعاً أن لكل متغير مجال محدد ( PHP VARIABLE SCOPES ) ولا يمكن استخدام المتغير إلا في نطاقه, ونعرف أن المتغيرات الشاملة ( PHP GLOBAL VARIABLES ) لا يمكن استخدامها داخل الدوال إلا باستخدام كلمة global . لكن ماذا إذا أردت استخدام المتغيرات الشاملة كوسيط لدالة function argumentt . يمكن تمرير المتغيرات الشاملة كوسائط للدوال باستخدام مرجع reference للمتغير وليس استخدام المتغير نفسه عن طريق وضع علامة & قبل وسائط الدالة. كما تعلم أنه يمكن تمرير قيم الوسائط للدالة ( php passing arguments by value ) وهذه الطريقة تستخدم الوسائط دون تغيير قيمتها الأصلية يضاً من الاستخدامات المفيدة لتمرير الماغيرات بالمرجعية, هو استخدامها مع جملة ( PHP Foreach As ). فكما نعلم أن جملة foreach as تقوم بعمل التكرار الحلقي على قيم المصفوفات بحيث يتم تخصيص كل قيمة لمتغير ثم الاستفادة من هذا المتغير فيما بعد, لكن دون التأثير على القيم الأصلية داخل المصفوفة.
    1 point
  27. عند كتابة الأكواد أو حتى قراءة أكواد مكتوبة بواسطة الغير تجد منهم من يستخدم لطباعة القيم echo وآخرون يستخدمون print فما الفرق بين كل منهما؟ الإختلافات بين echo و print بشكل مباشر هي : 1- echo أسرع في طباعة المتغيرات (نتحدث بالملي ثانية أو أقل) 2- print تقوم باسترجاع القيمة 1 (TRUE) وهذا ما يجعلها تأخذ وقت اكبر تخيل أن لديك اثنين من الموظفين فطلبت من كل منهما تصوير مستند فقام الأول بسماع الأمر وتنفيذه مباشرةً ثم تسليم النسخة المصورة أما الثاني قام بالتصوير ثم رد قائلاً “تمام يا افندم” ثم قام بتسليم النسخة المصورة وبالتالي أستغرق وقت أكبر من الأول. 3- echo تقبل عدد لانهائي من المدخلات بينما print تقبل مدخل واحد فقط لاحظ عند تنفيذ الكود تكون نتيجة echo هي “IamMohamed” ملتصقة ببعض لاعتبار كل من (I) و (am) و (Mohamed) مدخلات منفصلة تم طباعتهم وراء بعض. أما في السطر رقم 3 تم طباعة الجملة كاملة كمدخل واحد “I am Mohamed” . 4- يمكن استخدام print كدالة ولايمكن بالنسة لـ echo
    1 point
  28. ادراج رزنامة شهرية لسنة معينة و شهر معين (باختيارك) بدون يوم او يومين تحددهما بنفسك و اذا لم تحدد الايام (بمسح الخلايا المناسبة) يتم ادراج كامل الشهر Sub Give_date_without_same_days() With CommandButton1 .Left = 469: .Top = 18.5: .Width = 154.5 End With If Not IsNumeric([a2]) Or Not IsNumeric([b2]) _ Or [b2] < 1 Or [b2] > 12 _ Or IsEmpty([a2]) Or IsEmpty([b2]) Then MsgBox "أدخل أرقاماً صحيحة في الخلايا " & Chr(10) & "$ِِِA$2 and $B$2 " & Chr(10) _ & "وأعد المحاولة", vbOKOnly + vbInformation + vbMsgBoxRight + vbMsgBoxRtlReading, "!...ٍSalim" Range("c4:Ag5").ClearContents Range("c4:Ag5").Borders.LineStyle = 0 GoTo Exit_Me End If With Application .ScreenUpdating = False .EnableEvents = False .Calculation = xlManual End With Dim Array_Days(), My_Days_Arabic() Dim Arab_Day(), My_Date_For_Print() Dim Array_Numbers() Dim t As Date, i%, k%, m%, x%, last_col% Dim y$ '============================== Array_Days = Array("sun", "mon", "tue", "wed", "thu", "fri", "sat") Arab_Day = Array("الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السّبت") Array_Numbers = Array(1, 2, 3, 4, 5, 6, 7) last_col = Cells(5, Columns.Count).End(1).Column Range("c4").Resize(2, last_col).ClearContents Range("c4").Resize(2, last_col).Borders.LineStyle = 0 '================================= [a2] = Int([a2]): [b2] = Int([b2]) t = DateSerial([a2], [b2], 1) x = Day(Application.EoMonth(t, 0)) k = 1 For i = 1 To x y = Application.Index(Arab_Day, Application.Match(Weekday(t), Array_Numbers, 0)) If Trim(y) = Trim([d2].Value) Or _ Trim(y) = Trim([e2].Value) Then GoTo 2 ReDim Preserve My_Days_Arabic(1 To k): My_Days_Arabic(k) = y ReDim Preserve My_Date_For_Print(1 To k): My_Date_For_Print(k) = t k = k + 1 ' End If 2: t = t + 1 Next Range("C4").Resize(1, UBound(My_Days_Arabic)) = My_Days_Arabic Range("C5").Resize(1, UBound(My_Date_For_Print)) = My_Date_For_Print Range("C4").Resize(2, UBound(My_Days_Arabic)).Borders.LineStyle = 1 ActiveSheet.PageSetup.PrintArea = "" ActiveSheet.PageSetup.PrintArea = Range("a1").Resize(6, UBound(My_Days_Arabic) + 2).Address Exit_Me: Erase Array_Days: Erase Arab_Day: Erase Array_Numbers With Application .ScreenUpdating = True .Calculation = xlAutomatic .EnableEvents = True End With End Sub Private Sub CommandButton1_Click() Give_date_without_same_days End Sub Private Sub Worksheet_Activate() With CommandButton1 .Left = 469: .Top = 18.5: .Width = 154.5 End With End Sub الكود موجود ضمن الملف Date_sans_deux_jours.xlsm
    1 point
  29. شكرا لسؤالك اخي خالد اول يمكن ربط الاكسيس مع SQL كما هو الحال مع الاكسيس تمام وكنت اود طرح موضوع منصفصل بهذا الخصوص لاكن ام يسمح لي الوقت لذى اعطيك طرف الخيط من هنا Public Function SQLConnectDatabase() Set Conn = CreateObject("ADODB.Connection") Dim Server_Name As String: Server_Name = "Enter your server name here" Dim Database_Name As String: Database_Name = "Enter your database name here" Dim User_ID As String: User_ID = "enter your user ID here" Dim Password As String: Password = "Enter your password here" Dim sConn As String: sConn = "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & _ ";Uid=" & User_ID & ";Pwd=" & Password & ";" Conn.Open sConn Conn.cursorlocation = 3 ConnectionState = True Call CloseDatabase End Function هذا هو الكود الذي يمكنك من الاتصال بقاعدة بيانات من نوع SQL Server اما بقيت الاكواد فهي نفسها ولا يوجد فيها اي اختلاف فقط الاختلاف الوحيد يكون في كتابتاوامر sql الخاصة باتواريخ لانه اوامر sql هي نفسها بالنسبة للاكسيس او sql اما بانسبة لرفع قاعدة البيانات على النت و الاتصال بها فهي ممكنة جدا بالنسبة ل sql فهي سهلة جدا اما الاكسيس يمكن ايضا لاكن ليس بجودة sql وذالك برفع قاعدة البيانات من نوع اكسيس على قوقل دريف مثلا او دروب بوكس وو بهذا يمكنك التعامل معها باكثر من جهاز في نفس الوقت الموضوع على بساطته محتاج بعص الوقت لكي اعمل له شرح مفصل و سأعمله ان شاء الله عند توفر الوقت الازم تحياتي
    1 point
  30. طريق لغه البرمجه VBA - اين انت منه ؟ فارق السرعات بين التعامل مع خلايا ورقة العمل والمصفوفات رابط الجزء الاول من سلسله من اين ابدأ -انتظروا الجزء الثاني من هذه السلسله قريباً ان شاء الله - المرفقات VBA Road.rar
    1 point
  31. إخوتى الكرام .. الملف التالى يتناول الطرق المختلفة لتعبئة الـــــــComboBox .. اتمنى ان يمثل إضافه بسيطة .. وكل عام وانتم بخير .. المرفقـــات Khaled-elrashedy -Combobox.rar
    1 point
  32. 1 point
  33. هنا اضافة بالنسبة للجداول السطر الأول سيظهر لك عدد الجداول مع جداول النظام استخدم هذا الكود ليظهر لك عدد الجداول بدون جداول النظام aa مربع نص في النموذج مثلا لنظهر النتيجة به Dim tdf As TableDef Dim i As Integer For Each tdf In CurrentDb.TableDefs If Left(tdf.Name, 4) <> "MSys" Then i = i + 1 Next Me.aa = i بالتوفيق
    1 point
  34. حياك الله وجدت لك هذه الطريقة جرب ووافنا بالنتائج 'Number of Tables CurrentDb.TableDefs.Count 'includes system tables 'Number of Queries CurrentDb.QueryDefs.Count 'Number of Forms Currentproject.AllForms.Count 'Number of Macros Currentproject.AllMacros.Count 'Number of Reports Currentproject.AllReports.Count 'Number of Modules Currentproject.AllModules.Count 'does not include object modules بالتوفيق
    1 point
  35. حقيقى دمك خفيف
    0 points
×
×
  • اضف...

Important Information