اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

  1. محمد طاهر عرفه

    محمد طاهر عرفه

    إدارة الموقع


    • نقاط

      22

    • Posts

      8743


  2. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      11

    • Posts

      3463


  3. Khalid Jnb

    Khalid Jnb

    الخبراء


    • نقاط

      8

    • Posts

      774


  4. kha9009lid

    kha9009lid

    الخبراء


    • نقاط

      5

    • Posts

      1347


Popular Content

Showing content with the highest reputation on 01/10/20 in مشاركات

  1. لان احنا حددنا مربعات النص جرب الكود التالى ان شاء الله يظبط معك Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox and ctl.ControlType = acComboBox Then If ctl.Value <> "" Then ctl = "" End If End If Next ctl جرب ووافنا بالنتيجه بالتوفيق
    5 points
  2. السلام عليكم تفضل اخي ضع هذا الكود في خصائص الحقل - بيانات - قاعدة التحقق من الصحة / حيث يسمح لك بادخال تاريخ اليوم او قبل ذلك فقط ومن ثم ضع الرسالة المناسبة في نص التحقق من الصحة "لقد ادخلت تاريخ لاحق" <=Date() تحياتي
    4 points
  3. السلام عليكم تم عمل المطلوب في الملف المرفق بواسطة المعادلات وجداول مساعدة (ملونة بالأصفر الفاتح وأحد الجداول يحوي معادلات صفيف)... أرجو أن يفي الغرض المطلوب في انتظار من يقوم بالمساعدة بواسطة حل بـ VBA... بن علية حاجي رصد الدرجات.xlsm
    2 points
  4. تم معالجة الامر ملاحظة يجب ترك الصف 2 في الشيت total فارغاً للحفاظ على بنية الجدول دون تدخل خلايا غريبة (بذلك تكون اول خلية بالجدول بعد الرأس هي الخلية A4) Option Explicit Sub get_data_New() Dim SH_from As Worksheet Dim T As Worksheet Dim rg_to_Patse As Range Dim Rt%, MY_max%, Ro%: Ro = 4 Set T = Sheets("Total") Set rg_to_Patse = T.Range("A3").CurrentRegion Rt = rg_to_Patse.Rows.Count If Rt > 1 Then Set rg_to_Patse = rg_to_Patse.Offset(1).Resize(Rt - 1) Else Set rg_to_Patse = T.Range("B4").Resize(, 5) End If rg_to_Patse.Clear For Each SH_from In Sheets If SH_from.Name <> T.Name Then MY_max = Application.Max(SH_from.Range("A:A")) T.Cells(Ro, 2).Resize(MY_max, 5).Value = _ SH_from.Cells(3, 2).Resize(MY_max, 5).Value Ro = Ro + MY_max End If Next SH_from With T.Range("A3").CurrentRegion .Sort key1:=Range("b3"), Header:=1 .Columns(1).Offset(1).Formula = _ "=IF(B4="""","""",MAX($A$3:A3)+1)" .Offset(1).Borders.LineStyle = 1 .Offset(1).InsertIndent 1 .Value = .Value .Font.Bold = True End With End Sub M_data_new.xlsm
    2 points
  5. ومشاركه مع اخى على Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then If ctl.Value <> "" Then ctl = "" End If End If Next ctl تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق
    2 points
  6. اخي العزيز Khalf نحن نتكلم عن برنامج متكامل للرواتب: الجواب - نعم ممكن في حالة عمل حقول محسوبة calculated بالجدول الواحد ( وهي طريقة غير محببة لانستخدمها بالجدول وانما نستخدم استعلام) ما هو الجيد وما هو السيء الحقول المحسوبة ؟ الجيد: أن الحقل المحسوب سيعرض نتيجة الحساب بوضع للقراءة فقط (Read-only)، هذا يعني أن المستخدم لا يمكنه التلاعب بالأرقام الناتجة. السيء: أن الحقل المحسوب لا يمكن أن يتضمن حقولا موجودة في جداول أخرى، هذا يعني أنه في بعض الحالات ستحتاج إلى إنشاء حقولا محسوبة في استعلام وهي دائما تحتاج تحديث
    2 points
  7. فورم اظهار الادخال الجديد للاسم على الليست بوكس بمجرد الحفظ الفيديو
    1 point
  8. بارك الله فيك استاذ جعفر تم حل الموضوع بفكرة أخري جزاك الله خيراً
    1 point
  9. وعليكم السلام ورحمه الله وبركاته اخى الفاضل بمطالعه الموقع قابلنى هذا الموضوع لابو جودى اطلع عليه لعلك تجد به بعض الافكار تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق
    1 point
  10. اخي العزيز Khalf كل ماتفضلت به صحيح / هذه هي مزايا الاكسس تستطيع عمل الكثير وباكثر من مكان. انا رايي ان تصميم قواعد البيانات اكسس يجب ان يكون اساسه صحيحا مثل (اساس البيت) كل ماكان اساسه صحيحا كان بناءة صحيحا وليس العكس. حتى لاتقع بمشاكل التصميم.(افضل مكان لعمل العمليات الحسابية او الدوال هي الاستعلامات) واساس الاكسس هي الجداول ثم الاستعلامات والعلاقات ثم النماذج والتقارير. تحياتي
    1 point
  11. مرحباً أستاذ خالد يمكن ذلك ودون استعلام بجعل العمليات الحسابية في النموذج عن طريق استعلامات مدمجة بالفيجوال بيزيك وعمليات حسابية تعطي قيم لحقل مخفي أو ظاهر بحسب الحاجة. فيكون البرنامج من جدول واحد ونموذج إدخال تتم العمليات به وتنتقل منه إلى الجدول.
    1 point
  12. افاد الله استاذ خالد هذا ما اريد ان اصل اليه
    1 point
  13. السلام عليكم ربما مع هذه المشاركات للخبراء لن يكون لتعليقي محل، ولكن وباختصار: نعم، يمكن عمل البرنامج بجدول واحد.
    1 point
  14. السلام عليكم من خلال تجربتي المتواضعة في برامج الرواتب وعمل برنامج متكامل وخفيف وخالي من المشاكل اود ان اوضح مايلي : 1- عمل جدول رئيسي لبيانات الموظفين ( الاسم , العنوان الوظيفي, وهكذا ......) شرط عدم عمل اي حقل محسوب بالجدول وعمل فهرس بعدم تكرار البيانات للاسم وباقي الحقول تكون مطلوبة . 2- عمل جداول فرعية مثل جدول (الراتب الاسمي , العلاوة , المخصصات وهكذا......) ترتبط بالجدول الرئيسي عن طريق العلاقات بالاستعلام. 3- عمل نموذج رئيسي لادخال البيانات ومصدره الاستعلام. 4- عمل التقارير المختلفة لغرض الطباعة . تحياتي
    1 point
  15. قم بتغيير اسم الشيت مجمل إلى Total ونفذ هذا الكود Option Explicit Sub get_data() Dim SH_from As Worksheet Dim T As Worksheet Dim Rt%, MY_max%, Ro%: Ro = 3 Set T = Sheets("Total") Rt = T.Cells(Rows.Count, 2).End(3).Row If Rt <= 2 Then Rt = 3 With T.Range("B3").Resize(Rt, 5) .ClearContents .Interior.ColorIndex = xlNo End With For Each SH_from In Sheets If SH_from.Name <> T.Name Then MY_max = Application.Max(SH_from.Range("A:A")) T.Cells(Ro, 2).Resize(MY_max, 5).Value = _ SH_from.Cells(3, 2).Resize(MY_max, 5).Value With T.Cells(Ro + MY_max, 3) .Value = SH_from.Name .Offset(, -1).Resize(, 5).Interior.ColorIndex = 6 End With Ro = Ro + MY_max + 1 End If Next SH_from End Sub الملف مرفق M_data.xlsm
    1 point
  16. الفلترة بناء استعلام بمعيار مبني على القائمة المنسدلة comUnits وهذة القائمة تستمد قيمتها من خلال استعلام مبني على الجدول tblUnits فلو كان الجدول يحتوي على 3 وحدات تكون خيارات الفلترة لثلاث وحدات ولو كان الجدول يحتوي على 1000 وحدة تكون خيارات الفلترة 1000 وهكذا تحياتي
    1 point
  17. اضفت وحدات جديدة ولم اواجه اي مشكله ايضا غيرت صيغة ملف اكسيل لان الكود السابق احيانا يرفض الفتح جرب الملف المرفق علما بان الفلترة لا علاقة لها بعدد الوحدات 3 او 100 او 1000 Database3 (2).accdb
    1 point
  18. حسب المطلوب رقم 1 جرب هذا في فورم 3 بالنسبة للمطلوب رقم 3 لا يوجد خلل في الاستعلام في الفورم 2 بعد فتح الفورم تحدد الاسم نوع الاستعلام ( المعتمرين ) ، ( الرحلات ) بعدها اضغط على زر استعلام حتى يتم تنشيط خيارات البحث حدد خيار البحث المطلوب ثم اكتب في التكست بوكس المقابل لنوع البحث تكست بوكس 16 تلاحظ أنه يأتي بالاستعلام برنامج المعتمرين _A4.xlsm
    1 point
  19. اخى الفاضل عزالدين انت طلبت معرفه اللذين لم يسددوا قمنا بعمل استعلام يوضح لك من لم يسددوا ممكن تنشىء نموذج على هذا الاستعلام وتضيف اى بيانات اخرى به وتقوم بتصفيه بناء على اى تاريخ انت تريده هل قمت بتجربه هذه الجزئيه قمت باضافه اسماء وقمت بالضغط عالزر ينقلنى الى هذا الاسم برقمه لااعرف اين المشكله التى تتحدث عنها لعل احد اخواننا او اساتذتنا يوافيك بما تريد بالتوفيق ان شاء الله
    1 point
  20. مشاركه مع اخى واستاذى العزيز @essam rabea بالنسبه للسؤال الاول شو الاستعلام لم يتم تجديد الاشترك وافتحه فى وضع التصميم وشوف فى حقل تم تجديد الاشتراك المعيار 0 بالنسبه للسؤال الثانى انت تقصد انه بيفتح على رقم المشرك لكن حقل الاسم فارغ ام ماذا جرب الان ووافنا بالنتيجه بالتوفيق ان شاء الله GYM.rar
    1 point
  21. وعليكم السلام -تفضل ربط الميزان ببرنامج الكاشير طريقة شرح وبرمجة الميزان الباركود الماستر lp 16 وتوصيله على جهاز الكمبيوتر
    1 point
  22. وعليكم السلام-كلن عليك استخدام خاصية البحث بالمنتدى-تفضل طلب هل من طريقة لعمل زر متحرك مع صفحة
    1 point
  23. السلام عليكم اخي محمد 🙂 صار لي يومين اضرب اخماس في اسداس ، وما عرفت المطلوب رجاء تشرح لي بالتفصيل لو سمحت 🙂 جعفر
    1 point
  24. السلام عليكم ورحمة الله وبركاته زملائي وأخوتي الأفاضل محاولة مني بعمل فورم بحث وإضافة وتعديل في كل أوراق العمل اختيار اسم ورقة العمل عن طريق كمبوبوكس بعد ذلك متاح لك البحث والإضافة في اسم ورقة العمل المختارة كل الليبل التي أمام التكست بوكسات التي يوضع فيها البيانات التي سوف سيتم إضافتها أو ترحيلها تأخذ اسماءها من الصف الخامس من ورقة العمل النشطة في حالة إذا تم فتح الفورم وإليكم الملف فورم بحث وإضافة وتعديل في كل أوراق العمل.xlsm
    1 point
  25. بسم الله الرحمان الرحيم اليوم سأقدم لكم مشروع صغير و هو احتساب الاعمار منها العام و الشهر و اليوم سوف أرفق لكم هذا الملف البسيط مع تحياتي لكم المبرمج : مناد سفيان ............ الجزائر
    1 point
  26. على حسب ما فهمت اخ حمادة انه يريد مثل تلك الايقونة متحركة معه بالشيت . اما ينزل تكون معاه . لعله يرد ان يربطها بفورم او يريد ان يربطها بارتباط تشعيبى ليسهل عليه التنقل بين الصفحات .ميكونش في اسفل الصفحة ومن اجل الانتقال الى صفحة اخرى او ان يقورم بفتح فورم او ان يفعل مديول وايقونته اعلى الشيت يطلع الى ان يصل اليه للضغط عليه ولكن تكون الايقونة متحركة معه اينما يذهب وتكون على يمن او شمال الشاشة هذا ما فهمت وشرحتة لانى اريد نفس الامر ههههههههه وشكرا على الصبر عليا وان كان مرادك غير ذالك استاذ محمد يرجى التوضيح
    1 point
  27. تم إخفاء كافة المشاركات التالية لنشر الموضوع الحوارات التالية بدأت بتعليق بأن الموضوع ليس بجديد ، بينما رد الأخ سعيد بأن هناك إضافة تستجق التبيان و لكن كان الرد فى سياق غير مقبول وفق ما تعودنا عليه فى المنتدى هنا من طريقة حوار. أرجو ملاحظة أن أي تجاوز غير مسموح به فى المنتدى و ان كان هناك اختلاف مع اي تعليق أو عدم رضا عن أي تعليق يمكن التبليغ عن التعليق ، أما الرد بشدة و تحويل الحوار الي تلاسن فسنضطر الى اتخاذ اجراءات مختلقة اذا تكرر ذلك. أبقيت الموضوع الأصلي فقط دون الجوارات التالية و برجاء استكمال الحوار بموضوعية و توضيح عن طريق الشرح المبسط ما هو المكرر و ما هي الاضافة الجديدة تم غلق الموضوع و يرجي عدم الحوار بهذا الموقف فى اية مواضيع عامة أخرى
    1 point
  28. مثال علي اختيار رقم عشوائي مع السماح بالتكرار أو عدم السماح ( لابو حمود ) RANDOM_abuh.rar
    1 point
  29. مثال لاظهار الأذكار بالتتابع المثال للأخ فهد الدوسري AZKAR_FHD.rar
    1 point
  30. أيضا تم اضافة مثال آخر الي نفس الموضوع فى الارشيف http://www.officena.net/ib/index.php?act=S...&st=0#entry6020 و مثال الأخ فهد مشكورا يعتمد علي ال RecordsetClone و المثال الذي أضفته عن طريق دالة Dcount
    1 point
  31. و هذا مثال آخر لمنع الادخال اذا تكررت قيم ثلاثة حقول بالاعتماد علي دالة Dcount لعمل عد لعدد السجلات فى الجدول التي تحقق شرط أن قيمة الثلاثة حقول علي النموذج = القيم فى الجدول و تم أولا حساب الشرط و تسجيله فى متغير T1 لا ستخدامه كشرط فى الدالة بدلا من كتابة جملة الشرط الطويلة فى الدالة مباشرة و دالة الاختبار كما يلي Function checkrecord() checkrecord = 0 Dim c1 As Integer, T1 As String T1 = "(([Name]='" & Trim(Me.TName.Value) & "') and ([Salary]=" & Me.Salary & ") and ([Birthday]=#" & Format(Me.Birthday, "mm/dd/yyyy") & "#))" c1 = DCount("[Name]", "Table1", T1) If c1 > 1 Then MsgBox "Record Exists !", , "www.officena.net" checkrecord = 1 End If End Function و يتم استدعاؤها كالتالي : كما فى المثال x = checkrecord() فاذا أعادت قيمة = 1 فمعني ذلك أن السجل قد تكرر CheckifExistMulti.rar
    1 point
  32. راجع هذا الموضوع http://www.officena.net/ib/index.php?showtopic=1157
    1 point
  33. هل هذا الموضوع من ضمنها شرح دوال أكسس - دوال تجميع المجال http://www.officena.net/ib/index.php?showtopic=152 أيضا الامثلة فى هذا القسم دوال الأكسس http://www.officena.net/ib/index.php?s=&act=SF&f=30
    1 point
  34. اذا أردت نسخ سجل بالكامل فلا أفضل استخدام استدعاء أوامر القوائم و لكن يتم ذلك بال dao أو ال ado هذا مثال لنسخ السجل الموجود فى النموذج الي سجل جديد مع تغيير الترقيم باضافة 1 و هو يحتاج الي اضافة مرجع dao و يتم فيه نسخ السجل فى النموذج الحالي و اضافة سجل و فتح النموذج علي السجل الجديد Private Sub copyRec_Click() Dim MYDB As Database, MYSET1 As Recordset Set MYDB = CurrentDb() Set MYSET1 = MYDB.OpenRecordset("Query-or-Tablename") MYSET1.AddNew Dim n As Long n = DMax("inID", "Query-or-Tablename") + 1 MYSET1![ID] = n MYSET1![Field1] = Me![TextBox1] MYSET1![Field2] = Me![TextBox2] MYSET1![Field3] = Me![TextBox3] MYSET1![Field4] = Me![TextBox4] MYSET1.Update MYSET1.Close Set MYDB = Nothing DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 MsgBox " Copy Record Data Completed into record no. :" & Str(n), 64, "Alert" Dim stLinkCriteria As String stLinkCriteria = "[ID]=" & n DoCmd.OpenForm "Formname", , , stLinkCriteria End Sub
    1 point
  35. السلام عليكم هذا مثال لمن يريد معرفة عدد حروف أي جملة عربية وبالتفصيل قام بتعديل الكود ليصبح بهذا الشكل الذي في المثال أستاذي المبدع أبو هادي وله مني وافر الشكر والعرفان . (( يوجد في المثال نموذجين قبل تعديل الأستاذ أبو هادي وبعد التعديل )) ولكم تحياتي أخوكم : فهد الدوسري A_B_C.zip
    1 point
  36. السلام عليكم شكرا جزيلا أخي فهد على هداياك الجميلة . تحياتي .
    1 point
  37. السلام عليكم نعم أخي ha98 ، هذا الثابت هو المختص بإجبار فتح النموذج على شكل Data Sheet ولو تلحظ مسمى الثابت ac Form D S يدل على معناه حيث الـ D من Data والـ S من Sheet . تحياتي .
    1 point
  38. الدالة نفسها تمكنك من البحث بين قيمتين ، و ذلك بتحديد ما تريد فى الجزء الخاص بالشرط ( الجزء الثالث ) يوجد فى قسم الدوال شرح و أمثلة http://www.officena.net/ib/index.php?s=&act=SF&f=30 و يوجد فى هذا الموضوع تطبيق علي المعيار فى صورة مجال ( بين قيمتين ) بالكود http://www.officena.net/ib/index.php?showtopic=916 و تكون الصورة كالتالي للجزء الخاص بال Criteria بين تاريخين بالكود ( كما فى المثال أعلاه ) mycond = "(([EmpID] = " & Me.Semp & ") And ([date] Between #" & Me.Dfrom & "# And #" & Me.Dto & "#))" و للتطبيق للاستخدام المباشر بدون كود علي بين تاريخين : مثال ل Dcount DCount("[fld]", "Tbl", "[MyDate] Between #" & Format((Me.[From]), "mm/dd/YY") & "# AND #" & Format(( Me.[To]), "mm/dd/YY") & "#") مع ملاحظة أن ال # تستخدم فقط مع التواريخ و مع الارقام لا نضع شيء و مع النصوص نضع ' مثال علي التعامل مع الشرط النصي و الشرط الرقمي : في حالة حقل الشرط رقمي DLookUp("[FieldName]","TableName","[FieldName] = " & [Forms]![MainFormName]![SubFormName]![controlName]) فى حالة حقل الشرط نصي DLookUp("[FieldName]","TableName","[FieldName] = '" & [Forms]![MainFormName]![SubFormName]![controlName] & "'") و يمكنك أيضا بالاضافة الي Between استخدام معاملات And OR فى الجزء الخاص بال Criteria أو الشرط مثل DLookUp("[FieldName]","TableName","[FieldName] = 5 or [FieldName]=7") DLookUp("[FieldName]","TableName","[FieldName] = " & [Forms]![MainFormName]![SubFormName]![controlName] & " or [FieldName] = " & [Forms]![MainFormName]![SubFormName]![controlName2] )
    1 point
  39. ضع فى خانة القيمة الافتراضية لمربع النص d1 = Format(now(); "ddd")
    1 point
  40. موضوع ذو صلة و ان كان لا علاقة له بالسؤال التعرف علي اللغة الحالية و تغييرها و التحكم فيها
    1 point
  41. من خصائص مربع النص تنسيق format اختار Numeral System و اجعلها context للتغير بحسب اللغة أو Hindi او National بحسب الاصدار لديك لتكون عربية دائما
    1 point
  42. طبعا هذا ممكن ،و لكن ... ليس من التطبيق الجيد تخزين ما يمكن استنتاجه فتاريخ اليوم كافي لاستنتاج اسمه فى أي وقت فلا داعي لتخزينه و عموما لتسجيل البيانات المستنتجة فى جدول ، من المفترض أنك تريد تسجيلها كنص ( اسم اليوم ) ففي حدث بعد التحديث لمربع ادخال و تعديل التاريخ ضع الكود التالي Private Sub d1_BeforeUpdate(Cancel As Integer) Me.dayname = Format(Me.d1, "ddd") End Sub علي اساس ان d1 هو مربع ادخال أو تعديل التاريخ و dayname هو المربع المرتبط بالحقل الذي تريد تخزين اسم اليوم فيه كنص
    1 point
  43. أخي العزيز، جرب استخدام دالة () date في القيمة الإفتراضية للعمود بدلا من () time وفي التنسيق أكتب ddd مع تحياتي
    1 point
  44. أيضاً مثال علي ما الرد الاول ( استخدام التنسيق "ddd" ) dayname.rar
    1 point
  45. اخي العزيز توجد هناك قاعدة بيانات جاهزة تاتي مع الاوفيس واسمها northwind (يمكنك البحث عن هذا الاسم باستخدام البحث عن الملفات الموجود في قائمة ابدأ) وستجد في هذة القاعدة استعلام اسمه "Quarterly Orders by Product" و له نفس الفكرة ولكنه يستخدم الربع السنوي بدلا عن الشهر وللحصول على الاشهر يمكنك تعديل الحقل الذي هو عنوان العمود في هذا الاستعلام بان تعدل "q" إلى "mmm" وان تكتب اسم الحقل الخاص بالتاريخ لديك بدلآ عن [orderdate] الموجود في هذا الاستعلام وستحصل في النتيجة على استعلام جدولي يمكنك انشاء تقريرك بناءآ عليه...ارجو ان يكون هذا الرد مفيدآ لك ...مع تحياتي,,,
    1 point
  46. تنسيق مفيد و خاصة للمحاسبين و التنسيق الذي وضعه الأخ شرف كالتالي : لمن لا يريد تنزيل الملف ### ### ### ##0.00;[Red](### ### ### ##0.00)
    1 point
×
×
  • اضف...

Important Information