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

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

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      6

    • Posts

      12,157


  2. abouelhassan

    abouelhassan

    05 عضو ذهبي


    • نقاط

      4

    • Posts

      2,902


  3. kkhalifa1960

    kkhalifa1960

    الخبراء


    • نقاط

      2

    • Posts

      1,688


  4. بلانك

    بلانك

    03 عضو مميز


    • نقاط

      2

    • Posts

      269


Popular Content

Showing content with the highest reputation on 14 فبر, 2024 in all areas

  1. السلام عليكم هذا الجزء في التصميم تم التطرق اليه في هذا المنتدى ومن يبحث يجد الكثير .. علما اني قد استفدت واخذت من تلك المواضيع فما انا الا ناقل .. والعلم تراكمي ينتقل ويتزايد . وحتى يكون هذا الموضوع مرجع مختصر يتم نقله فقط الى برنامجك .. لذا عملت على اعداد مثال صغير وهو عبارة عن جدول ونموذج ووحدة نمطية ويتم من خلاله رصد التالي : - معرف السجل - اسم الحقل - اسم النموذج - القيمة الأساسية ( قبل التعديل ) - القيمة الجديدة (بعد التعديل ) - اسم المستخدم - تاريخ ووقت التعديل مع امكانية التصفية والبحث بين تاريخين -------------------------------------------------------------- كل ما عليك عمله هو : اولا : نقل الكائنات التالية (جدول/نموذج/وحدة نمطية) الى برنامجك : modAudit / frmAudit / tblAudit ثانيا : اي نموذج في مشروعك ترغب في تتبع التعديلات التي تجري عليه .. فقط الصق فيه هذا الكود في حدث قبل التحديث Private Sub Form_BeforeUpdate(Cancel As Integer) Dim x As Integer If Not IsNull(Me!ID) Then x = WriteAudit(Me, Me!ID) End If End Sub ID يمثل الحقل الفريد داخل النموذج هذا كل شيء ... ---------------------------------------------------------------------------------------------------------------------------------------- نأتي للتفاصيل التي استبعدتها وهي محل النقاش لمن اراد المشاركة . وهي ان الوظيفة تخص تتبع الحقول النصية فقط ، واريد ضم مربع التحرير وكما هو ظاهر في المثال المرفق .. قيمة مربع التحرير "رقمية" والمطلوب اظهار القيمة "النصية" الأساسية ( التي تم تغييرها) ، اظهارها في جدول التتبع اما بالنسبة للقيمة الجديدة فلا اشكال فيها انا عالجت المسألة ووصلت الى حل ولكن بطريقة مطولة فنريد الاستفادة من الخبراء الأفاضل حول هذه النقطة و لأخي @Moosak خاصه تعقيبا على تعليقه هنا ------------------------------------------------------------------------------------ وقد اجاب الاستاذ موسى والاستاذ فادي وأجادا بمثالين احترافيين شاملين فجزاهما الله خيرا 1- المرفق Database2 وهو خاص بالحقول النصية 2- المرفق Track Changes - Moosak شامل الحقول النصية ومربعات التحرير 3- المرفق Database5 شامل الحقول النصية ومربعات التحرير بقي الاختيار لك فاختر ما يناسبك . Track Changes - Moosak.accdb Database2.rar Database5.accdb
    1 point
  2. السلام عليكم ورحمة الله وبركاته مبارك عليك اخي الحبيب @محمد احمد لطفى الترقية الى قائمة الخبراء .. تستاهل اكثر زادك الله علما ونفع بك
    1 point
  3. انا فتحت الشيت مش فاهم اى شئ اخى من المكتوب انت تتعامل معى كأنى افهم مطلبك عن طريق توارد الخواطر يجب ان تشرح لى تفصيلى المطلوب
    1 point
  4. أخي الكريم ، سطر واحد غير مكتمل لشرح المطلوب على العموم حسب ما فهمت أنصحك بمتابعة هذا الموضوع للمعلم القدير @ابوخليل
    1 point
  5. تم تغير نسخه الاوفيس وحلت المشكلة شكرا للمساعده foksh
    1 point
  6. جزاك الله خيرا كيفيه استخدام تاريخ في حقل البحث بدلا من النص كيفيه الغاء LIKE عن بعض الحقول
    1 point
  7. استاذ @ازهر عبد العزيز المشكلة بالطابعة .......افصلالطابعة(اقطع عنها الكهرباء) ثم اعد تشغيلها . اذا لم تستجيب أعد تشغيل الكمبيوتر . واذا لم تستجيب بدل الطابعة .
    1 point
  8. ابهار ابداع تألق استاذنا ومعملنا الفاضل / foksh جزاك الله كل خير على الابداع والتألق جعله الله فى ميزان الحسنات
    1 point
  9. كل الاحترام استاذنا الرائع، أعتذر لم انتبه انك أضفت جدول المبيعات، مما يسهل علي انشاء فورم جديد. سأحاول عمل الأمر من ناحيتي بجهدي الشخصي، في حال كان هناك مشكلة، سأعود لطرح المشكلة بموضوع جديد. كل الاحترام
    1 point
  10. جزاك الله كل الخير أ/ خليفة
    1 point
  11. تفضل أستاذ @Zooro1 طلبك حسب ما فهمت ووافني بالرد . واذا كان هذا طلبك اضغط على أفضل اجابة . New Microsoft Access Database.rar
    1 point
  12. 1 point
  13. 1 point
  14. ما شاء الله 🌹 كالعادة ابداع 🌹 دائما ما تبهرنا باعمالك 🌹🌹🌹
    1 point
  15. وعليكم السلام ورحمة الله تعالى وبركاته جرب الحلول التالية ربما هدا ما تقصده Sub test1() Dim crit$, crit2$, F() As String Dim rng As Range, lr As Long Dim WS As Worksheet: Set WS = Sheets("Sheet1") Dim desWS As Worksheet: Set desWS = Sheets("Sheet2") ReDim F(1 To 4) 'Bill Type Code ******************************************Action Type & Terminal Type F(1) = "240": F(2) = "2400": F(3) = "26408": F(4) = "293": crit = "DEB": crit2 = "INT" Application.ScreenUpdating = False If WS.AutoFilterMode Then WS.AutoFilterMode = False With WS.Range("A2:K2") .AutoFilter 3, F, xlFilterValues: .AutoFilter 4, crit, xlFilterValues: .AutoFilter 11, crit2, xlFilterValues lr = WS.Columns("A:A").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row Set rng = WS.Range("A3:K" & lr).SpecialCells(xlCellTypeVisible) If rng.Cells.Count > 1 Then desWS.Range("A2:F" & Rows.Count).Clear With rng Cpt = Split("A,B,D,J,G,K", ",") ' الاعمدة المرحلة Col = Split("A,B,C,D,E,F", ",") 'الاعمدة المرحل اليها For i = LBound(Cpt) To UBound(Cpt) WS.Range(Cpt(i) & "2:" & Cpt(i) & lr).Copy desWS.Range(Col(i) & "1") Next i End With End If .AutoFilter Application.ScreenUpdating = True End With End Sub ''''''''''''''''''''''''''''''''''''''' Sub test2() Dim a, i&, k&, F$, S$: F = "DEB": S = "INT" Dim WS As Worksheet: Set WS = Sheets("Sheet1") Dim desWS As Worksheet: Set desWS = Sheets("Sheet2") Application.ScreenUpdating = False desWS.Range("A2:F" & Rows.Count).Clear a = WS.Range("A2:K" & WS.[A65000].End(xlUp).Row) For i = 1 To UBound(a) 'Action Type & Terminal Type If a(i, 4) = F And a(i, 11) = S Then ''Bill Type Code If a(i, 3) = "240" Or a(i, 3) = "2400" Or a(i, 3) = "26408" Or a(i, 3) = "293" Then ' الاعمدة المرحلة desWS.Cells(k + 2, 1).Resize(, 6) = Application.IfError(Application.Index(a, i, Array(1, 2, 4, 10, 7, 11)), "") k = k + 1 End If End If Next Application.ScreenUpdating = True End Sub ملف عمليات V1.xlsm
    1 point
  16. اليك الطريقه اخى الكريم جرب لإضافة مربع بحث للبحث عن الأصناف في ورقة العمل، يمكنك اتباع الخطوات التالية: 1. **إنشاء مربع حوار بحث:** - قم بالنقر على "مطور" في شريط الأدوات، ثم اختر "إدراج" واختر "زر التحكم". - ارسم مربعًا على الورقة ليكون زر البحث. - انقر بزر الماوس الأيمن على الزر الذي أنشأته واختر "تعيين معرف" لإعطاء الزر اسمًا مثل "btnSearch". 2. **إضافة الكود VBA للبحث:** - انقر بزر الماوس الأيمن على ورقة العمل واختر "عرض الكود". - استخدم الكود التالي لإنشاء نافذة حوار للبحث عن الأصناف Sub SearchItem() Dim wsInventory As Worksheet Dim rngItems As Range, cell As Range Dim searchItem As String ' تحديد ورقة العمل للبحث فيها Set wsInventory = ThisWorkbook.Sheets("اسم_ورقة_العمل") ' مربع حوار البحث searchItem = InputBox("ادخل اسم الصنف للبحث عنه:") ' البحث عن الصنف وعرض النتائج If searchItem <> "" Then Set rngItems = wsInventory.Range("E:E").Find(What:=searchItem, LookIn:=xlValues, LookAt:=xlWhole) If Not rngItems Is Nothing Then MsgBox "كود الصنف: " & rngItems.Offset(0, -1).Value & vbNewLine & "اسم الصنف: " & rngItems.Value, vbInformation, "نتائج البحث" Else MsgBox "لم يتم العثور على الصنف.", vbExclamation, "نتائج البحث" End If End If End Sub يرجى استبدال "اسم_ورقة_العمل" بالاسم الفعلي لورقة العمل التي تريد البحث فيها.
    1 point
  17. تفضل 1. افتح Excel وانقر على الخلية التي تريد فيها عرض الرقم العمودي. 2. استخدم المعادلة التالية: =TEXTJOIN(CHAR(10),TRUE,MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)) حيث A1 هو موقع الخلية التي تحتوي على الرقم الذي تريد تحويله إلى شكل عمودي. تأكد من تغيير A1 بموقع الخلية الصحيحة إذا كان الرقم في موقع مختلف. 3. اضغط على Enter. هذا سيعرض الرقم بشكل عمودي في الخلية المستهدفة.
    1 point
  18. 1 point
  19. نعم في حدث بعد التحديث اضف امر تفريغ ليصبح هكذا : text1=text1 & " " & text2 text2=Null
    1 point
  20. أسعد الله صباحك عمي @ابوخليل 🌹 إبدعت وأجملت 👍🏻🙂 .. حاولت بالطرق السهلة أن أحصل على القيمة السابقة للعمود الثاني ولكن لم أفلح .. ولم أجد خاصية مدمجة تدعم ذلك .. لذلك حسب ما أرى أنه يمكن التغلب على هذه القضية بأحد حلين .. الأول : الطريقة التحايلية بحيث يتم تخزين القيمة السابقة في متغير ثم يتم استدعائها عند الحاجة .. الثاني وهذا ما عملت به في برنامجي سابقا : أن يكون تسجيل التغييرات على مرحلتين .. الأولى : عند إضافة سجل جديد حينها ستتخزن القيمة كإدخال جديد . الثانية : عند تغيير القيمة لاحقا أو عند التعديل ستتخزن القيمة الجديدة فقط ولكن حينها يمكن الرجوع للقيمة القديمة من خلال سجل التعديلات السابقة 🙂 وهذا شكل سجل التعديلات من برنامجي : ستلاحظ أن هناك تعديلات مكتوب عليها (تم إضافة: ...) وأخرى مكتوب عليه ( قام بتعديل : من ... إلى: ..... ) وهذا ينطبق على مربعات النص والقوائم المنسدلة .. إلا أن القوائم المنسدلة متعددة الأعمدة تكتب ( تم التعديل إلى : ... ) فقط هكذا :
    1 point
  21. بعد اذن الاستاذ محمد هاشم :// صًلح اسم شيت الوارد باعادة التسمية .... من شيت داتا حاول تعمل كوبي لاسم الوارد وتضعة بدلا من الاسم القديم لان في اختلاف في الاسم رغم انة صحيح في الكتابة وافدني
    1 point
  22. ما شاء الله عليك .. مقاتل .. لم تيأس لك من اسمك نصيب ابشر .. الحل _ان شاء الله_ يسير فقط امهلني .. ارتب لك الحل ..
    1 point
  23. الشكر لله ثم لاخواننا واساتذتنا الذين تعلمنا ونتعلم منهم كل يوم جزاهم الله خيرا بالتوفيق استاذ عبدالجيد
    1 point
×
×
  • اضف...

Important Information