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

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

  1. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      13

    • Posts

      3,491


  2. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      8

    • Posts

      13,165


  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      7

    • Posts

      9,814


  4. شوقي ربيع

    شوقي ربيع

    الخبراء


    • نقاط

      3

    • Posts

      1,134


Popular Content

Showing content with the highest reputation on 06 أغس, 2017 in all areas

  1. السلام عليكم كان المفروض ان يكون هذا الموضوع كجواب للموضوع والمشكلة هي ان ارقام التسلسل بالعربي ، في كل من التقارير الفرعية ليست بالتسلسل المطلوب ، ولا السنه بالتسلسل الصحيح . نعرف اذا اردنا ان نعمل اكثر من عمود في التقرير ، فاننا نستعمل اعدادات الصفحة في التقرير . اذا التقرير بالانجليزي ، فكل شيء تمام وبالترتيب/التسلسل المطلوب ، ولكن للأسف لما نريد الاعمدة بالتسلسل العربي ، من اليمين الى اسفل ، ثم يُكمّل العمود الثاني من حيث انتهى الاول ، هكذا . فهنا يجب ان نقوم بمعالجة الموضوع بطريقتنا الخاصة استعنت بالبرنامج من الروابط اعلاه ، وعملت تجارب على عدة اعمدة: 2 الى 6 اعمدة ، وكتبت نتائجها في الاكسل ، لأرى النتائج بصورة مباشرة ، الحالي معناه ما يعطينا الاكسس ، والمفروض هو التسلسل الذي نسعى لعمله . وبعد التمعن في الارقام لعدة ايام ، توصلت الى ان هناك لوغاريثم معين يتماشى مع ارقام الاعمدة وتسلسلها ، وبعد تجربة عدة طرق توصلت لطريقة تعرض هذه الاعمدة بالطريقة التي نريدها 1. سنحتاج الى حقلين اضافيين في الجدول (لكل تقرير فرعي) ، حقل تسلسل الاعمدة (وسيكون مخفي ، باللون البرتقالي في الصورة ادناه) والذي سيعتمد عليه التقرير في فرز البيانات ، rpt2_Seq مثلا، وحقل للتسلسل الذي سنراه في التقرير ، Seq2 مثلا (الحقل الآخر في التقرير) ، 2. في التقرير ، هكذا نجعل فرز البيانات ، على اساس الحقل rpt2_Seq . وبما ان التقرير الرئيسي يحتوي على 3 تقارير فرعية (في برنامج الرابط اعلاه) ، . فوضعت الكود على حدث "التنسيق" لرأس التقرير Page Header ، وهذا هو الكود ، والذي نراه انه ينادي الدالة ("Call Seq_Records(2, "rpt2_Seq", "Seq2") ، لكل تقرير فرعي ، ويرسل عدد الاعمدة المطلوبة ، واسم حقلي التسلسل في الجدول للتقرير الفرعي: Option Compare Database Dim rst As DAO.Recordset Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) 'Seq the subform Records 'rpt2 Set rst = CurrentDb.OpenRecordset("Select * From qry_2 Where nationalty=" & Me.nationalty) Call Seq_Records(2, "rpt2_Seq", "Seq2") 'rpt3 Set rst = CurrentDb.OpenRecordset("Select * From qry_3 Where nationalty=" & Me.nationalty) Call Seq_Records(2, "rpt3_Seq", "Seq3") 'rpt4 Set rst = CurrentDb.OpenRecordset("Select * From qry_4 Where nationalty=" & Me.nationalty) Call Seq_Records(2, "rpt4_Seq", "Seq4") End Sub . وهذا كود الدالة ، والتي يمكن إخراجها من التقرير وجعلها وحدة نمطية مستقلة) : Function Seq_Records(N As Integer, Seq_fName As String, Seq_n As String) On Error GoTo err_Seq_Records 'N = Number of columns 'Seq_fName = Seq Field Name 'Seq_n = Seq rst.MoveLast: rst.MoveFirst RC = rst.RecordCount c_Columns = N 'Number of columns in the report r_Records = RC 'Number of Records in the report j_First = c_Columns 'Start rtp_Seq with this number Counter = 0 'each time reduce c_Columns by this Counter For i = 1 To RC rst.Edit rst(Seq_fName) = j_First rst(Seq_n) = i 'Debug.Print "rtp_Seq=" & j_First & vbTab & "Seq=" & i rst.Update 'rtp_Seq j_First = j_First + c_Columns 'rpt_Seq cannot be > RC If j_First > RC Then 'start Counter Counter = Counter + 1 'rpt_Seq re-calculate j_First = c_Columns - Counter End If rst.MoveNext Next i Exit_Seq_Records: rst.Close: Set rst = Nothing Exit Function err_Seq_Records: If Err.Number = 3021 Then Resume Exit_Seq_Records Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function . والنتيجة: . كما عملت تقرير للتجربة وبه 4 اعمدة ، والذي ينادي الدالة هكذا ("Call Seq_Records(4, "rpt2_Seq", "Seq2") ، والنتيجة . جعفر 680.4.الاجازات.accdb.zip
    2 points
  2. افتح مصدر النموذج وهو استعلام القي نظرتا الى حقل سبجيكت انا كتبت Like "*" & [نماذج]![اسم النموذج]![اسم مربع نصي للبحث] & "*" تقدر تكتب في شرط اي حقل لكن لا تكتب في صف اللي انا كتبت الشرط بل اكتب في صف اسفل اللي انا كتبته لان اذا كتبت في نفس الصف سيعطيك نتائج اللي فيها شرطين واعتذر من الجميع اذا انا تجاوزت قوانين المنتدى
    2 points
  3. بسم الله الرحمان الرحيم السلام عليكم اغلبيتنا يعلم بان الاكسل جيد في انشاء برامج حسابية صغيرة لاكن مع مرور الوقت و زيادة حجم قاعدة البيانات للبرنامج يصبح هناك نوع من البطئء و التشنج في البرنامج لان الاكسل عبارة عن جداولة الكترونية و ليس بقاعدة بيانات و ايضا كما نعلم بان الاكسيس جيد جدا بالنسبة الاكسل لاستخدامه كقاعدة بيانات وب بالفعل الاكسيس مازال لحد الان يستعمل كقاعدة البيانات في البرامج المتوسطة لذى فكرة في دمج الاكسل و الاكسيس معا للستفادة من قوة الاكسل في الجداول و الحسابات و جمال الفورم مع الاكسيس المتميز في قوة قاعدة البيانات و عدم تاثره كثيرا بكبر حجمها كما هو معمول مع لغات البرمجة الكبيرة ك c++ vb.net java python ...... اذن ستجدون في هذا الموضوع مثال شامل لربط الاكسل بالاكسيس فقط بالاكواد بحيث سنتعامل مع الاكسيس بسلاسة كبيرة وذلك استخدام اوامر sql مع vbq بسهولة كبيرة وتنفذ جميع الاوامر من حذف او اضافة او تعديل او التقارير المعروف بها الاكسيس من خلال الاكسل دون فتح ملف الاكسيس (في الحقيقة يفتح ملف الاكسيس لاكن لن تلاحظ ابدا بانه مفتوح) والعملية المتبعة في ذلك مقسمة الى ثلاث مراحل فتح اتصال مع الاكسيس تنفيذ اوامر sql (select insert update delete) غلق الاتصال مع الاكسيس لا اطيل عليكم و اترككم مع الملف و لاي استفسارات انا في الخدمة تحياتي للجميع و ارجو ان تستفيدو من الموضوع ConnectDatabaseAccess.rar
    1 point
  4. السلام عليكم و رحمة الله هذا الموضوع يعتبر أساسا لعمل الشهادات بقية الإبداعات ترجع إليكم إلى الفديو شرح عمل الشهادات بدالة vlookup.zip
    1 point
  5. أخي الكريم محمود بالمثال يتضح المقال .. ضع ملف مرفق بسيط موضحاً فيه المطلوب
    1 point
  6. العفو أستاذ طارق اتمنى أن تكون الدالة هى المطلوبة حسبما فهمت من طلبك
    1 point
  7. حيا الله اخينا عمرو انا حستخدم نظرية "لكل مقام مقال" حنسميها نظرية .. معليش مشيها فهنا سؤال بسيط : لو تكرمت ماهو التطبيق الحالي او المستقبلي الذي تريد تشغيله على الاندرويد؟ او فكرة البرنامج كامل ؟ تحياتي
    1 point
  8. السلام عليكم وجدت كود في المنتدى وجربته على ملفي ويحتاج بعض التعديلات وكما مبين بالملف المرفق بعض التعديلات على الكود11.rar
    1 point
  9. 1 point
  10. بارك الله فيك اخي @Shivan Rekany هو المطلوب بكله بردت قلبي لي 3 أيام صدع راسي ولا قدرت اعرف السبب فالف شكرا لك استاذي ولكل من وقف بجواري شكر للاخ جفر واعبدالله باقدرور وللموقع تحياتي اليك
    1 point
  11. احذف هذا السطر من زرين Call أمر20_Click واضف هذا بدل منه Call cmd_Search2_Click 703.a555.rar
    1 point
  12. هذا غير صحيح ؛ لم تكتبه هنا حرجا منه بل مجبر اعدت كتابته هنا بعد ان اغلقنا موضوعك هناك فلم الحلف بالله !
    1 point
  13. الملف السابق یعمل لک المطلوب ولیس ھناک خلل الصور بیحکی
    1 point
  14. السلام عليكم ورحمة الله وبركاته إخواني الكرام ..أحبابي في الله أقدم لكم اليوم كودين ، تعتمد الفكرة فيهما على تجميع القيم التي يتم إدخالها ، مع كل إدخال جديد في المرفق ستجد ملفين .. الملف الأول باسم Single Cell Accumulator أي التجميع للقيم في خلية واحدة فقط ويظهر الناتج في نفس الخلية .. قم بإدخال أي قيمة في الخلية A1 وليكن 5 ثم سهم لأسفل واكتب القيمة 4 ستجد أن ناتج الخلية أصبح 9 ، اكتب 3 ثم سهم لأسفل ستجد الناتج أصبح 12 وهكذا .. أعتقد أن فكرة الكود قد وصلتكم الآن .. لإعادة ضبط عملية التجميع قم بمسح محتويات الخلية A1 أو وضع نص بها .. الكود في الملف الأول بهذا الشكل (في حدث ورقة العمل) Private Sub Worksheet_Change(ByVal Target As Excel.Range) Static dAccumulator As Double With Target If .Address(False, False) = "A1" Then If Not IsEmpty(.Value) And IsNumeric(.Value) Then dAccumulator = dAccumulator + .Value Else dAccumulator = 0 End If Application.EnableEvents = False .Value = dAccumulator .Select Application.EnableEvents = True End If End With End Sub الملف الثاني باسم Two Cell Accumulator وفي هذا الملف تتم عملية الإدخال في الخلية A1 بينما تظهر النتائج في الخلية B1 ، ففي كل إدخال رقمي يتم تجميع القيمة إلى القيمة الموجودة في الخلية A1 ، وهنا إذا تم مسح محتويات الخلية A1 أو كتابة نص بها ، فإن الناتج في الخلية B1 يظل كما هو ، ولإعادة ضبط عملية التجميع من جديد قم بمسح محتويات الخلية B1 والكود في الملف الثاني يظهر بهذا الشكل (في حدث ورقة العمل) Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" Then If IsNumeric(.Value) Then Application.EnableEvents = False Range("B1").Value = Range("B1").Value + .Value Application.EnableEvents = True .Select End If End If End With End Sub أرجو من الله أن يجعل أعمالنا صالحة ، ولوجهه خالصة .. دمتم في رعاية الله حمل الملف من هنا
    1 point
  15. لربما يكون العنصر غير موجود أو أن البيانات غير صحيحة .. لأني لاحظت وجود مسافات زائدة .. قم بإزالة المسافات الزائدة وجرب مرة أخرى وجرب على عنصر تكون متأكد من تواجده
    1 point
  16. 1 point
  17. ھل ھذا هو قصدك login (17) (1).rar
    1 point
  18. جزاك الله خيرا اعجبتني طريقتك راح انفذها مستقبلا
    1 point
  19. ممكن سؤال سؤال عشان أقدر أجاوبك دلوقتي إنت عايز تحدد عدد الأعمدة بناءً على مدخل في خلية أم بناءً على الكود .. يعني الكود اللي يحدد ولا إنت اللي هتحدد عدد الأعمدة؟
    1 point
  20. السلام عليكم لعله هذا طلبلك جرد مخزن - 1.rar
    1 point
  21. بالنسبة لرقم الصف أعتقد أن الأخ ياسر العربي اعتمد على أول صف الذي يلي صف العناوين (الذي أسميته الترويسة) أنا لم أطلع على الكود بالكامل ولذلك لا يمكنني الرد على استسفاراتك كلها .. ولكن بالنسبة للتقسيم كما ذكرت في الشرح ويا حبذا لو درست الشرح بشكل جيد لتتعلم منه .. الهدف من التقسيم الحصول على رمز العمود .. آخر عمود هذا والله الموفق
    1 point
  22. أخى الكريم السلام عليكم تفضل الملف المرفق إن شاء الله به المطلوب أتمنى أن يفى بالغرض استخدمت الدالة SumIf يوجد جدول به الاحصائيات المطلوبة يمكن الإضافة كما تشاء مع العل أنها دالة صفيف يعنى لابد من الضغط على مفاتيح Ctrl + Shift + Enter عند الانتهاء أو التعديل على الدالة تقبلوا تحياتى إجابة السؤال.rar
    1 point
  23. يكفي نسخة من الجدول ضمن المثال يجب وجود نسخة من جدول الحضور والانصراف .. وهذا ما يعنيه استاذنا
    1 point
  24. عفوا اخي ابوخليل ، لم الحظ ردك كانت الصفحة عندي مفتوحة لفترة طويلة اختي رجاء اعطني مثال من برنامجك عن كيف تريدين الجمع والنتيجة ، حتى نحاول نتبعها ونصل الى الذي تريدين جعفر
    1 point
  25. السلام عليكم من خبرتي هنا ومن اطلاعي على كثير من الاعمال مشكلة تواجهنا نحن المبرمجين حين نريد تطبيق فكرة انه تقدح في رؤوسنا رسمة للطريق (طريقة تنفيذ الفكرة) وهذا القدح لابد وان له اصل وخلفية ثقافية وهو الاطلااع على امثلة مشابهة وغالبا هذه الامثلة لا ترقى الى مرتبة الاتقان والاحتراف ، ومن هنا حين يسلك المبرمج هذه الطرق لا بد يتوه في النهاية وقد يصل الى طريق مسدود . وكان الاولى بنا ولو كنا على درجة جيدة من الاحتراف ان نطرح المسألة قبل البدء من اجل النقاش ومشاركة العقول خبرتها وتجاربها . اختنا الكريمة : توظيف جداول عديدة واستعلامات الحاق ليست طريقة صحيحة تنفيذ فكرتك يجب الا يتعدى جدول الحضور واستعلام واحد فقط فان زاد عن ذلك فهو نقطة ضعف في التصميم
    1 point
  26. استخدم دالة Sumproduct يمكن تفيدك ... يوجد شرح لها وافي في الملف التالي من أعمال أخونا الغالي يحيى حسين SUMPRODUCT.rar
    1 point
  27. وعليكم السلام تم تغيير اعدادات الحقل ID الى السماح بالتكرار ، وتفضل الكود ، والذي يشتغل بعد ان تُدخل قيمة الحقل Type في النموذج: Private Sub Type_AfterUpdate() Me.ID = Nz(DMax("[ID]", "Table1", "[Type]='" & Me.Type & "'"), 0) + 1 End Sub بس ملاحظة ، الموضوع غير متوقف على المادتين اللي ذكرتهم ، بل اذا اضفت اي مادة جديدة ، سوف يكون لها تسلسل مستقل. جعفر 718.db1.accdb.zip
    1 point
  28. السلام عليكم اطلع على الرابط التالي وإن شاء الله يفيدك http://yasserkhalilexcellover.blogspot.com/2016/04/export-each-sheet-to-pdf.html
    1 point
  29. جرب المعادلة بهذا الشكل .. غير النطاق الذي تريد العد على أساسه وشرط العد .. المعادلة يمكن أن تزيد عدد الشروط .. النطاق يليه الشرط ، والنطاق يليه الشرط ، والنطاق يليه الشرط ... كفاية كدا ولا أكتب كمان :::::::: =COUNTIFS($C$2:$C$348,6,$F$2:$F$348,"مسيحية",$G$2:$G$348,"P")
    1 point
  30. وعليكم السلام تو مو ذه ، مو قالو لك اشتغل بالبخور وفي راسي جني او شيخ ، يخبروني باللي ما خبرتني عنه وما اشوفه عندك اختيارين: 1. تصبر عليّ ليلة الجمعة انزل زيراني واعرف منهم ، وارد عليك ، 2. او ترفق لك مرفق جديد فيه المشكلة ، وتشرح لي وين المشكلة ، وكيف تريد الحل جعفر
    1 point
  31. وعليكم السلام احد الطرق: dlookup("[Taslal2]","Nataej_1_Cors2_E", ....هنا يأتي المعيار....) جعفر
    1 point
  32. مافي مشكلة ، طيب اخبرينا كيف تريدينا نشتغل على برنامجك المرفق؟ اعطينا مثال لوسمحتي جعفر
    1 point
  33. بصراحه انا بتعلم كتييييييييييير جدا من المنتدى لغه حوار واحترام رائع ذوق وأدب من الكبير و الصغير بارك الله فى هذه الروح واطلب من الله ان تدوم ابدا
    1 point
  34. السلام عليكم ورحمة الله وبركاته عذرًا كبيرًا لتأخري في الرد عليكما أ. سليم و أ. ياسر لكثرة شغلي وأرجو أن تسامحاني أ. سليم: هذه الطريقة لم تفلح معي، إذ إني أريد تنفيذ أمر لا نسخه، فقد يصلح مع شيء ولا يصلح مع آخر.. وأشكرك على محاولتك وبارك الله فيك. أ. ياسر: لقد شاهدت بالفعل هذا الفيديو وفعّلْتُ المطور داخل الإكسيل لكني لم أفقه فيه شيء.. ما الأدوات المساعدة في هذا المطور كي يتسنى لي التعامل معه بشكل جيد، هذا أمر والأمر الآخر كما أحببتَ_أني آتي لك بشيت أشرح فيه المعطيات والنتائج المتوقعة_قد أدرجتُ بالفعل هذا وشرحت فيه المطلوب .. وشكرًا لكم جميعا على سعة صدركم لي .. اختصارات وأكواد.rar
    1 point
  35. السلام عليكم اخي @Aliko لتطبيق هذه الحماية اعمل الخطوات التالية 1- اوصل الفلاشة التي ستصبح دارة الحماية لبرنامجك 2- افتح النموذج flash سيظهر في النموذج رقم التسلسلي للفلاشة قم بنسخ هذا الرقم 3- افتح النموذج hi في عرض التصميم واذهب الى الحدث عند عداد الوقت وافتحه 4- قم باستبدال رقم الفلاشة القديم بالجديد كما في الصورة 5- ثم انسخ هذا الكود الى نموذج الترحيب الموجود في برنامجك او قم بنقل هذا النموذج الى برنامج واجعله نموذج الترحيب اي الذي يفتح عند فتح البرنامج سيقوم الكود عند فتح البرنامج بالتاكد من اتصال هذه الفلاشة في الكمبيوتر فاذا وجدها اكمل عمل البرنامج واذا لم يجدها يغلق البرنامج طبعا هذا ليس له علاقة بالمستخدمين داخل البرنامج هو في حال تم بيع نسخة من البرنامج للزبون مع الفلاشة لا يمكنه بيع هذه النسخة لشخص اخر دون الرجوع اليك
    1 point
  36. بخصوص استثناء بعض الاعمدة كل ماعليك فعله هو اخفاء الاعمدة التي لاتريدها ان تظهر في اليست اما الطلب الثاني فقد تم تعديل الفورم بحث اصبحت التكست اطول من السابق مع تصغير العناوين UserForm Flexibles.rar
    1 point
  37. تفضل اخي محمد الخازمي UserForm Flexibles 2003 .rar السلام عليكم حبيبي حماده عمر والله يوحشتنا تلك الايام و كل اولائك العضماء الذين مرورو بهذا الصرح وجازاك الله خير على كلماتك الطيبة لك مني فائق الاحترام و التقدير
    1 point
  38. السلام عليكم ورحمه‌ الله وبركاته الطريقة الاولى اعمل تحديد الكل اولا والنتيجة والطريقة الثانية افتح نموذجك في وضع داتاشيت فيو واختر اللون المطلوب والنتيجة مع تقدير
    1 point
  39. if date = #12/06/2016# then DoCmd.RunSQL "DELETE bill.id FROM bill;" end if هذا كود التأكد من تاريخ معين تفضل اخي الكريم مرفق فيه نموذجين 1- flash يعطيك الرقم التسلسلي للفلاشة قم بنسخ الرقم ووضعه في الشرط الموجود في النموذج الثاني 2-hi تستخدم هذا النموذج كنموذج ترحيب في برنامجك يفتح تلقائيا عند تشغيل البرنامج يقوم هو بفتح بمقارنة الرقم التسلسلي للفلاشة فاذا كان صحيحا تم الدخول الى البرنامج او يقوم باغلاق البرنامج قاعدة البيانات1.rar
    1 point
  40. انت عندك اربع اشخاص يعملون معك على البرنامج يجب عليك اعطاء كل واحد منه فلاشة متصلة بالنسخة التي يعمل عليها وتقوم بربط البرنامج بهذه الفلاشة الان كل شخص يملك فلاشة يجب عليه وصل الفلاشة بالحاسوب قبل تشغيل البرنامج عندها سيعمل البرنامج بشكل نظامي وبدون مشاكل لكن في حال عدم وصل الفلاشة او سحبها اثناء العمل فإن البرنامج لن يعمل ابدا وسيتم اغلاق البرنامج اذا كان مفتوحا
    1 point
  41. اخى الحبيب وضح ماذا تقصد بنفس الخليه ثم لكن لاآخر صف يحتوى على بيانات (لان الرابط الذى وضعته هو نفس مرادك - جزاه الله خيرا اخى ياسر على مجهوده ) وارفق مثال وبه بعض البيانات والنواتج المرجوه منه حتى يتثنى لأخوانك مساعدتك بالتوفيق
    1 point
  42. السلام عليكم اولا تم تنفيذ الكود لجميع اوراق الملف مع عدم مسح السابق ولكن لا ادري ........هل هذا ما تريده ؟؟ المرفق 2003 12345.rar
    1 point
  43. أخى أبو أحمد .. جزاك الله عنى خير الجزاء وافادكم الله ... لكن أخى اود أن افهم هذه الاكواد وما هودورها فى عملية الترحيل . LR = ws.Range("a" & Rows.Count).End(xlUp).Row LR2 = ws2.Range("a" & Rows.Count).End(xlUp).Row ws.Range("a2:b" & LR).Copy ws2.Range("a" & LR2 + 1) وجزاك الله عنى خير الجزاء... وبعد ذلك عذرا اود ان أقوم بترحيل بيانات كما فى المرفق ولكنها مشروطة بوجود يبانات بالعمود الذى يليها أعلم اخى ان اتثاقل عليك ولكنى .. اود ان أفهم واكون مثلكم فى VBA ... أخوكم MOH250 ترحيل مشروط.rar
    1 point
  44. السلام عليكم أخى فراولة هذا طلبك من أعمال الأخ الفاضل بن علية طباعة كل الشهادات.rar
    1 point
×
×
  • اضف...

Important Information