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

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

  1. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      3

    • Posts

      8723


  2. Foksh

    Foksh

    أوفيسنا


    • نقاط

      3

    • Posts

      3922


  3. محمد هشام.

    محمد هشام.

    الخبراء


    • نقاط

      3

    • Posts

      1818


  4. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      3

    • Posts

      13188


Popular Content

Showing content with the highest reputation on 05/15/25 in مشاركات

  1. اعتقدنفس هذا DD-JO_2010-1.rar
    1 point
  2. وعليكم السلام ورحمة الله وبركاته .. فليسمح لي أخي @kkhalifa1960 ، لم لا نستخدم الدالة "Transparent" !!!! في حدث عند الرسم ( On Paint ) للجزء ( التفاصيل - Detail ) للنموذج ، نكتب الكود التالي :- If Me.total_out = 0 Then Me.CmdM.Transparent = True Me.CmdL.Transparent = True Me.CmdB.Transparent = True Else Me.CmdM.Transparent = False Me.CmdL.Transparent = False Me.CmdB.Transparent = False End If والنتيجة في الصورة التالية :- مرفق مثال الأستاذ خليفة مشكوراً على طرحه ، مع أن الأحق بإرفاق ملف هو أخونا @jo_2010 ، حتى لا نقع في اختلاف الأفكار والتسميات .... إلخ DD-JO_2010.accdb
    1 point
  3. وعليكم السلام ورحمة الله وبركاته تفضل شيت 2.xlsm
    1 point
  4. مصدر بيانات التقرير هو نفس مصدر بيانات الفورم الفرعي .
    1 point
  5. وعليكم السلام ورحمة الله وبركاته ،، أخي الكريم ، قم بتعديل استعلام النموذج الى الاستعلام التالي :- PARAMETERS [Forms]![Frm_Bons]![cmpagen] Long, [Forms]![Frm_Bons]![cmpkind] Text ( 255 ), [Forms]![Frm_Bons]![fromdate] DateTime, [Forms]![Frm_Bons]![todate] DateTime; SELECT tbl_Bons.Bon_nu, tbl_Bons.BonDate, tbl_Bons.Bon_kind, tbl_Bons.agent_id, tbl_Bons.carNo, tbl_Bons.driver_nm, tbl_Bons.Prod_no, tbl_Bons.Qty, tbl_Bons.sale_price, tbl_Bons.Remark, [sale_price] * [Qty] AS txtall FROM tbl_Bons WHERE (tbl_Bons.agent_id=Forms!frm_Bons!cmpagen Or Forms!Frm_Bons!cmpagen Is Null) And (tbl_Bons.Bon_kind Like "*" & Forms!Frm_Bons!cmpkind & "*" Or Forms!Frm_Bons!cmpkind Is Null) And ((tbl_Bons.BonDate>=Forms!Frm_Bons!fromdate Or Forms!Frm_Bons!fromdate Is Null) And (tbl_Bons.BonDate<=Forms!Frm_Bons!todate Or Forms!Frm_Bons!todate Is Null)); وفي مربعات النص الخاصة بالتواريخ ( من - إلى ) و مربعي التحرير والسرد ( cmpagen و cmpkind ) اجعل لهم الحدث بعد التحديث = Me.Requery أما بخصوص الزر CmdRemoveFilter لأزالة الفلترة ، فقد تم تعديله كالتالي :- Private Sub CmdRemoveFilter_Click() Me.FilterOn = False Me.cmpagen = Null Me.cmpkind = Null Me.fromdate = Null Me.todate = Null Me.Requery End Sub ملفك بعد التعديل :- 10.accdb
    1 point
  6. هذه العبارة ثابتة في جميع ردودك السابقة تم تغيير العبارة كما تعلم ، ولكن يبدوا انك انت الذي بحاجة الى حذف الكاش من رأسك
    1 point
  7. اولا شكرا الف شكر هو كان سوال فقط عادي وقمت باتباع ماقلت انه وظبط الموضوع شكرا جزيلات
    1 point
  8. الحمد لله على انقضاء الحاجة فائدة : يمكن توظيف المتغير هذا .. بحيث يمكن تضمينه قيمة نصية صريحة
    1 point
  9. نساله تعالى ان يعافيه ويذهب عنه السوء انه هو سبحانه الشافي لا اله إلا الله - الشافي - المعافي
    1 point
  10. اخي احمد اولا : لم توفق باختيار عنوان مناسب للموضوع يوافق ما عرضته ثانيا : ومن شرحك .. طريقتك في تصميم مشروعك غير صحيحة الصحيح ان تكون جميع اسماء المعلمين ( ابتدائي / متوسط / ثانوي ) ضمن جدول واحد فقط ، وتعمل حقل يبين مرحلته كذا ومن خلال التصفية في الاستعلام يمكنك حصر معلمي كل مرحلة وعرضهم لوحدهم والتعامل معهم
    1 point
  11. بعد التدقيق في فكرة أستاذي ومعلمي @ابوخليل ، تبين لي ان المتغير لا يتم حجزه بشكل مناسب قبل فتح التقرير ، وهنا خطر لي تعديل بسيط بحيث نعتمد على قيمة CheckBox في النموذج A1 والذي هو مفتاح الربط في فكرتي ، بحيث اذا كان فارغاً يتم تعديل القيمة كما فعل أستاذي في فكرته ، وإلا فيتم عرض النص الأصلي ( بين عرض اسم الزوج أو الزوجة ) جرب تعديل حدث عند التحميل للتقرير بهذا الأسلوب :- Private Sub Report_Load() Me.Rep1.Value = Rept1 Me.Rep2.Value = Rept2 'المعلومات الشخصية Me.Nom.Value = TempVars("Nom") Me.Prenom.Value = TempVars("Prenom") Me.Date_Naiss.Value = TempVars("Date_Naiss") Me.Lieu_Naiss.Value = TempVars("Lieu_Naiss") Me.Nom_Per.Value = TempVars("Nom_Per") Me.Nom_Mer.Value = TempVars("Nom_Mer") Me.CheckBox.Value = TempVars("CheckBox") Me.Prenom1.Value = TempVars("Prenom1") Me.ep = IIf(([CheckBox]) = 0, "أرملة", "حرم") 'الشاهد الاول Me.C1.Value = TempVars("C1") Me.N1.Value = TempVars("N1") Me.d1.Value = TempVars("D1") Me.L1.Value = TempVars("L1") 'الشاهد الثاني Me.C2.Value = TempVars("C2") Me.N2.Value = TempVars("N2") Me.D2.Value = TempVars("D2") Me.L2.Value = TempVars("L2") ''السكن وبلدية الاقامة Me.N4.Value = TempVars("N4") Me.N5.Value = TempVars("N5") If Not IsNull(Forms!a1!CheckBox) Or (Forms!a1!CheckBox) <> "" Then text1 = [Prenom] & " " & [Nom] & " " & [ep] & " " & [Prenom1] Else text1 = [Prenom] End If End Sub
    1 point
  12. اللهم اشفي كل مريض عاجل غير اجل يااااااااااااااااااااااارب
    1 point
  13. بارك الله في الاستاذين حجازي ومحمد هشام وجعله في ميزان اعمالكما وشفى نجل الاستاذ محمد هشام
    1 point
  14. وعليكم السلام ورحمة الله تعالى وبركاته جرب هدا Option Explicit Sub Tartib() Dim WS As Worksheet, lastRow As Long, OnRng As Range Dim i As Long, ColSort As String: ColSort = "Z" Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Set WS = ThisWorkbook.Sheets("Sheet1") lastRow = WS.Cells(WS.Rows.Count, "B").End(xlUp).Row If lastRow < 2 Then GoTo ClearApp For i = 2 To lastRow WS.Cells(i, ColSort).Value = i Next i Set OnRng = WS.Range("A2:D" & lastRow).Resize(, WS.Range(ColSort & "2").Column - 1 + 1) OnRng.Sort Key1:=WS.Range(ColSort & "2"), Order1:=xlAscending, Header:=xlNo OnRng.Sort Key1:=WS.Range("C2"), Order1:=xlDescending, _ Key2:=WS.Range("D2"), Order2:=xlAscending, _ Key3:=WS.Range("B2"), Order3:=xlAscending, Header:=xlNo WS.Range(ColSort & "2:" & ColSort & lastRow).ClearContents ClearApp: Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
    1 point
  15. وعليكم السلام ورحمة الله وبركاته يمكن استخدام اخفاء الصفوف اليك كود اذا نقرت مرتين على الخلية c1 يتم اخفاء الارقام واذا كررت النقر مرتين يظهرها ايداعات.xlsb
    1 point
  16. السلام عليكم ورحمة الله ماهي هذه مؤشرات الترابط؟ لأنها تسبب ثقل في الملف رغم أن البيانات لا تتعدى 10 ألف صف! مع العلم عندي ملف فيه أكثر من 18 ألف صف وليس فيه ثقل مثل مافي هذا الملف؟ طبعاً في الشريط الأسفل عليه إشارة السهم
    1 point
  17. وعليكم السلام ورحمة الله تعالى وبركاته لاظافة صور جديدة او استبدالها يجب عليك اتباع الخطوات التالية 1) اظهار الصور المخفية بواسطة الكود المرفق مع الملف 2) اعادة تسمية الصور على حسب احتياجاتك وقد تم شرح الطريقة في الرابط التالي https://streamable.com/ghw7yy اما بخصوص اخر سؤال المعادلة الموجودة في الخلية F3 =IF(D3="";"";VLOOKUP(D3;range1;3;0)) تقوم فقط بجلب اسم الصورة من شيت 2 العمود D المقابلة لقيمة الخلية D3 ورقة 1 ليس بتحويل الصورة الى نص وفي حدث ورقة 1 الكود التالي يقوم باخفاء جميع الصور والبقاء على الصورة الهدف بشرط قيمة الخلية F3 Private Sub Worksheet_Calculate() Dim oPic As Picture Me.Pictures.Visible = False With Range("F3") For Each oPic In Me.Pictures If oPic.Name = .Text Then oPic.Visible = True oPic.Top = .Top oPic.Left = .Left Exit For End If Next oPic End With End Sub البيانات مع الصورة 2.xls
    1 point
  18. أخي قم بالدخول إلى محرر الاكواد وشغل الكود او أعد ربط الزر بالكود copy ملاحظة في حالة كانت لك رغبة بالاحتفاظ بالبيانات السابقة بمعنى انك تريد ترحيل بيانات جديدة كل مرة في اخر صف فارغ دون حدف البيانات القديمة قم بتعطيل هدا الصف من الكود Range("A2:A200,C2:C200,E2:E200,G2:G200,I2:I200,k2:k200,M2:M200,O2:O200,Q2:Q200,S2:S200").ClearContents واليك كود اخر للترحيل بنفس الطريقة مع نسخ البيانات في اخر صف فارغ من العمود الاول Oracle_Sub Sub CopyDataBlocks() Dim SourceSheet As Worksheet Dim TargetSheet As Worksheet Dim ColHeaders As Range Dim MyDataHeaders As Range Dim DataBlock As Range Dim c As Range Dim Rng As Range Dim i As Integer Set SourceSheet = Sheets("Sheet1") Set TargetSheet = Sheets("Sheet2") With TargetSheet Set ColHeaders = .Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft)) Set Rng = .Cells(.Rows.Count, 1).End(xlUp).Offset(1) End With With SourceSheet Set MyDataHeaders = .Range("A1:U1") Set DataBlock = .Range(.Cells(2, 1), .Cells(.Rows.Count, 2).End(xlUp)) Set Rng = Rng.Resize(DataBlock.Rows.Count, 1) For Each c In MyDataHeaders If Application.WorksheetFunction.CountIf(ColHeaders, c.Value) <> 0 Then i = Application.WorksheetFunction.Match(c.Value, ColHeaders, 0) Rng.Offset(, i - 1).Value = Intersect(DataBlock.EntireRow, c.EntireColumn).Value End If Next c End With End Sub اليك الملف مرة اخرى عليه جميع الاكواد ولك الاختيار Exmple2.xlsm
    1 point
  19. استعمل هذه المعادلة بدل التي وضعتها لتفادي الخطأ في حال تم كتابة نص او اي شيء غير الارقام في العامودين I و J الملف مرفق من جديد marwa_New_2.xlsm
    1 point
  20. في نهاية الكود اضف هذا السطر كما في الصورة بهذه الطريقة يقوم البرنامج بازالة التكرارات في الصفوف اوتوماتيكياً (دوت ان تشغر بذلك)
    1 point
  21. 1- العامود G يحتوي على معادلات لذلك لا يتعبر الكود خلاياه فارغة 2-لا حاجة الى كل هذا الحلقات التكرارية المدوبلة (على كل خلية في كل صف و كل عامود لفحصها اذا كانت فارغة او لا) 3- الكود المطلوب (بشكل أفضل بدون حلقات تكرارية) تم تغيير اسماء الصفحات الى اللغة الاجنبية (لحسن نسخ الكود ولصقه بدون مشاكل اللغة العربية) Sub salim_cod() Dim lrS%, lrM% Dim S As Worksheet Dim M As Worksheet Dim S_rg As Range, Ful_rg As Range Set S = Sheets("Source"): Set M = Sheets("MW") lrS = S.Cells(Rows.Count, 1).End(3).Row If lrS < 6 Then MsgBox "No Data To Transfer": Exit Sub End If S.Range("A6:F" & lrS).Interior.ColorIndex = xlNone On Error Resume Next Set S_rg = S.Range("A6:F" & lrS).SpecialCells(4) If Not S_rg Is Nothing Then S_rg.Interior.ColorIndex = 35 MsgBox "You have Empty Cells": Exit Sub End If On Error GoTo 0 lrM = M.Cells(Rows.Count, 1).End(3).Row + 1 M.Cells(lrM, 1).Resize(lrS - 5, 7).Value = _ S.Range("A6:G" & lrS).Value Set Ful_rg = M.Range("a5").CurrentRegion If Ful_rg.Rows.Count > 1 Then Set Ful_rg = Ful_rg.Offset(1).Resize(Ful_rg.Rows.Count - 1) With Ful_rg .ClearFormats .Borders.LineStyle = 1 .InsertIndent 1 .Font.Bold = True .Font.Size = 14 .Columns(1).NumberFormat = "dd/mm/yyy" End With End If End Sub الملف مرفق Ahma_Halim.xlsm
    1 point
  22. ياريت معالجة امر الكود استاذ ولو في الخاص وشكرا لك
    0 points
×
×
  • اضف...

Important Information