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

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

  1. متقاعد

    متقاعد

    الخبراء


    • نقاط

      4

    • Posts

      583


  2. kanory

    kanory

    الخبراء


    • نقاط

      3

    • Posts

      2,256


  3. عبدالله بشير عبدالله
  4. Moosak

    Moosak

    أوفيسنا


    • نقاط

      2

    • Posts

      1,997


Popular Content

Showing content with the highest reputation on 07 أبر, 2023 in all areas

  1. السلام عليكم لماذا لا يكون زر واحد يضع الدوائر على نصف العام واخر العام نفس الوقت كما الملف المرفق سعد22.xlsm
    3 points
  2. استاتذتنا أبو خليل و متقاعد يارب كل يوم يكون الفطور زين مثل اليوم وتتحفونا بتلك الدرر دوماً كل عام وانتم بخير ورمضان كريم .
    2 points
  3. الطريقة الثانية بدون الحاجة للفلترة ثم الغاء الفلترة للوصول للسجل التالي او السابقة والطريقة بعمل متغير عام في وحدة نمطية فارعة ثم نحمل قيمة المتغير من خلال القائمة SearchList بالامر x = Me.SearchList.Column(1) وفي امر فتح نموذج المبيعات نضع الامر Me.اسم_العميل.SetFocus DoCmd.FindRecord x, acAnywhere, , acSearchAll ولا نحتاج الى اوامر او اكواد اخرى الملف مرفق Database1.accdb
    2 points
  4. الحقيقة ان الطريقة الحالية تلغي الفلترة وتعيدنا للسجل الاول وبالتالي لو قمت بالنقر على امر السابق لن تجد اي سجل والسجل التالي سوف يعود بنتيجة غير صحيحة مثلا لو بحث عن قاسم رقمه 120 ثم نقرت على تحديث سوف يلغي الفلترة ثم يعيدك للسجل الاول مبيعات يومية وسيكون السجل التالي هنا حسن بينما السجل التالي الصحيح لقاسم هو سعيد لذا فمن الافضل ان نحتفظ بالسجل من خلال متغير في اجراء اسميته k ووضعت فيه الامر التالي If Me.FilterOn = True Then Dim x As String x = Me.اسم_العميل Me.Filter = "" Me.اسم_العميل.SetFocus DoCmd.FindRecord x, acAnywhere, , acSearchAll Else End If ثم في حدث للامرين نشير الى الاجراء الفرعي الملف مرفق مع عدم الاقتناع بفكرة الفلترة طالما قد نحتاج لاستعراض السجلات التالية او السابقة وسوف اشرح طريقة اسهل في رد تالي Database110.accdb
    2 points
  5. تفضل اخى الكريم سعد22.xlsm
    2 points
  6. أستاذنا العزيز @ابوخليلهل لك أن تسأل الأخ @حسونة حسين عن إمكانية تحديث قائمة المواضيع حتى لو كان في ملف الأكسل ؟ 🙂
    1 point
  7. ليس هناك ازعاج اخي الكريم ولكن القصد حتى نصل لما تريد لاقصر الطرق .... بارك الله فيك وهذه طريقة اخرى جربها واعلمنا بالنتيجة Function FnSearch(Str As String) As String Dim Arr() As String Dim i As Long Arr = Split(Str) ' """" & txtSearch & """" For i = 0 To UBound(Arr) - 1 If Nz(DLookup("LikeA", "KindX", "LikeA='" & Trim(Arr(i)) & "'"), 0) <> 0 Then FnSearch = DLookup("LikeB", "KindX", "LikeA='" & Trim(Arr(i)) & "'") Exit For ElseIf Nz(DLookup("LikeA", "KindX", "LikeA='" & Trim(Arr(i)) & " " & Trim(Arr(i + 1)) & "'"), 0) <> 0 Then FnSearch = DLookup("LikeB", "KindX", "LikeA='" & Trim(Arr(i)) & " " & Trim(Arr(i + 1)) & "'") Exit For End If Next i End Function Replace&add.mdb
    1 point
  8. السلام عليكم ورحمه الله وبركاته مشاركه مع اخوتى واساتذتى الافاضل @Eng.Qassim و @kanory جزاهم الله عنا كل خير 💐 اتفضل استاذ @محمد احمد لطفى افتح الجدول TableX ستجده كالتالى ثم اغلقه TableX NameX KindX DateX محمد احمد مقاولات 01/03/2023 خالد استيراد 01/03/2023 احمد مخبز 01/03/2023 سمير مقاولات متكاملة استيراد و تصدير ثم اضغط على الزر فالنموذج ثم اغلق النموذج وافتح الجدول ستجده TableX NameX KindX DateX محمد احمد مقاولات عامة 01/03/2023 خالد استيراد وتصدير 01/03/2023 احمد مخبز 01/03/2023 سمير مقاولات عامة وهذا هو الكود Sub ReplaceName() Dim rs As Recordset Dim rs2 As Recordset Set rs = CurrentDb.OpenRecordset("KindX") Set rs2 = CurrentDb.OpenRecordset("TableX", dbOpenDynaset) Dim dic As Scripting.Dictionary Set dic = New Scripting.Dictionary On Error Resume Next rs.MoveLast: rs.MoveFirst For i = 0 To rs.RecordCount - 1 dic.Add rs("LikeB").Value, rs("LikeA").Value rs.MoveNext Next For Each Key In dic.Keys ' Debug.Print "Key: " & Key & " Value: " & dic(Key) rs2.FindFirst "[NameX] Like '*" & dic(Key) & "*' " Do While Not rs2.EOF ' Debug.Print rs2![NameX] If InStr(rs2("NameX"), dic(Key)) Then rs2.Edit rs2("KindX") = Key rs2("NameX") = Left(rs2![NameX], InStr(rs2![NameX], dic(Key)) - 1) rs2.Update End If rs2.MoveNext Loop Next rs.Close rs2.Close Set rs = Nothing Set rs2 = Nothing Set dic = Nothing End Sub بالتوفيق Replace&add_A.mdb
    1 point
  9. السلام عليكم ورحمه الله وبركاته استاذي الفاضل صالح كيف حالك عساك بخير شهر مبارك يالغالي استاذي الفاضل حبيت اشارك لعلا تجد فيه طلبك أنا أتصفح بالموبايل ووجدت هذا الرابط لأحد الزملاء اطلع عليه لعلا يفيدك https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.officena.net/ib/topic/61562-%D8%A7%D8%B3%D8%AA%D8%B1%D8%AC%D8%A7%D8%B9-%D8%A7%D9%84%D8%AC%D8%AF%D8%A7%D9%88%D9%84-%D8%A7%D9%84%D9%85%D8%AD%D8%B0%D9%88%D9%81%D8%A9-%D9%81%D9%89-%D8%A7%D9%83%D8%B3%D8%B3/&ved=2ahUKEwixrP7Tq5j-AhUGiFwKHTf-CjEQFnoECAgQAQ&usg=AOvVaw1fPvAq694F1PZR3QKq45sI
    1 point
  10. ضع في زر التحديث هذا .... Me.OrderBy = "[sifa] ASC" Me.OrderByOn = True DoCmd.Requery
    1 point
  11. شكرا لك أستاذ Lionheart الكود جميل والفكرة ممتازة وفكرة الألوان العشوائية تعطي احساس بالتجديد عندى ملاحظة بسيطة أنه عند التجهيز يتم كتابة الرقم في الخلية C2 قبل كتابته أمام الأفراد والكود لايعمل إلا اذا تم كتابة الرقم بعد الاختيار وسوف اتغلب على هذه الجزئية بوضع استدعاء الكود داخل كود أخر مخصص للطباعة تقبل تحياتي وشكراً لك
    1 point
  12. شوف الحدث المناسب وضع هذين السطرين Me.Filter = "" Me.Requery مثلا تعمل زر وتسميه : تحديث .... وتضع السطرين في حدث النقر
    1 point
  13. وعليكم السلام ورحمة الله تعالى وبركاته Private Sub Sumrng_Click() TextBox1.Value = WorksheetFunction.SUM(sheet1.Range(Range("P7"), Range("P20"))) End Sub test.xlsm
    1 point
  14. طيب اخي الكريم انظر الصور :::::::::::::::: واحدة قبل التحديث في الجدول والثانية بعد تحديث الجدول ومع وجود اسم صالح احمد بدون وظيفة ....... Replace&add.mdb
    1 point
  15. أصلحت لك موضوع التقرير بإنشاء موديول يخزن رقم الـ ID للشخص الحالي في متغير عام ثم يسنده إلى دالة تقوم بفلترة الاستعلام الذي يفتح التقرير : الدالة في الموديول : وبذلك يتم تخزين التقرير الخاص بكل شخص وإرساله إليه ثم حذفه وإرسال التقرير التالي .. وهكذا .. مرسال (2).accdb
    1 point
  16. Insert module and paste the following code Sub Highlight_Names_In_Similar_Groups() Dim groupColors(), ws As Worksheet, sh As Worksheet, colRange As Range, cell As Range, sName As String, lr As Long, i As Long Application.ScreenUpdating = False Set ws = ThisWorkbook.Worksheets(2) Set sh = ThisWorkbook.Worksheets(3) Set colRange = ws.Range("E12:N20") lr = sh.Cells(sh.Rows.Count, 3).End(xlUp).Row groupColors = RandomColors(colRange.Columns.Count, True) sh.Columns("C:F").Interior.Color = xlNone For Each cell In colRange.Cells sName = Trim(cell.Value) If sName <> Empty Then For i = 3 To lr If Trim(sh.Cells(i, 3).Value) = sName And sh.Cells(i, 3).Interior.Color <> xlNone Then sh.Cells(i, 4).Resize(, 3).Interior.Color = groupColors(cell.Column - 4) End If Next i End If Next cell Application.ScreenUpdating = True End Sub Function RandomColors(ByVal numColors As Long, Optional ByVal lightColorsOnly As Boolean = False) Dim isUnique As Boolean, i As Long, j As Long ReDim colors(1 To numColors) For i = 1 To numColors Do If lightColorsOnly Then colors(i) = RGB(Int(Rnd() * 128) + 128, Int(Rnd() * 128) + 128, Int(Rnd() * 128) + 128) Else colors(i) = RGB(Int(Rnd() * 256), Int(Rnd() * 256), Int(Rnd() * 256)) End If isUnique = True For j = 1 To i - 1 If colors(i) = colors(j) Then isUnique = False: Exit For Next j Loop Until isUnique Next i RandomColors = colors End Function Then in worksheet module of the first worksheet add this part at the end of the existing code Next c End If If Target.Address = "$C$2" Then Call Highlight_Names_In_Similar_Groups End Sub
    1 point
  17. تلك هي المشكلة توجد نسخة احتياطية لكن قديمة
    0 points
×
×
  • اضف...

Important Information