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

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

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

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

    إدارة الموقع


    • نقاط

      22

    • Posts

      8742


  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 all areas

  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. تفضل اخي الكريم Dim varFilter As Variant varFilter = 0 With Me.Form If Not IsNull(varFilter) Then .DataEntry = False .Filter = varFilter .FilterOn = True Else .FilterOn = False End If .Requery End With بالتوفيق
    1 point
  12. مرحباً أستاذ خالد يمكن ذلك ودون استعلام بجعل العمليات الحسابية في النموذج عن طريق استعلامات مدمجة بالفيجوال بيزيك وعمليات حسابية تعطي قيم لحقل مخفي أو ظاهر بحسب الحاجة. فيكون البرنامج من جدول واحد ونموذج إدخال تتم العمليات به وتنتقل منه إلى الجدول.
    1 point
  13. افاد الله استاذ خالد هذا ما اريد ان اصل اليه
    1 point
  14. السلام عليكم ربما مع هذه المشاركات للخبراء لن يكون لتعليقي محل، ولكن وباختصار: نعم، يمكن عمل البرنامج بجدول واحد.
    1 point
  15. السلام عليكم من خلال تجربتي المتواضعة في برامج الرواتب وعمل برنامج متكامل وخفيف وخالي من المشاكل اود ان اوضح مايلي : 1- عمل جدول رئيسي لبيانات الموظفين ( الاسم , العنوان الوظيفي, وهكذا ......) شرط عدم عمل اي حقل محسوب بالجدول وعمل فهرس بعدم تكرار البيانات للاسم وباقي الحقول تكون مطلوبة . 2- عمل جداول فرعية مثل جدول (الراتب الاسمي , العلاوة , المخصصات وهكذا......) ترتبط بالجدول الرئيسي عن طريق العلاقات بالاستعلام. 3- عمل نموذج رئيسي لادخال البيانات ومصدره الاستعلام. 4- عمل التقارير المختلفة لغرض الطباعة . تحياتي
    1 point
  16. قم بتغيير اسم الشيت مجمل إلى 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
  17. الفلترة بناء استعلام بمعيار مبني على القائمة المنسدلة comUnits وهذة القائمة تستمد قيمتها من خلال استعلام مبني على الجدول tblUnits فلو كان الجدول يحتوي على 3 وحدات تكون خيارات الفلترة لثلاث وحدات ولو كان الجدول يحتوي على 1000 وحدة تكون خيارات الفلترة 1000 وهكذا تحياتي
    1 point
  18. اضفت وحدات جديدة ولم اواجه اي مشكله ايضا غيرت صيغة ملف اكسيل لان الكود السابق احيانا يرفض الفتح جرب الملف المرفق علما بان الفلترة لا علاقة لها بعدد الوحدات 3 او 100 او 1000 Database3 (2).accdb
    1 point
  19. حسب المطلوب رقم 1 جرب هذا في فورم 3 بالنسبة للمطلوب رقم 3 لا يوجد خلل في الاستعلام في الفورم 2 بعد فتح الفورم تحدد الاسم نوع الاستعلام ( المعتمرين ) ، ( الرحلات ) بعدها اضغط على زر استعلام حتى يتم تنشيط خيارات البحث حدد خيار البحث المطلوب ثم اكتب في التكست بوكس المقابل لنوع البحث تكست بوكس 16 تلاحظ أنه يأتي بالاستعلام برنامج المعتمرين _A4.xlsm
    1 point
  20. مشاركه مع اخى واستاذى العزيز @essam rabea بالنسبه للسؤال الاول شو الاستعلام لم يتم تجديد الاشترك وافتحه فى وضع التصميم وشوف فى حقل تم تجديد الاشتراك المعيار 0 بالنسبه للسؤال الثانى انت تقصد انه بيفتح على رقم المشرك لكن حقل الاسم فارغ ام ماذا جرب الان ووافنا بالنتيجه بالتوفيق ان شاء الله GYM.rar
    1 point
  21. وعليكم السلام -تفضل ربط الميزان ببرنامج الكاشير طريقة شرح وبرمجة الميزان الباركود الماستر lp 16 وتوصيله على جهاز الكمبيوتر
    1 point
  22. السلام عليكم اخي محمد 🙂 صار لي يومين اضرب اخماس في اسداس ، وما عرفت المطلوب رجاء تشرح لي بالتفصيل لو سمحت 🙂 جعفر
    1 point
  23. السلام عليكم ورحمة الله وبركاته زملائي وأخوتي الأفاضل محاولة مني بعمل فورم بحث وإضافة وتعديل في كل أوراق العمل اختيار اسم ورقة العمل عن طريق كمبوبوكس بعد ذلك متاح لك البحث والإضافة في اسم ورقة العمل المختارة كل الليبل التي أمام التكست بوكسات التي يوضع فيها البيانات التي سوف سيتم إضافتها أو ترحيلها تأخذ اسماءها من الصف الخامس من ورقة العمل النشطة في حالة إذا تم فتح الفورم وإليكم الملف فورم بحث وإضافة وتعديل في كل أوراق العمل.xlsm
    1 point
  24. بسم الله الرحمان الرحيم اليوم سأقدم لكم مشروع صغير و هو احتساب الاعمار منها العام و الشهر و اليوم سوف أرفق لكم هذا الملف البسيط مع تحياتي لكم المبرمج : مناد سفيان ............ الجزائر
    1 point
  25. على حسب ما فهمت اخ حمادة انه يريد مثل تلك الايقونة متحركة معه بالشيت . اما ينزل تكون معاه . لعله يرد ان يربطها بفورم او يريد ان يربطها بارتباط تشعيبى ليسهل عليه التنقل بين الصفحات .ميكونش في اسفل الصفحة ومن اجل الانتقال الى صفحة اخرى او ان يقورم بفتح فورم او ان يفعل مديول وايقونته اعلى الشيت يطلع الى ان يصل اليه للضغط عليه ولكن تكون الايقونة متحركة معه اينما يذهب وتكون على يمن او شمال الشاشة هذا ما فهمت وشرحتة لانى اريد نفس الامر ههههههههه وشكرا على الصبر عليا وان كان مرادك غير ذالك استاذ محمد يرجى التوضيح
    1 point
  26. السلام عليكم أخي jewel An يرجى مراجعة التوجيهات أولاً فيما يخص تعريب الاسم ثم هناك أحرف عربية دون نقط في برنامج الوورد من إدراج ..رمز ...تجد الحروف التي تريدها لتضعها ضمن النص المطلوب كتابته. أو قم بالبحث ..عن خطوط عربية...Arabic Fonts تقبل تحياتي.
    1 point
  27. مثال لاظهار الأذكار بالتتابع المثال للأخ فهد الدوسري AZKAR_FHD.rar
    1 point
  28. أيضا تم اضافة مثال آخر الي نفس الموضوع فى الارشيف http://www.officena.net/ib/index.php?act=S...&st=0#entry6020 و مثال الأخ فهد مشكورا يعتمد علي ال RecordsetClone و المثال الذي أضفته عن طريق دالة Dcount
    1 point
  29. و هذا مثال آخر لمنع الادخال اذا تكررت قيم ثلاثة حقول بالاعتماد علي دالة 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
  30. راجع هذا الموضوع http://www.officena.net/ib/index.php?showtopic=1157
    1 point
  31. مرفق مثال لأحد الأخوة (للأسف لا أذكر الاسم ) لاختبار وجود الاسم مسبقا ، و السماح بتسجيله من عدمه جرب أي اسم ممن فى الجدول مثل عمر مثلا ستظهر الرسال لتخيرك بالتسجيل ام لا ، مع وضع أرقام السجلات التي بها هذا الاسم و يمكنك تكرار التجربة بنفس الاسم يعد ضغط زر سجل جديد checkifExists.rar
    1 point
  32. هل هذا الموضوع من ضمنها شرح دوال أكسس - دوال تجميع المجال http://www.officena.net/ib/index.php?showtopic=152 أيضا الامثلة فى هذا القسم دوال الأكسس http://www.officena.net/ib/index.php?s=&act=SF&f=30
    1 point
  33. اذا أردت نسخ سجل بالكامل فلا أفضل استخدام استدعاء أوامر القوائم و لكن يتم ذلك بال 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
  34. السلام عليكم هذا مثال لمن يريد معرفة عدد حروف أي جملة عربية وبالتفصيل قام بتعديل الكود ليصبح بهذا الشكل الذي في المثال أستاذي المبدع أبو هادي وله مني وافر الشكر والعرفان . (( يوجد في المثال نموذجين قبل تعديل الأستاذ أبو هادي وبعد التعديل )) ولكم تحياتي أخوكم : فهد الدوسري A_B_C.zip
    1 point
  35. من وضع تصميم الاستعلام فى حقل المعايير فى الاستعلام نستخدم المعالج لاختيار مربع النص من علي النموذج الذي يحوي حقل المعرف للسجل ( الايقون الذي يشبه العصا السحرية ) أو نكتبه مباشرة فى المعيار [Forms]![Form1]![StudentID] حيث Form1هو اسم النموذج و StudentIDهو اسم مربع النص علي النموذج و نفس الوضع بالنسبة لباقي الشروط و بالنسبة لقيمة الدرجة يمكنك استخدام علامة أكبر من أو = >=[Forms]![Form1]![grade]
    1 point
  36. السلام عليكم نعم أخي ha98 ، هذا الثابت هو المختص بإجبار فتح النموذج على شكل Data Sheet ولو تلحظ مسمى الثابت ac Form D S يدل على معناه حيث الـ D من Data والـ S من Sheet . تحياتي .
    1 point
  37. السلام عليكم بعد إذن أخي محمد جرب هذا الكود : DoCmd.OpenForm "Form1", acFormDS تحياتي .
    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. بالكود التالي يمكن تبديل النموذج الفرعي Me.SubForm.SourceObject = "Subform1" حيث SubForm هو اسم كائن انوذج الفرعي وSubform1 هو اسم النموذج الفرعي المراد ادراجه بدل الموجود مرفق مثال للتبديل بين نموذجين فرعيين بالكود ChangeSubForm.rar
    1 point
  47. تنسيق مفيد و خاصة للمحاسبين و التنسيق الذي وضعه الأخ شرف كالتالي : لمن لا يريد تنزيل الملف ### ### ### ##0.00;[Red](### ### ### ##0.00)
    1 point
  48. للحصول علي كل من الرقم العشري و الرقم الصحيح فى خانة مستقلة يمكن عمل ذلك بخطوتين 1- الحصول علي الرقم الصحيح =+INT(C5) 2- الحصول علي ناتج القسمة عليه =+MOD(C5;C6) او علي خطوة واحدة بدمج المعادلتين =+MOD(C5;+INT(C5)) Mod.zip
    1 point
×
×
  • اضف...

Important Information